java.lang.Exception:答复和密钥库中的公共密钥不匹配

java.lang.Exception:答复和密钥库中的公共密钥不匹配,第1张

java.lang.Exception:答复和密钥库中的公共密钥不匹配

您问题中的链接说明了如何为服务器创建SSL密钥库,这不是您想要的。您所做的是:

  1. 创建一个新的密钥对
  2. 将受信任的证书添加到密钥库
  3. 将另一个受信任的证书添加到密钥库
  4. 尝试将服务器的SSL证书作为密钥对的证书导入

步骤4失败,因为SSL证书是为完全不同的密钥对生成的。

这三个证书可能是:

  1. Web服务的SSL证书
  2. 签署SSL证书的CA证书
  3. 签署CA的根证书

现在,您要做的是将信任锚添加到信任库中(默认情况下:)

${JAVA_HOME}/jre/lib/security/cacerts
,结果您的客户端将接受Web服务的SSL证书。

通常,SSL服务器在SSL握手期间将根证书以外的整个链发送到客户端。这意味着您必须将根证书添加到您的信任库中:

keytool -import -keystore ${JAVA_HOME}/jre/lib/security/cacerts -file CCA_Certificate.cer -alias theCCARoot

如果Web服务需要SSL客户端身份验证,则需要采取其他步骤,但是您从未提到过客户端身份验证,因此我认为这不是必需的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4989493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存