Skip to main content

Module acme

Module acme 

Source
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:

  1. Account registration — create an ACME account with the CA
  2. Order creation — request a certificate for one or more domains
  3. Authorization — prove control over the requested domains
  4. Challenge fulfillment — HTTP-01 or DNS-01 validation
  5. 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§

AcmeAccount
ACME account resource (RFC 8555 §7.1.2).
AcmeAuthorization
ACME authorization resource.
AcmeChallenge
ACME challenge resource (RFC 8555 §7.1.5).
AcmeClient
ACME protocol client for automated certificate management.
AcmeConfig
ACME client configuration.
AcmeDirectory
ACME directory resource (RFC 8555 §7.1.1).
AcmeDirectoryMeta
AcmeIdentifier
Identifier in an ACME order.
AcmeOrder
ACME order resource (RFC 8555 §7.1.3).
CertificateRecord
Tracks certificate expiry and manages renewal scheduling.
CertificateTracker
In-memory tracker for certificate lifecycle management.
Http01ChallengeStore
Tracks pending ACME challenges for HTTP-01 validation.

Enums§

AccountStatus
ACME account status.
AuthorizationStatus
ACME authorization status (RFC 8555 §7.1.4).
ChallengeStatus
ACME challenge status.
ChallengeType
ACME challenge types.
OrderStatus
ACME order status (RFC 8555 §7.1.3).