SSLHandshakeException:无法找到证书链[重复]

km0tfn4u  于 5个月前  发布在  其他
关注(0)|答案(3)|浏览(79)

此问题在此处已有答案

Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed Error?(38个答案)
2天前关闭。
我试图从Java客户端连接SSRS ReportServer与HTTPS协议,它给出javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:java.security.cert.CertPathBuilderException:无法找到证书链但我已在Java Keystore中添加了证书,它是证书使用定义的别名显示的密钥库。但是相同的SSRS请求调用使用HTTP协议。**注意:**我们使用Go-Daddy的SSL证书进行安全通信

u7up0aaq

u7up0aaq1#

您能否验证证书是否已添加到“Java Truststore”而不是Keystore(尽管两者都有.jks扩展名)。
密钥库文件keystore.jks包含ApplicationServer的证书,包括其私钥
信任存储文件cacht.jks包含应用程序服务器的受信任证书

vqlkdk9b

vqlkdk9b2#

当你得到你的证书时,应该有一个p7 b(可能)包含在其中。
本质上,当GoDaddy颁发证书时,它们不是直接从根颁发的。
很可能你有一个从中间机构发出的。
您可以在https://ssl-ccp.godaddy.com/repository?origin=CALLISTO获取中间证书
证书链需要附加到实际证书上,并导入到 * 服务器 * 上。
包含要导入的证书的PEM文件应如下所示:

<actual certificate>
<intermediate certificate>
[<intermediate certificate> ...]

字符串
在那之后,你不应该有一个需要做任何其他的客户端。

  • 编辑 *

在重读了我的回答之后,我意识到这个过程可能有一点复杂,所以为了使这个更完整的循环,我们开始了。
1.生成密钥对/自签名证书,如PKCS#12容器所示。
1.创建PKCS#10证书签名请求以发送到上述证书的GoDaddy。

  1. GoDaddy返回签名的X.509证书(通常带有如何安装的说明)。
    1.获取证书(假设为PEM格式)并连接来自https://ssl-ccp.godaddy.com/repository?origin=CALLISTO的颁发链,然后将其从步骤1导入回PKCS#12。
    1.将PKCS#12分配为SSRS服务器上的TLS证书存储。
flseospp

flseospp3#

由于上述错误(PKIX路径构建失败:java.security.cert)而卡住了几个月。Stack Overflow上没有任何帮助。将Oracle Java SE交换为OpenJDK阿苏尔Zulu。砰!问题消失了。

相关问题