TLS check
@@domain@@
- Result
- @@result@@
- Reason
- @@reason@@
- Domain (RDAP)
- @@registration@@
A failed check says nothing about the certificate. Nothing here counts as expired.
Free tool
See which certificate authorities a domain’s CAA records allow, where they come from, and whether the CA behind its certificate may renew it. Free, no account.
@@label@@ @@label@@ @@label@@ @@label@@
TLS check
@@domain@@
A failed check says nothing about the certificate. Nothing here counts as expired.
CAA check
@@domain@@
@@stub@@
CAA check
@@domain@@
@@stub@@
CAA check
@@domain@@
@@stub@@
CAA check
@@domain@@
@@stub@@
Your browser didn’t let this page copy. Select the text and copy it yourself.
| Tag | Value |
|---|
| Name | Answer |
|---|
| CA | Issue | Wildcard |
|---|
Check the certificate for @@domain@@ Fix “CAA record prevents issuance”
issue names a CA that may issue certificates,
issuewild one that may issue wildcards, and iodef where a CA may report a refused request. A value of
; allows nobody.
RFC 8659, section 3 sets the order. For shop.eu.example.com,
a CA asks for the CAA records of shop.eu.example.com, then eu.example.com, then example.com,
then com, and stops at the first name that has any. Those records decide; the names above don’t matter. If no name has
any, every CA may issue.
Each lookup follows CNAMEs, as any DNS lookup does. When www.github.com is a CNAME to github.com, the answer
for www.github.com is github.com’s CAA records:
dig CAA www.github.com +noall +answer www.github.com. 695 IN CNAME github.com.
github.com. 1829 IN CAA 0 issue "sectigo.com"
github.com. 1829 IN CAA 0 issuewild "digicert.com"
github.com. 1829 IN CAA 0 issuewild "letsencrypt.org"
github.com. 1829 IN CAA 0 issuewild "sectigo.com"
github.com. 1829 IN CAA 0 issue "digicert.com"
github.com. 1829 IN CAA 0 issue "globalsign.com"
github.com. 1829 IN CAA 0 issue "letsencrypt.org" Captured on October 24, 2026 with DiG 9.10.6. So whoever runs a CNAME’s target, often your host or CDN, decides which CAs may issue for your name.
Each CA documents the name its records need. A record with any of a CA’s names allows it; the first is the usual one.
| Certificate authority | Record to add | Source |
|---|---|---|
| Let’s Encrypt | 0 issue "letsencrypt.org" | Let’s Encrypt’s CAA page |
| Google Trust Services | 0 issue "pki.goog" | Google Trust Services’s CAA page |
| ZeroSSL | 0 issue "sectigo.com" | ZeroSSL’s CAA page |
| Sectigo | 0 issue "sectigo.com" | Sectigo’s CAA page |
| DigiCert | 0 issue "digicert.com" | DigiCert’s CAA page |
| Amazon | 0 issue "amazon.com" | Amazon’s CAA page |
| GlobalSign | 0 issue "globalsign.com" | GlobalSign’s CAA page |
| Microsoft | 0 issue "microsoft.com" | Microsoft’s CAA page |
| Apple | 0 issue "pki.apple.com" | Apple’s CAA page |
| GoDaddy | 0 issue "godaddy.com" | GoDaddy’s CAA page |
| HARICA | 0 issue "harica.gr" | HARICA’s CAA page |
| Telekom Security | 0 issue "telesec.de" | Telekom Security’s CAA page |
| Certainly | 0 issue "certainly.com" | Certainly’s CAA page |
| SSL.com | 0 issue "ssl.com" | SSL.com’s CAA page |
A record that doesn’t name your CA blocks it. A lookup that fails, with a SERVFAIL, a refusal or no answer, blocks nothing: it means nobody could read the records. Let’s Encrypt treats it as a reason to stop anyway, since “there’s no way to tell whether we are allowed to issue” (its CAA page), so the certificate still doesn’t renew. The fix is different, though: not a CAA record, but your DNS. Let’s Encrypt says a SERVFAIL “most often” means a DNSSEC failure; other causes are name servers that answer CAA queries wrongly and firewalls that drop them. The result says which you have.
Something else? Send us a note, right from the page.
A DNS record that names the certificate authorities allowed to issue certificates for a domain (RFC 8659). With none, any publicly trusted CA may issue. With one, a CA it doesn’t name must refuse, which at Let’s Encrypt reads “CAA record for example.com prevents issuance”.
No. Without one, any CA may issue for the domain, and most domains work that way. Add one to rule the others out, and then list every CA you use, including the ones your host or CDN uses for you.
Because CAs do. If a name has no CAA records, the records of its parent apply, then the parent’s parent, up to the top-level domain. One record at example.com covers www.example.com and every other name below it that has none of its own.
A CA follows it, like any DNS lookup: if www.example.com is a CNAME to a host’s name, the host’s CAA records apply to www.example.com. If the target has none, the climb goes on from example.com, the original name’s parent, not the target’s.
No. A SERVFAIL or a timeout means the lookup failed, so nobody can tell which records apply. Let’s Encrypt still refuses to issue while it lasts, but the fix is in your DNS (often DNSSEC, or name servers that mishandle CAA queries), not in a CAA record.
Add 0 issue "letsencrypt.org" at the name where your CAA records are, beside the records for your other CAs. Records add up, so you don’t have to remove anything.
For wildcard certificates, check for issuewild records: when there are any, only the CAs they name may issue wildcards, so add 0 issuewild "letsencrypt.org" too.
Yes, with no account. It shares the limit of the other checks here, about 20 a minute from one address.
Expiry Watch checks the domain every day and emails you if the certificate’s renewal looks late, or before the certificate or the registration runs out.