【问题标题】:Is it necessary to add Ca certificate to pkcs12 certificate for tomcattomcat的pkcs12证书是否需要加ca证书
【发布时间】:2014-09-08 16:21:26
【问题描述】:

我正在从我的客户那里导入证书和密钥,并为 tomcat 创建 PKCS12 证书。 tomcat 配置为将此证书用作密钥库。我还需要从客户那里导入 CA 证书吗?如果是,为什么?

【问题讨论】:

    标签: java tomcat ssl openssl


    【解决方案1】:

    如果颁发您的证书的 CA 证书是“根”CA 证书(即,它是自签名的),则无关紧要:如果验证该证书的一方尚未在其信任锚中拥有该证书,则没有任何关系会让它信任它。

    当 CA 证书是中间 CA 证书时,它通常更有用。在这种情况下,服务器提供完整的证书链是相关的(根 CA 除外,由于上述原因,根 CA 是可选的)。由于远程方可能没有这些中间 CA 证书作为已知的信任锚,但可能信任颁发该中间 CA 证书的 CA 证书,这使得他们更有可能建立从其信任锚到证书的信任链验证。

    严格来说,您不需要提供完整的链,但这样做会使您的证书更有可能被接受。

    (这与this question 中的问题或多或少相同。此外,您说的是 PKCS#12 存储,因此您通常会针对正确的“别名”导入 CA 文件(使用Java 术语)无论如何。)

    话虽如此,私钥通常应该保持私密。如果您尝试实现自己的 CA,则有 mechanisms to do this in the browser,无需将私钥发送到任何地方,这将使用户获得 PKCS#12 文件作为回报(如果他们选择从那里导出他们的证书+密钥) .

    【讨论】:

    • 嘿,这对我解释了很多 :) 现在,我需要在创建我的 pkcs#12 证书时添加中间证书吗?或者我需要将它们安装在其他地方。我认为我应该提供单独的上传对话,以便将 ca 证书上传给客户。
    • 是的,使用链创建 PKCS#12 文件。上传 CA 证书给客户有什么关系?
    • 客户将提供他的证书和密钥。我正在开发将安装在客户环境中的产品。所以通常当客户从 UI 提供证书和密钥时,我还应该要求 CA 证书。
    • 啊抱歉,我误解了部分问题...我想说拥有这样的服务通常是不好的做法。私钥应保持私密。
    • 是的,它必须保持私密。但是,管理员将配置此产品,因此上传私钥没有害处。但即使我认为这不应该来自 UI。
    最近更新 更多