Getting Started with ACME

Getting Started with ACME #

To use ACME to automatically manage your certificates, you need to choose a client and a CA (Certificate Authority). Your choice will depend on your constraints and requirements. This page provides questions to ask yourself to aid your selection.

Before going any further, remember that the best way to manage certificates is to have someone else do it for you (if your setup allows it).

When implementing ACME, follow the guidance from the Let’s Encrypt integration guide. Most of their recommendations aren’t specific to Let’s Encrypt. They apply to all ACME integrations.

Free Publicly Trusted ACME CAs #

It is recommended to use (or to be ready to use) more than one CA to mitigate the impact of CA outages and forced certificate revocations caused by compliance violations (which happen, even to the most rigorous CAs).

Depending on your needs, here are questions you may ask yourself to aid your selection. The answer to some of these questions may change over time and some answers may not be easily found online.

Once you’ve selected the CAs you want to use, make sure to set appropriate CAA records to allow them to issue certificates for your domains.

Google Trust Services

Noteworthy characteristics

Let's Encrypt

Noteworthy characteristics

ZeroSSL
  • Website
  • Integration guide
  • ACME directory URL: https://acme.zerossl.com/v2/DV90
  • Recognized CAA identities: sectigo.com, trust-provider.com, usertrust.com, comodoca.com, comodo.com, entrust.net, affirmtrust.com
  • Rate limits are not documented

Noteworthy characteristics

Buypass

Noteworthy characteristics

SSL.com
  • Website
  • Integration guide
  • ACME directory URL: https://acme.ssl.com/sslcom-dv-ecc
  • Recognized CAA identities: ssl.com
  • Rate limits are not documented

Noteworthy characteristics

ACME Clients #

Refer to https://letsencrypt.org/docs/client-options/ and https://acmeclients.com/ to find the client that best fits your needs.

Here are questions you may ask yourself to aid your selection. The answer to some of these questions may change over time and some answers may not be easily found online.

  • Is the client supported on your operating system?
  • Is the client integrated with your DNS/hosting provider? (to automatically solve ACME challenges)
  • Does the client support all challenge types you plan to use?
  • Does the client support EAB (External Account Binding)?
  • Does the client support ARI (ACME Renewal Information)?
  • Is the client popular/actively maintained?
acmeprotocol.dev is a side project from Fabien Hochstrasser. The opinions expressed on this website are my own and do not reflect the views of my current or former employers.