网络诊断工具

CAA 查询

哪些 CA 可以签发证书

什么是 CAA 记录?

CAA(证书颁发机构授权,Certification Authority Authorization)记录让一个域名声明哪些证书颁发机构可以为它颁发证书。CA/浏览器论坛要求各 CA 遵守这些记录,因此它们降低了误颁发的风险——即某个 CA 错误地为你的域名颁发证书。CAA 是为你的 TLS 证书提供的一道简单而强大的护栏。

CAA 记录如何工作

CAA 记录以域名指明一个被允许的证书颁发机构。在颁发之前,合规的 CA 会检查你域名的 CAA 记录;如果记录存在且没有一条列出该 CA,它就必须拒绝。该记录有三部分:标志位、标签和值。常见标签有 issue(授权某 CA 颁发标准证书)、issuewild(专门控制通配符证书),以及 iodef(一个 URL 或 mailto,供 CA 报告策略违规)。例如,issue "letsencrypt.org" 仅允许 Let's Encrypt 颁发。

如何解读你的 CAA 查询结果

IPeek 列出域名上的各条 CAA 记录,每条带其标签和值。读取 issue 标签以查看哪些 CA 被授权——像 "letsencrypt.org" 或 "digicert.com" 这样的值指明被许可的机构。issuewild 标签限制谁可以颁发通配符证书。issue 值为 ";"(分号)表示根本不授权任何 CA。如果域名没有 CAA 记录,任何公共 CA 都可颁发,这是宽松的默认。请检查所列 CA 是否与你实际用于证书的提供商一致。

为什么 CAA 记录能提升证书安全

没有 CAA 时,数十家公共证书颁发机构中的任何一家都能为你的域名颁发证书,因此单个被攻破或被欺骗的 CA 就足以让攻击者获得有效证书。CAA 把这个攻击面收窄到只剩你指名的 CA。由于 CA/浏览器论坛强制要求 CA 在颁发前检查 CAA,这层保护在全行业范围内得到执行。添加 iodef 标签后,被授权的 CA 可在有人试图违反策略时通知你,从而对有人试图获取本不该获取的证书提供预警。

常见问题

如果一个域名没有 CAA 记录会怎样?

没有 CAA 记录时,任何公开受信任的证书颁发机构都可以为该域名颁发证书——这是宽松的默认。添加 CAA 记录会将颁发限制为只剩你所列的 CA。如果你在意哪些机构能为你的域名签发证书,请发布 CAA 记录;否则颁发对所有合规 CA 保持开放。

issue、issuewild 和 iodef 标签是什么?

这是三个标准的 CAA 标签。issue 授权某个指名的 CA 颁发常规证书,issuewild 专门控制通配符证书的颁发,iodef 给出一个 URL 或 mailto 地址,供 CA 报告试图违反策略的行为。同时使用 issue 和 iodef,既能限制谁可为你的域名签发证书,又能在发生违规时提醒你。

证书颁发机构必须遵守 CAA 记录吗?

必须。根据 CA/浏览器论坛规则,公开受信任的 CA 被要求在颁发前检查域名的 CAA 记录,若记录未授权它们则必须拒绝。这使 CAA 成为一项可强制执行的控制而非建议。它无法阻止已经颁发的证书,但能阻止合规机构的新误颁发。

我如何允许不止一家证书颁发机构?

为你想许可的每家机构发布一条单独的 CAA issue 记录。例如,一条带 issue "letsencrypt.org"、另一条带 issue "digicert.com",即可同时授权两者。CA 会检查是否有任一记录指名了它们,因此多条 issue 记录只是扩大被允许机构的集合,同时仍排除其他所有人。

CAA 记录能单独控制通配符证书吗?

可以,这正是 issuewild 标签的用途。issuewild 管辖谁可以颁发通配符证书(如 *.example.com),就通配符而言覆盖普通的 issue 标签。你可以允许某 CA 颁发常规证书却限制或禁止通配符,或反之,只需恰当地组合 issue 和 issuewild 记录。

相关工具

Deutsch | English | Español | Français | Italiano | Português | Русский | Українська | 日本語 | 简体中文 | 한국어