gpt4 book ai didi

java - 将证书导入 keystore ,证书链为空

转载 作者:太空宇宙 更新时间:2023-11-03 12:49:08 31 4
gpt4 key购买 nike

我们目前正在开发一个 java 客户端应用程序,它与服务器通过 ssl 安全连接。我们的设计要求服务器使用受信任的证书对客户端进行身份验证。这证书链看起来像这样:

<SOME CA Root certificate>
+- <SOME CA Intermediate certificate>
+- <Our companies certificate>

最初,我们认为这很简单:生成一个任意的空 keystore ,导入 CA-root,CA-intermediate 最后我们自己的证书,分发这个 keystore 在客户中完成。为此,我们使用了 pem 文件包含签名的公钥。导入我们告诉的 CA-Root-Key将其标记为受信任的 keystore 。

但是,每次访问 keystore.getCertificateChain 都会返回 null

我们已通过 keytoolKeyStoreExplorer 检查所有证书都是按预期在 keystore 中可用(它们是),而且,各自主题的 key 标识符和权限 key 匹配(它们匹配)。我们还确保以正确的顺序完成导入:首先是 CA,然后是中级,然后是我们公司的证书。

我们去了我们自己公司的网站(firefox 说,证书是好)并从那里下载了整个证书链(如 pem)以进行管理结果表明,原始 pem 文件已损坏,但没有任何变化。

我们哪里做错了?我们是否必须明确设置证书链?如何我们能否获得详细信息,getCertificateChain 中的哪一步失败了?

最佳答案

您需要导入链的根证书作为受信任的CA证书。不是整个链条。并且 KeyStore.getCertificateChain() 仅适用于私钥条目,而这不是。

关于java - 将证书导入 keystore ,证书链为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38007016/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com