【发布时间】:2011-09-24 06:22:35
【问题描述】:
将信任分散一点会很好,这样我们在任何情况下都不必只依赖一个根。
一个证书是否可以由多个 CA 签署?
【问题讨论】:
标签: ssl-certificate certificate-authority
将信任分散一点会很好,这样我们在任何情况下都不必只依赖一个根。
一个证书是否可以由多个 CA 签署?
【问题讨论】:
标签: ssl-certificate certificate-authority
不,直到版本 3 的 X509 certificate format 被设计为仅包含一个签名。
【讨论】:
是的,这是可能的。你可以在这里找到一个例子:
http://www.confusedamused.com/notebook/fixing-verisign-certificates-on-windows-servers/
【讨论】:
一个 SSL 证书可以由多个证书颁发机构签署吗?
这取决于,但大多数情况下不会。这取决于所使用的 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 签名,而您的自定义软件将使用嵌入的备用签名。
扩展通常用于策略(例如传达“扩展验证”信息),但它可能在这里起作用。但是,IETF 的 PKI 缺乏政策,因此您可能需要发挥创造力。
另请参阅超级用户上的Is it possible to have a certificate signed by 2 authorities?。
另请参阅 PKIX 邮件列表中的 Certificate with Multiple Signers?。 PKIX 是 IETF 所称的 Internet 的 PKI。
【讨论】:
是的,一个证书可以由多个 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 了解更多信息。
【讨论】: