16 unstable releases (5 breaking)

0.7.1 Jul 17, 2024
0.6.1 Jul 1, 2024
0.4.3 Feb 5, 2024
0.4.1 Oct 30, 2023
0.1.0 May 12, 2022

#1 in #acme

Download history 6564/week @ 2024-04-04 5864/week @ 2024-04-11 6419/week @ 2024-04-18 5252/week @ 2024-04-25 5426/week @ 2024-05-02 5493/week @ 2024-05-09 5794/week @ 2024-05-16 6145/week @ 2024-05-23 7231/week @ 2024-05-30 6820/week @ 2024-06-06 6272/week @ 2024-06-13 5859/week @ 2024-06-20 6067/week @ 2024-06-27 7080/week @ 2024-07-04 6521/week @ 2024-07-11 4515/week @ 2024-07-18

25,226 downloads per month
Used in 6 crates

Apache-2.0

55KB
1K SLoC

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 Domains 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
  • Uses hyper with rustls and Tokio for HTTP requests
  • Uses ring or aws-lc-rs for ECDSA signing
  • Minimum supported Rust version: 1.63

Cargo features

  • hyper-rustls (default): use a hyper client with rustls
  • ring (default): use the ring crate as the crypto backend
  • aws-lc-rs: use the aws-lc-rs crate as the crypto backend
  • fips: enable the aws-lc-rs crate's FIPS-compliant mode

If both ring and aws-lc-rs are enabled, which backend is used depends on the fips feature. If fips is enabled, aws-lc-rs is used; otherwise, ring is used.

Limitations

  • Only tested with DNS challenges against Let's Encrypt (staging and production) and ZeroSSL (production) so far
  • Only supports ECDSA keys for now

Getting started

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

Dependencies

~15–39MB
~862K SLoC