我注意到至少有一个主要的 CA(Comodo)通过 HTTP 而不是 HTTPS 发布他们的 CRL。
在我看来,这似乎是一个漏洞,因为攻击者可以劫持寻求下载 CRL 的 HTTP 连接,并且在使用HSTS时至少执行有效地相当于对域进行 DoS 攻击的操作。(由于 HSTS 处于活动状态,浏览器不应允许用户绕过无效证书警告;请参阅 RFC 6797第 8.4节和第 12.1 节。)
虽然CRL 通常是已签名的,而且似乎任何理智的实现都应该拒绝未通过签名验证的已签名 CRL,但我还没有看到任何方法可以在任何 Web 浏览器中确定 CRL 的签名者,因此即使签署替换使用您自己的根证书密钥的 CRL似乎是一种风险相对较低的操作。当然,这假设浏览器要求首先签署 CRL;如果没有,您可以将其替换为未签名的 CRL。(当然,如果实现 拒绝签名验证失败的已签名 CRL,甚至是未签名 CRL,欺骗 UA 使用已被吊销但尚未达到其到期日期的证书变得微不足道。)
这是一个实际的潜在问题吗?UA 通常会针对 CRL 执行哪些检查以防止其成为实际问题?