蓝冰小站

icy's blog

马上订阅 蓝冰小站 RSS 更新: https://icys.top/atom.xml

DNS CCA记录与SSL证书申请

2022年8月2日 00:00

引入

之前在聊聊证书中提到,在申请时遇到了Type: caa Detail: CAA record for domain.cn prevents issuance问题。到底CAA是什么,为什么当时不能申请证书?真的是挖了好久的一个坑,发现最近一直都在填坑诶,这次我们来解释一下这个问题。

CAA(Certification Authority Authorization,即证书颁发机构授权)是一项防止HTTPS证书错误签发的安全措施,于2013年1月通过互联网工程任务组(IETF)的批准列为RFC6844,2017年3月,CA浏览器论坛投票通过187号提案,要求CA机构从2017年9月8日起执行CAA强制性检查。

CAA标准是指域名所有者在其域名DNS记录的CAA字段中,授权指定CA机构为其域名签发证书,CA机构签发证书时强制性检查CAA记录,如果检查发现未获得授权,将拒绝为该域名签发证书,从而防止未授权HTTPS证书错误签发。如果域名所有者没有为其域名设置CAA记录,那么任何CA都可以为其域名颁发证书。

要顺利执行CAA标准,需要三方共同完成:

  • DNS服务商:升级DNS系统使其支持CAA记录设置;
  • 域名所有者:在DNS记录的CAA字段中,授权指定的几家CA机构为域名签发证书;
  • CA机构: CA机构签发证书之前,强制性检查DNS CAA记录。

这是沃通在2017年的一篇资讯,介绍了CAA的作用,简单来讲就是域名证书的申请,要进一步的进行约束。证书的发放,会使得获得私钥的人有代表证书持有人的身份,如果让第三方在持有人不知道的情况下申请,则会带来不必要的麻烦。因此IETF组织认为有必要让域名持有者认定,自己的域名到底可以让哪些证书颁发机构CA(Certification Authority)签发,则白名单之外的CA则不能签发,以起到对域名持有者的保护作用。

CAA记录的构成

先简单介绍一下CAA记录长什么样子。根据规范,一条CAA记录可以用CAA <flag> <tag> <value>表示,是由一个标志字节的<flag>和一个被称为属性的 <tag>-<value>(标签-值)对组成。每个标签的意义和范围如下:

标签描述
flag可填写0或128,用于标志认证机构。
默认情况下填写0,表示如果颁发证书机构无法识别本条信息,进行忽略。
tag支持 issue...

剩余内容已隐藏

查看完整文章以阅读更多