Certificate Security

Let's Encrypt Using ACME CAA Account Binding

Restrict Let's Encrypt certificate issuance to an authorized ACME account using CAA accounturi.

The Automatic Certificate Management Environment (ACME) protocol automates the process of issuing, renewing, and revoking TLS certificates.

1

Enabling ACME CAA Account and Method Binding

Certification Authority Authorization (CAA), specified by RFC 8659, allows domain owners to use DNS records to restrict which Certificate Authorities are permitted to issue certificates for a domain.

Let's Encrypt has supported CAA for many years, and CAA processing is required by the CA/Browser Forum Baseline Requirements for publicly trusted Certificate Authorities.

Account Binding and Validation Method Binding are extensions to CAA specified by RFC 8657.

Validation Method Binding

Subscribers can restrict which domain-control validation methods may be used, such as DNS-01, HTTP-01, or TLS-ALPN-01, by specifying them with the validationmethods parameter in a CAA record.

ACME Account Binding

Subscribers can also restrict issuance to a specific ACME account by including the account's unique URL in the accounturi parameter of the CAA record.

Why this matters: the domain can authorize Let's Encrypt as a CA while still restricting issuance to a specific ACME account.

See the RFC specifications above for the exact syntax and processing requirements for CAA records.

Let's Encrypt has supported these features in its ACME infrastructure. If unexpected certificate issuance failures occur, verify the domain's CAA records and the configured ACME account URI.

2

CAA Record for charlotte.edu

The following example demonstrates the CAA policy used for charlotte.edu.

External CAA validation: caatest.co.uk/charlotte.edu

DNS CAA Records
0 issue "letsencrypt.org; accounturi=https://acme-v02.api.letsencrypt.org/acme/acct/1726001367"
0 issue "amazon.com"
0 issue "godaddy.com"
0 issue "digicert.com"
128 iodef "mailto:hostmaster@uncc.edu"
0 issue "sectigo.com"
Key configuration: Let's Encrypt certificate issuance is permitted only when the request originates from the authorized ACME account identified by the configured accounturi.
3

Find Your Let's Encrypt Account URI

Certbot can display information about the ACME account currently registered on the server.

Command
$ sudo certbot show_account
Example Output
Saving debug log to /var/log/letsencrypt/letsencrypt.log

Account details for server:
https://acme-v02.api.letsencrypt.org/directory

Account URL:
https://acme-v02.api.letsencrypt.org/acme/acct/1726001367

Email contact:
someuser@charlotte.edu

The value following Account URL is the value used for the CAA accounturi parameter.

4

Certificate Issued Using the Authorized Account

The site acme-lecaa.charlotte.edu demonstrates certificate issuance through the authorized Let's Encrypt ACME account.

Hostname acme-lecaa.charlotte.edu
Certificate Authority Let's Encrypt
Common Name / SAN acme-lecaa.charlotte.edu
Public Key Algorithm id-ecPublicKey

Issue / Expiration Dates

notBefore=May 17 16:55:28 2024 GMT
notAfter=Aug 15 16:55:27 2024 GMT

Serial Number

03:b0:fd:36:69:4f:57:64:aa:eb:ef:2d:23:28:51:b1:91:86

Intermediate Certificate

issuer=C=US, O=Let's Encrypt, CN=R3
5

What Is ACME CAA?

ACME CAA adds another level of authorization to a standard CAA policy. Instead of specifying only which Certificate Authority can issue a certificate, the domain owner can also specify the individual ACME account that is authorized to request the certificate.

Example
example.com. IN CAA 0 issue "letsencrypt.org; accounturi=https://some/lets-encrypt/account-id"

This strengthens certificate issuance controls because authorization is tied both to the selected Certificate Authority and to a designated ACME account.

Even if another party were able to satisfy an ACME domain-validation challenge, the Certificate Authority would still need to evaluate the domain's CAA policy before issuing the certificate.

In short: ordinary CAA answers "Which CA may issue?" while ACME account binding can additionally answer "Which account at that CA may issue?"
6

References & Resources

Live ACME CAA Example

View the Charlotte ACME CAA test site and inspect the certificate issued through the authorized account.

Visit acme-lecaa.charlotte.edu