Configure

CAA record generator

Choose which certificate authorities may issue for your domain and get CAA records ready for your DNS provider.

Runs in your browser Everything you enter is processed locally with JavaScript and is never uploaded to ssl.sh.

@ = the domain itself; or a subdomain label such as www.
CAs allowed to issue
RFC 8657: only this ACME account may get certificates.

Last verified

The CAA generator writes DNS records that tell certificate authorities which of them may issue certificates for your domain. Tick the CAs you use, decide how wildcard certificates are handled, and copy the result in the format of your DNS provider. The tool runs in your browser.

How to use it

  1. Enter the domain and the host record (@ for the domain itself, or a subdomain label).
  2. Tick the CAs that may issue, and add any other CA identifier in the text box.
  3. Choose the wildcard policy: same as above, forbid wildcards, or allow only specific CAs.
  4. Optionally add an iodef address (mailto: or https:) and a Let's Encrypt accounturi.
  5. Copy the BIND lines, or the Cloudflare, Alibaba Cloud or DNSPod values, into your DNS.

Example output:

example.com.    3600    IN  CAA 0 issue "letsencrypt.org"
example.com.    3600    IN  CAA 0 issuewild ";"
example.com.    3600    IN  CAA 0 iodef "mailto:security@example.com"

How the rules combine

  • issue lists CAs for all certificates. Several issue records mean any of those CAs may issue.
  • issuewild, if present, replaces issue for wildcard certificates. issuewild ";" forbids wildcards entirely.
  • With no CAA records at all, any CA may issue. A record on example.com also covers subdomains that have no records of their own.

Before you publish

  1. Find all certificates for the domain with CT search and note every issuing CA, including those used by your CDN.
  2. Publish the records, wait for the TTL, then check them with the CAA checker.
  3. If a renewal fails with a CAA error, see CAA record prevents issuance.

FAQ

Which CA identifier should I use?

The one your CA documents. Reseller brands use the identifier of the CA that actually issues: for example PositiveSSL certificates are issued by Sectigo (sectigo.com), and RapidSSL and GeoTrust by DigiCert (digicert.com). Check the issuer of your current certificate with the certificate decoder.

I use Cloudflare. Do I need to add Cloudflare's CAs?

Cloudflare's documentation says that when you add CAA records, it automatically adds records for the CAs it uses for Universal SSL, so its edge certificates keep renewing. Add your own CAs for certificates you request yourself.

What does accounturi do?

It limits issuance to one ACME account at the CA (RFC 8657). Even if someone else passes domain validation, they cannot get a certificate from another account. Find your Let's Encrypt account URL in your ACME client's account files.

Can CAA break my renewals?

Yes, if you forget a CA you still use. Before publishing, list every certificate for the domain (including those from your CDN or hosting provider) and include all their CAs.

Sources

  1. RFC 8659: DNS Certification Authority Authorization (CAA)
  2. RFC 8657: CAA accounturi and validationmethods
  3. Let's Encrypt: CAA
  4. Cloudflare: CAA records