KNOWLEDGE ARTICLE
CAA 是什么?
证书颁发机构授权记录
限制哪些证书颁发机构可以为域名签发证书。
核心解释
CAA 如何限制证书签发范围
CAA(Certification Authority Authorization)是 DNS 记录,允许域名所有者声明哪些证书颁发机构可以为该域签发证书。公共 CA 在签发前需要检查适用的 CAA 策略;如果自身没有获得授权,应停止签发或按规范处理异常。
记录中的 issue 用于普通证书,issuewild 可单独控制通配符证书,iodef 可以提供策略违规报告地址。CAA 减少错误签发的可选范围,但不决定浏览器是否信任已经存在的证书,也不负责自动撤销异常证书。
继承、别名和多 CA 环境如何计算策略
- 查询从目标域名开始,如果当前名称没有 CAA,解析方会按规范向上查找父域,因此主域策略可能约束子域。
- CNAME 与 DNAME 等别名会影响检查位置,使用托管平台时应确认平台要求的 CA 是否在最终适用策略中获得授权。
- 多个 issue 记录可以同时授权多家 CA;空 issue 值可表达不授权相应类别签发,但语法需要准确。
- 切换 CDN、证书服务或自动化平台前,应先更新 CAA,再触发新证书签发,避免续期任务在到期前突然失败。
CAA 与证书透明度各自解决什么问题
CAA 是签发前约束,告诉 CA 哪些机构获得授权;证书透明度是签发后的公开可观察机制,帮助域名所有者发现证书事件。两者配合可以缩小授权面并提高异常签发的发现能力。
CAA 不能阻止已入侵的授权 CA 账户、错误的 DNS 控制或私有 CA 行为,也不会保护网站私钥。实际证书安全还需要自动续期、私钥保护、CT 监控和及时撤销。
实际应用与信息解读
明确取得 CAA 时,可以展示授权 CA、通配符策略和报告地址,并与当前证书颁发者核对。当前颁发者不在表面记录中时,不应立即判断异常,还需要检查父域继承、别名链和 CA 的授权标识。
没有 CAA 是协议允许的默认状态,通常意味着未通过该记录限制公共 CA 范围。查询不完整时应显示未知;确认不存在时可描述为暂未配置签发限制,而不是直接判定网站不安全。
重点关注
常见问题
没有 CAA 时任何 CA 都会自动签发证书吗?
不会自动签发,但域名没有通过 CAA 预先限制可申请的公共 CA。证书申请仍需完成相应的域名控制验证。
CAA 配错会让现有 HTTPS 立即失效吗?
通常不会影响已经签发且仍有效的证书,但可能让下一次申请或自动续期失败,因此配置变更应在到期前验证。
CAA 能替代证书透明度监控吗?
不能。CAA 约束签发前授权范围,证书透明度帮助观察已经发生的签发事件,两者作用阶段不同。