为什么所有SHA-1签名的CA根证书(因为SHA-1已弃用)?

我了解SSL证书不能使用SHA-1进行签名。 但是,所有CA根证书都是SHA-1签名(主要是)。 这是否意味着相同的algorithm,不再信任“你奶奶SSL商店”是世界最高的安全证书罚款?

我错过了什么吗? (密钥用法?密钥大小?)

根CA证书的签名完全不重要,因为不需要validation它们。 他们都是自签名的。

如果您信任根CA证书,则无需validation其签名。 如果你不信任它,它的签名对你来说毫无价值。

编辑:下面有一些非常相关的评论。 我不愿意复制或改写这些文件,而是因为他们而不是他们的作者。 但是我欢迎大家给这个答案增加解释。

在一天结束时,根证书是自签名的。 除了本身,它从来没有被另一个实体签名。 根证书通过带外过程获得信任,例如将其提交给受信任的发布者的浏览器列表,或者让微软接受它插入Windows受信任的发布者的默认列表。

这些证书(以及自签名的公司)(据称有希望)是通过除签名以外的其他方式进行彻底审查的。

唯一的情况是,如果根用SHA-1签名,可以用SHA-1来撤销。 也就是说,可以攻击SHA-1的人可以构build对根的撤销。 而且我绝对相信浏览器不知道如何坚持下去,所以破坏者已经完成了SSL连接。 多么蹩脚。

作为一个注释, 一些 CA已经将其根和中间证书更新到SHA256。

我知道去年GlobalSign正在更新他们的证书,因为我们正在更新我们的代码签名证书,所以我不得不增加他们的新链。

您可以检查哪些特定的证书已更新以及更新哪些证书,并且还遗留了旧版SHA1证书(在此为=> 1)

希望有所帮助。

对于根CA,您可以信任CRT中的CA绑定的公钥 – 无论其自签名是什么。

使用.CRT文件格式而不是原始公钥来描述CA.PEM允许在其中包含更多细节 – 例如CA名称(再次,签名是毫无价值的)