什么是 CAA 记录?

CAA 记录写在域名系统里,用来指定哪几家证书机构可以给自己签证书。没有这条记录,世界上任何一家证书机构都可以签发;写了之后,不在名单上的机构必须拒绝。

默认状态下,域名系统并不限制谁能给一个域名签证书。只要申请方通过了那家机构的域名归属核验,证书就能签出来。核验方式有松紧之分,机构也多,于是有了一个补充手段:让域名持有者自己在域名系统里表态。

这条表态就是 CAA 记录。它的写法是一行带标签的值:标签写签发,值写证书机构的域名,表示允许这家机构给这个域名签证书;可以写多条,把常用的几家都列上。第 63 期介绍过通配符域名,另有一个标签专门管通配符证书的授权,没写的话就沿用前面的名单。还有一类标签不用于授权,而是留一个联系地址,证书机构按它把签发失败的尝试报给域名持有者。

空值是一种特殊写法:把值留空,等于声明不接受任何机构签发。这个配置通常用在暂时不需要证书、又不想被人偷偷签的域名上。

这条记录从 2017 年 9 月起成为硬性要求。按证书行业的基线要求,公开信任的证书机构在签发前必须查一遍 CAA 记录,查到名单里没有自己就应当拒绝。检查发生在签发那一刻,不是持续校验——域名持有者后来加了限制,之前已经签出的证书照样有效到过期。

它能挡的范围有限。域名系统本身被攻破的话,记录一起被改,这套限制也就失效;名单里的机构如果自己出了问题,签出的证书依然畅通。所以实践中它和第 69 期介绍的证书吊销配着用:一个在签发前设门,一个在出事后作废。