🔐 CAA 记录
CAA(Certification Authority Authorization)是一种通过 DNS 声明哪些证书颁发机构被授权颁发 SSL/TLS 证书的机制。有助于降低误颁发的风险。显示 issue、issuewild、iodef 三种标签。
完全免费
无需注册
服务器处理
无日志 / 数据库
限速
5 种语言
深色模式
📖 本诊断能告诉你什么
CAA 记录用 DNS 声明「只有这些证书颁发机构可以为本域名签发证书」。根据 CA/Browser Forum 的 Baseline Requirements,CA 在签发前必须查询 CAA。本诊断会读取该记录,以及可能被继承的父域 CAA。但请注意,它无法吊销已经签发的证书,误签发的检测由 CT 日志负责。
| 检查项 | 含义 | 未通过时的处理 |
|---|---|---|
| 没有 CAA 记录 | 没有它并不算错误,但含义是「全世界任何 CA 都可以签发」。即使证书来自域名管理者从未打算使用的 CA,机制上也不会拦截。反过来说,只写一行 CAA 就能收窄可签发的 CA。 | 请准确写出所用 CA 的标识符,形如 example.com. IN CAA 0 issue "letsencrypt.org"。标识符写错会导致下次续期悄然失败,证书随之过期。常见值有 letsencrypt.org / digicert.com / sectigo.com / pki.goog / amazon.com,请务必对照各 CA 的官方文档确认。 |
| 未指定 issuewild | 当没有 issuewild 时,issue 的内容同样适用于通配符证书,也就是说你在 issue 中允许的 CA 也能签发 *.example.com。通配符证书一旦泄露一张,所有子域都会被冒充,若不需要就值得显式禁止。 |
若不使用通配符,请写 example.com. IN CAA 0 issuewild ";"。单个分号表示「不允许任何 CA」。若只允许特定 CA,则写成 0 issuewild "digicert.com"。 |
| 父域的 CAA 正在生效 | CAA 查询会在所查名称上没有记录时逐级向父级回溯。若 shop.example.com 没有 CAA,则适用 example.com 的记录。正是这种继承,导致「子域想用别的 CA 却始终签发不了」的典型卡点。 |
若要在子域使用不同的 CA,请在该子域自身放置 CAA 记录——只要子级有任意一条记录,就不会再查父级。当签发失败并提示 CAA 阻止时,首先应怀疑这种继承。另外要注意,若该名称是 CNAME,CAA 会在 CNAME 指向的目标上求值。 |
CAA 的内容本身以明文经 DNS 分发,因此能伪造 DNS 的攻击者同样能伪造 CAA。要使其成为有效防线,请与 DNSSEC 配合使用。此外,CAA 是「阻止签发」的机制,而非「察觉误签发」的机制。若想掌握以你的域名实际签发了哪些证书,订阅 Certificate Transparency 日志(监控 crt.sh,或使用 Cert Spotter 之类的通知服务)是唯一可靠的办法。