我正在尝试通过网络服务将 xml 发送到另一个系统。但是在尝试发送时出现以下错误。我已经安装了他们给我的证书。但仍然无法正常工作。
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
最佳答案
此错误有两个可能的来源:
- 对方使用真正不受信任的证书(自签名或由不受信任的 CA 签名),
- 或对方未发送证书验证链(例如,在通往您信任的 CA 的过程中存在中间签名证书,但该证书不存在于 SSL 握手中)。
第一种情况的解决方案是将不受信任的 CA(或证书本身)添加到您的 JRE 信任库(${java.home}/lib/security/cacerts
)或更好 - 创建您的自己的信任库(在升级 Java 时不会被删除)并通过 javax.net.ssl.trustStore
将其提供给您的应用程序JVM 属性。
第二种情况的解决方案是采用第一种情况的解决方案,或者更好 - 说服对方发送正确的证书链。
关于java - 获取错误 : PKIX path building failed: unable to find valid certification path to requested target,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17388279/