0

有谁知道让两个 CA 签署一个 csr 并提供两个证书是否可行?


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

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

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

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

还是有更聪明的方法?

4

1 回答 1

2

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

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

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

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

于 2013-09-29T17:43:54.283 回答