由多个CA签署的x509(服务器)证书?

时间:2013-09-29 15:45:22

标签: ssl ssl-certificate ca

是否有人知道两个CA签署的csr是否可行并提供两个证书?


询问原因: 运行多个服务(https,mail,imap,git,xmpp ...)的服务器,我为它运行CA,也用于客户端证书(xmpp,邮件加密等)。 这意味着用户必须导入CA证书,这对高级用户来说是可以的。

某些应用程序(邮件和https)必须由常规(非电源?,普通?)用户访问,因此使用已安装在所有常见浏览器中的免费ssl证书会很棒(I想起startssl)。

我的第一次尝试是让我的CA证书由官方CA签署,例如startssl,但可以理解的是,这不适用于免费使用。

所以现在我考虑为常用的服务创建一个csr,并由官方CA和我自己的CA签署,同时提供两个证书,官方称为“后备”。

还是有更聪明的方法吗?

1 个答案:

答案 0 :(得分:2)

您不能拥有由多个CA签署的证书(X.509格式中只有一个颁发者)。您可以向2个CA提交相同的CSR,但这将生成2个不同的证书(如果这是您的目标,通常最好使用不同的密钥材料,因此无论如何都要使用不同的CSR)。

如果您的客户端支持服务器名称指示(SNI),您可能会在同一服务上为两个不同的证书服务,但服务也需要具有不同的名称(否则,不可能区分请求的名称)。 / p>

通过尝试在服务器上的同一服务上使用两个不同的CA或两个证书,您肯定会使问题过于复杂。

“高级用户”无论如何也肯定会拥有主要的商业CA.在这种情况下,为他们提供由您自己的CA签名的证书并不会带来任何好处。如果它们的主要区别在于它们会带有您自己的CA颁发的客户端证书,那么没有什么能阻止您在服务器上信任您自己的CA(以及它们的客户端证书),同时仍然提供由商业CA.服务器使用的信任锚不一定与其客户端使用的信任锚有任何关系。