Expand description
ACME (Automatic Certificate Management Environment) protocol — RFC 8555.
Provides automated X.509 certificate issuance and lifecycle management. Supports HTTP-01 and DNS-01 challenge types for domain validation.
§Architecture
The module implements the client side of the ACME protocol:
- Account registration — create an ACME account with the CA
- Order creation — request a certificate for one or more domains
- Authorization — prove control over the requested domains
- Challenge fulfillment — HTTP-01 or DNS-01 validation
- Finalization — submit CSR and receive the signed certificate
§Example
use auth_framework::protocols::acme::{AcmeClient, AcmeConfig};
let config = AcmeConfig {
directory_url: "https://acme-v02.api.letsencrypt.org/directory".to_string(),
..Default::default()
};
let client = AcmeClient::new(config).await?;
let order = client.create_order(&["example.com"]).await?;Structs§
- Acme
Account - ACME account resource (RFC 8555 §7.1.2).
- Acme
Authorization - ACME authorization resource.
- Acme
Challenge - ACME challenge resource (RFC 8555 §7.1.5).
- Acme
Client - ACME protocol client for automated certificate management.
- Acme
Config - ACME client configuration.
- Acme
Directory - ACME directory resource (RFC 8555 §7.1.1).
- Acme
Directory Meta - Acme
Identifier - Identifier in an ACME order.
- Acme
Order - ACME order resource (RFC 8555 §7.1.3).
- Certificate
Record - Tracks certificate expiry and manages renewal scheduling.
- Certificate
Tracker - In-memory tracker for certificate lifecycle management.
- Http01
Challenge Store - Tracks pending ACME challenges for HTTP-01 validation.
Enums§
- Account
Status - ACME account status.
- Authorization
Status - ACME authorization status (RFC 8555 §7.1.4).
- Challenge
Status - ACME challenge status.
- Challenge
Type - ACME challenge types.
- Order
Status - ACME order status (RFC 8555 §7.1.3).