CA/B 论坛投票 · Ballot 187

Ballot 187:所有 CA 必须检查 CAA 记录

最后核实

详细信息

投票
Ballot 187
标题
Make CAA Checking Mandatory
状态
通过
日期
2017-03-08
通过
生效
BR 版本
1.4.3
官方页面
cabforum.org

关键日期

  1. CA 必须检查 CAA 记录,未获授权时拒绝签发

CAA 记录之所以有用,全靠 Ballot 187。从 2017-09-08 起,每家公开受信任的 CA 在签发证书前都必须查询域名的 CAA 记录,记录不授权就必须拒绝,所以域名所有者可以把签发权限限定在自己实际使用的 CA 上。

改了什么

Ballot 187 把 CAA 检查从可选改成了强制。CAA 早在 2013 年 1 月就由 RFC 6844 定义(现已被 RFC 8659 取代),但检查与否全凭 CA 自愿,这让它几乎没用:只有所有 CA 都遵守,记录才能起到保护作用。按投票的原话,目的是让 CA 在签发所有证书时(少数特殊情况除外)都强制检查 CAA,并在 CAA 记录不允许时阻止签发。CA 还必须在 CP/CPS 中写明自己的 CAA 政策和识别的域名。提案人是 Mozilla 的 Gervase Markham,DigiCert 和 Google 附议。

生效日期

投票于 2017-03-08 通过,参与投票的 CA 94% 赞成、浏览器 100% 赞成。CAA 检查从 2017-09-08 起强制执行。

影响谁

域名所有者多了一种免费手段,可以限定哪些 CA 能为自己签发证书。但发布了 CAA 就要及时维护:如果 CAA 记录里没有你当前使用的 CA,签发和续期都会失败。国内常见的情况是换了证书品牌(比如从某家付费 CA 换到 Let's Encrypt),却忘了改 DNSPod 或阿里云 DNS 里的 CAA 记录。

该怎么做

发布列出所用 CA 的 CAA 记录,例如 example.com. CAA 0 issue "letsencrypt.org";用通配符证书的还要加 issuewild。可以用 CAA 检查工具核对,或用 CAA 生成器生成记录。SC-098v2 将从 2027 年起增加按账户和验证方法的限制。

资料来源

  1. Ballot 187 – Make CAA Checking Mandatory(cabforum.org)
  2. TLS 基线要求 §1.2.1、§4.2.2.1(GitHub cabforum/servercert)
  3. RFC 8659: DNS Certification Authority Authorization (CAA) Resource Record