java - tomcat的pkcs12证书是否需要加ca证书

标签 java tomcat ssl openssl

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

最佳答案

如果颁发您的证书的 CA 证书是“根”CA 证书(即它是自签名的),则没有关系:如果验证该证书的一方尚未将其包含在其信任 anchor 中,则无所谓会让它信任它。

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

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

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

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

关于java - tomcat的pkcs12证书是否需要加ca证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24809584/

相关文章:

java - 将 GET 请求参数获取到 @ViewScoped bean

amazon-web-services - 带有 Elastic Beanstalk 的 AWS SSL 证书 : HTTPS site not reachable

ios - 警告 : NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)

java - 存储多个 vector

java - 从自定义对话框类更改主 UI

java - 如何在不重置 tomcat session 超时的情况下执行经过身份验证的 AJAX 请求?

java - tomcat - web 服务在 60 秒后超时,增加连接超时

java - Java Jersey 中的异步

asp.net - 使用 CN 名称匹配域名在 IIS 7 上创建自签名证书

java - recyclerView中的setAdapter无法应用