]> git.proxmox.com Git - proxmox-acme-rs.git/blob - src/lib.rs
add top level doc
[proxmox-acme-rs.git] / src / lib.rs
1 //! ACME protocol helper.
2 //!
3 //! This is supposed to implement the low level parts of the ACME protocol, providing an [`Account`]
4 //! and some other helper types which allow interacting with an ACME server by implementing methods
5 //! which create [`Request`]s the user can then combine with a nonce and send to the the ACME
6 //! server using whatever http client they choose.
7 //!
8 //! This is a rather low level crate, and while it provides an optional synchronous client using
9 //! curl (for simplicity), users should have basic understanding of the ACME API in order to
10 //! implement a client using this.
11 //!
12 //! The [`Account`] helper supports RSA and ECC keys and provides most of the API methods.
13
14 mod b64u;
15 mod json;
16 mod jws;
17 mod key;
18 mod request;
19
20 pub mod account;
21 pub mod authorization;
22 pub mod directory;
23 pub mod error;
24 pub mod order;
25 pub mod util;
26
27 pub use account::Account;
28 pub use authorization::{Authorization, Challenge};
29 pub use directory::Directory;
30 pub use error::Error;
31 pub use order::{NewOrder, Order};
32 pub use request::{ErrorResponse, Request};
33
34 /// Header name for nonces.
35 pub const REPLAY_NONCE: &str = "Replay-Nonce";
36
37 /// Header name for locations.
38 pub const LOCATION: &str = "Location";
39
40 #[cfg(feature = "client")]
41 pub mod client;
42 #[cfg(feature = "client")]
43 pub use client::Client;