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.
- What is the SLO/SLA (Service Level Objective/Service Level Agreement) of the CA?
- Does the CA provide user support?
- Can the CA issue wildcard certificates? (they have drawbacks!)
- Can the CA issue multi-domain certificates? (they have drawbacks!)
- Can the CA issue certificates for internationalized domain names?
- Can the CA issue certificates for IP addresses?
- What rate limits does the CA enforce?
- What challenge types does the CA support?
- Does the CA support ARI (ACME Renewal Information)?
- Does the CA require EAB (External Account Binding)? If yes, is it a problem for you?
- What clients (browsers, command-line utilities, operating systems, embedded systems, programming languages, etc.), and which versions, trust the certificates issued by the CA?
- What is the security level and size of the CA’s certificate chains?
- What key types, sizes, and algorithms does the CA support?
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
- Website
- Integration guide
- ACME directory URL:
https://dv.acme-v02.api.pki.goog/directory
- Recognized CAA identities:
pki.goog
- Rate limits
Noteworthy characteristics
- Unlimited certificates, for free
- Supports wildcard, multi-domain, and IP address certificates
- Supports internationalized domain name certificates
- Widely trusted certificate chains (it’s the same trust anchors as the ones
used by
google.com
) - Requires EAB (External Account Binding) with a GCP (Google Cloud Platform) account/project (see integration guide)
- Supports ARI (ACME Renewal Information)
- Supports the dns-account-01 challenge type
Let's Encrypt
- Website
- Getting started guide and integration guide
- ACME directory URL:
https://acme-v02.api.letsencrypt.org/directory
- Recognized CAA identities:
letsencrypt.org
- Rate limits
Noteworthy characteristics
- Unlimited certificates, for free
- Provides user support with the help of the community
- Supports wildcard, multi-domain, and IP address certificates
- Supports internationalized domain name certificates
- Doesn’t require EAB (External Account Binding)
- Supports ARI (ACME Renewal Information)
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
- Unlimited certificates, for free
- Free plan only supports 1 domain name per certificate and no wildcard nor IP address certificates (source)
- Provides a management console for keeping track of issued certificates
- Requires EAB (External Account Binding) with a ZeroSSL account (see integration guide)
- Supports ARI (ACME Renewal Information)
Buypass
- Website
- Integration guide
- ACME directory URL:
https://api.buypass.com/acme/directory
- Recognized CAA identities:
buypass.com
- Rate limits
Noteworthy characteristics
- Enforces strict limitations on the number of active certificate (source)
- Provides user support with the help of the community
- Supports multi-domain certificates
- Doesn’t support wildcard nor IP address certificates (source)
- Only supports http-01 and dns-01 challenge types (source)
- Doesn’t require EAB (External Account Binding)
- Supports ARI (ACME Renewal Information)
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
- Certificates can only include one domain, plus optionally the
www.
subdomain (source) - Doesn’t support wildcard nor IP address certificates (source)
- Only supports http-01 and dns-01 challenge types (source)
- Requires EAB (External Account Binding) with an SSL.com account (see integration guide)
- Doesn’t support ARI (ACME Renewal Information)
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?