proxmox/proxmox-acme/src/lib.rs
Wolfgang Bumiller a1b59c8a23 move to proxmox-acme
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-12-04 11:41:59 +01:00

62 lines
1.5 KiB
Rust

//! ACME protocol helper.
//!
//! This is supposed to implement the low level parts of the ACME protocol, providing an [`Account`]
//! and some other helper types which allow interacting with an ACME server by implementing methods
//! which create [`Request`]s the user can then combine with a nonce and send to the the ACME
//! server using whatever http client they choose.
//!
//! This is a rather low level crate, and while it provides an optional synchronous client using
//! curl (for simplicity), users should have basic understanding of the ACME API in order to
//! implement a client using this.
//!
//! The [`Account`] helper supports RSA and ECC keys and provides most of the API methods.
#![deny(missing_docs)]
mod b64u;
mod eab;
mod json;
mod jws;
mod key;
mod request;
pub mod account;
pub mod authorization;
pub mod directory;
pub mod error;
pub mod order;
pub mod util;
#[doc(inline)]
pub use account::Account;
#[doc(inline)]
pub use authorization::{Authorization, Challenge};
#[doc(inline)]
pub use directory::Directory;
#[doc(inline)]
pub use error::Error;
#[doc(inline)]
pub use order::Order;
#[doc(inline)]
pub use request::Request;
// we don't inline these:
pub use order::NewOrder;
pub use request::ErrorResponse;
/// Header name for nonces.
pub const REPLAY_NONCE: &str = "Replay-Nonce";
/// Header name for locations.
pub const LOCATION: &str = "Location";
#[cfg(feature = "client")]
pub mod client;
#[cfg(feature = "client")]
pub use client::Client;