首页 / JAVA / javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:
javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1611字,纯文字阅读大概需要3分钟。
内容图文
我在生产中有三个基于Java的Web应用程序app1,app2和app3.所有3个都由经过验证的CA验证并托管在3个不同的Web服务器上
并在https上.
app1,app2由安全trust验证.app3由trustwave验证.
以下是证书证书的层次结构,当我通过网络浏览器访问这些应用程序中的任何一个时,都可以看到.
app1,app2证书租用相同.
Entrust.net Secure Server Certification Authority---> SecureTrust CA------->*.myAppDomain.com
app3证书的责任是
Entrust.net Secure Server Certification Authority---> SecureTrust CA------->TrustWave Organization Validation CA, L------->*.myApp3.com
现在,当app1连接到app2时,可以正常工作.但是当app1连接到app3时出现以下异常
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
现在我看一下托管app1的Web服务器上jdk中的cacert文件(即信任存储).我试图找到Entrust,SecureTrust,TrustWave的条目,但仅找到诸如entrustevca,entrust2048ca等条目.因此,如果我遵循逻辑,即根证书(对于应用程序app2和app3都是Entrust)位于联系application(app3),我可以在app3上的cacert文件中看到它,那么当app1尝试通过httpsURLConnection与app3联系时,我不会出现上述错误.我不明白这个原因吗?我不确定我们是否还需要包括trustwave,尽管根证书即Entrust已经在内部对trustwave进行了身份验证?
如果我需要在app3的cacert文件中包括trustwave证书(由app2使用),则根据该逻辑,我也应该包括
在app3上的cacert文件中的securetrust(由app2使用),但是工作正常吗?
解决方法:
客户端的信任库不信任服务器的证书.因此,客户端信任库中没有与服务器提供的证书链中的任何内容匹配的受信任CA证书.因此该证书链不完整.您需要将CA随附的所有内容导入服务器的密钥库中.
内容总结
以上是互联网集市为您收集整理的javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:全部内容,希望文章能够帮你解决javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。