试图理解为什么“不使用”根证书中的签名?
信息安全
加密
tls
哈希
证书
沙
2021-08-17 03:33:38
3个回答
根证书是自签名证书(根据定义)。
那么你想如何验证根证书的签名呢?根证书本身是有效的,因此您无法验证它。
这也是根证书最成问题的部分:它们无法独立验证。如果它们在浏览器中,那么它们是受信任的。
浏览器已包含根证书的副本。因此,它不需要通过其签名来验证它。即使您破坏了 SHA-1,也无法替换已经存储在浏览器中的根证书。
对于非根 CA 证书,浏览器只能通过验证证书哈希的签名来验证证书。如果签名的散列是由弱算法生成的,攻击者可能能够创建具有相同散列但不同密钥对的假证书。
但是,对于根证书,这不是问题。由于整个受信任的证书(不仅仅是哈希)都在您的受信任的根存储中,因此可以比较完整的证书,而不仅仅是哈希。因此,使用的散列函数是无关紧要的。
其它你可能感兴趣的问题