Skip to content

djc/instant-acme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

37566b0 · Mar 28, 2025
Mar 7, 2025
Mar 18, 2025
Mar 28, 2025
Mar 28, 2025
Jan 28, 2025
Mar 18, 2025
May 12, 2022
Mar 28, 2025
Feb 22, 2025
Feb 21, 2025

Repository files navigation

instant-acme: async, pure-Rust ACME client

Documentation Crates.io Build status License: Apache 2.0

instant-acme is an async, pure-Rust ACME (RFC 8555) client.

instant-acme is used in production at Instant Domain Search to help us provision TLS certificates within seconds for our customers. instant-acme relies on Tokio and rustls to implement the RFC 8555 specification.

Features

  • Store/recover your account credentials by serializing/deserializing
  • Fully async implementation with tracing support
  • Support for processing multiple orders concurrently
  • Support for external account binding
  • Support for certificate revocation
  • Support for the ACME renewal information (ARI) extension
  • Support for the profiles extension
  • Uses hyper with rustls and Tokio for HTTP requests
  • Uses ring or aws-lc-rs for ECDSA signing
  • Minimum supported Rust version (MSRV): 1.70

Cargo features

  • hyper-rustls (default): use a hyper client with rustls
  • aws-lc-rs (default): use the aws-lc-rs crate as the crypto backend
  • ring: use the ring crate as the crypto backend
  • fips: enable the aws-lc-rs crate's FIPS-compliant mode
  • x509-parser: enable extracting CertificateIdentifier values for ARI from certificates
  • time: enable fetching RenewalInfo for a CertificateIdentifier

If both ring and aws-lc-rs are enabled, aws-lc-rs will be used.

Limitations

  • Only supports P-256 ECDSA account keys for now

Getting started

See the examples directory for an example of how to use instant-acme.