@
Autonomous 0. 这可能与 Comodo 内部的证书签发规则有关,比如你可以看到,两者的区别是一个是 "SHA-256 Client" 而另一个则是 "RSA Client"。
Comodo 的证书签发规则我太不清楚,但是我可以用 Apple 的证书签发规则来举个例子:
所有的加入了 Apple 的开发者计划的开发者们都会得到一组 Apple 签发的开发者证书,拿 OS X 应用来说,这组开发者证书所要进行代码签名(code signing)的 OS X 的应用主要分两种:“要在 Mac App Store 上架” 的和 “使用其他渠道分发(如 GitHub 或者
Sourceforge.net)” 的。
所有的开发者证书的根证书都是名为 Apple Root CA 的根证书,你可以在 Keychain Access 的 System Roots 中找到:
上两张图中可以看到,用于对要提交到 Mac App Store 的应用进行代码签名的证书的中间签发机构名为:Apple Worldwide Developer Relations Certification Authority,而用于对第三方渠道发布的应用进行代码签名的证书的中间签发机构名为:Developer ID Certification Authority。
Apple Worldwide Developer Relations Certification Authority 和 Developer ID Certification Authority 都是由 Apple Root CA 签发的,两者都适用于签发其他证书的,都处于以 Apple Root CA 为根的证书的信任链中,但是两者的用法又有所不同,这就有点像你的朋友的证书的签发者:COMODO SHA-256 Client Authentication and Secure Email CA 与我们的证书的签发者 COMODO RSA Client Authentication and Secure Email CA 之间的不同。
1. 导入 Comodo 的其它证书是为了构建完整的信任链,这在理论上是不存在潜在的安全风险的。OS X 系统自带了很多根证书,你可以在 Keychain Access 的 System Roots 中找到,这其中包括 VeriSign 和 DigiCert 等根证书,也包括了 Comodo 的 CA 证书。只要一张证书能够向上追溯到 System Roots 中的根证书,就说明这张证书是受信任的。关于信任链(chain of trust)的概念可以参考:
https://en.wikipedia.org/wiki/Chain_of_trust