我正在尝试通过Java Client从HTTPS协议连接SSRS ReportServer和HTTPS协议,从而提供 javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:java.security.cert.CertPathBuilderException:找不到证书链 但是我已经在Java密钥库中添加了证书,它以定义的别名显示了证书的密钥库。 但是Same SSSS Request调用正在使用HTTP协议。 注意:我们正在使用Go-Daddy的通配符证书进行安全通信
答案 0 :(得分:0)
获得证书后,证书中应该包含一个p7b(可能)。
本质上,当GoDaddy颁发证书时,它们不是直接从根颁发的。
您很有可能是由中间机构发行的。
您可以在https://ssl-ccp.godaddy.com/repository?origin=CALLISTO
获得中间证书证书链需要附加到实际证书中,并导入到 服务器 。
包含要导入的证书的PEM文件应如下所示:
<actual certificate>
<intermediate certificate>
[<intermediate certificate> ...]
之后,您无需在客户端上执行任何其他操作。
编辑
重新阅读我的答案后,我意识到该过程可能有些含糊。因此,在努力使这个更完整的周期到这里的过程中。
答案 1 :(得分:0)
您是否可以验证证书已添加到“ Java Truststore”而不是Keystore中(尽管两者都具有.jks扩展名)。 看看这个https://docs.oracle.com/cd/E19830-01/819-4712/ablqw/index.html
密钥库文件keystore.jks包含应用服务器的证书,包括其私钥
Truststore文件cacerts.jks,包含Application Server的受信任证书