您问题中的链接说明了如何为服务器创建SSL密钥库,这不是您想要的。您所做的是:
- 创建一个新的密钥对
- 将受信任的证书添加到密钥库
- 将另一个受信任的证书添加到密钥库
- 尝试将服务器的SSL证书作为密钥对的证书导入
步骤4失败,因为SSL证书是为完全不同的密钥对生成的。
这三个证书可能是:
- Web服务的SSL证书
- 签署SSL证书的CA证书
- 签署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客户端身份验证,则需要采取其他步骤,但是您从未提到过客户端身份验证,因此我认为这不是必需的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)