SSL证书可以由多个证书颁发机构签名吗?

时间:2011-06-28 11:59:46

标签: ssl-certificate certificate-authority

将信任分散一点是很好的,所以我们不必在任何实例中只依赖一个根。

是否可以拥有一个由多个CA签名的证书?

4 个答案:

答案 0 :(得分:17)

不,版本3之前的X509 certificate format旨在包含一个签名。

答案 1 :(得分:4)

是的,有可能。你可以在这里找到一个例子:

http://www.confusedamused.com/notebook/fixing-verisign-certificates-on-windows-servers/

enter image description here

答案 2 :(得分:2)

  

SSL证书可以由多个证书颁发机构签名吗?

这取决于,但主要是NO。这取决于所使用的PKI。有两种广泛使用的PKI,它们都不允许使用它。

第一个普遍存在的PKI属于CA/Browser Baseline Requirements。 CA / B BR记录了浏览器正在做什么。第二个是IETF的PKIX。它是像curl和wget这样的用户代理所遵循的。他们都不允许这样做。

CA / B和IETF的规则略有不同。有关更深入的讨论,请参阅How do you sign Certificate Signing Request with your Certification Authority?

现在,还有其他两个选项可供您使用,但它们需要一些工作。

第一个替代选项是运行您自己的PKI,它允许它。但浏览器和其他用户代理不知道如何处理证书。

第二种备选方案是使用包含第二权威认证的扩展。然后,主要权限(如公共CA)将使用扩展名对请求进行签名。典型的用户代理将使用惯用的公共CA签名,而您的自定义软件将使用嵌入的备用签名。

扩展通常用于策略(例如传达"扩展验证和#34;信息),但它可能在这里工作。但是,IETF的PKI缺乏政策,因此您可能需要发挥创意。

另请参阅超级用户Is it possible to have a certificate signed by 2 authorities?

另请参阅PKIX邮件列表中的Certificate with Multiple Signers?。 PKIX是IETF提出的互联网PKI。

答案 3 :(得分:0)

是的,一个证书可以由多个 CA 签署。这方面的术语是交叉签名。有关其工作原理的详细说明,请参阅 https://letsencrypt.org/certificates/。请注意,在页面顶部的图表中,几个 Let's Encrypt 的中间证书由两个根证书(ISRG Root X1 和 DST Root CA X3)签名。此外,请参阅 https://security.stackexchange.com/questions/14043/what-is-the-use-of-cross-signing-certificates-in-x-509 了解详情。