5 releases

0.2.2 Feb 4, 2024
0.2.1 Feb 4, 2024
0.1.2 Feb 25, 2023

#1154 in Web programming


Used in 2 crates (via kvarn-extensions)

Apache-2.0

39KB
806 lines

small-acme: small, pure-Rust ACME client

Documentation Crates.io Build status License: Apache 2.0

This is a fork from instant-acme without async or hyper, to provide a slim, rustls based solution.

small-acme is a small, pure-Rust ACME (RFC 8555) client.

small-acme is used in production at my websites to help me provision and renew TLS certificates without any intervention. small-acme relies on ureq and rustls to implement the RFC 8555 specification.

Features

  • Store/recover your account credentials by serializing/deserializing
  • Simple blocking support (which can be used in tokio)
  • Support for processing multiple orders concurrently
  • Uses ureq with rustls for HTTP requests
  • Uses ring for ECDSA signing
  • Minimum supported Rust version: 1.64

Limitations

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

Getting started

See the examples directory for examples of how to use small-acme.

Dependencies

~11–19MB
~357K SLoC