当前位置: 首页 > 知识库问答 >
问题:

javax。网ssl。例外:太阳。安全验证器。ValidatorException:PKIX路径生成失败:

岳正浩
2023-03-14

我有三个基于java的web应用程序app1,app2和app3在生产。所有3个都由经过验证的CA进行验证,并托管在3个不同的Web服务器和http上。

下面是证书的层次结构,当我通过web浏览器点击这些应用程序时,我可以看到。

app1、app2证书租用人制度相同。E

 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

现在我看了一下jdk中的cacert文件(即信任存储),该文件位于托管app1的Web服务器上。我试图找到委托,SecureTrust,TrustWave的条目,但只找到像委托,委托2048ca等条目。因此,如果我按照逻辑,如果根证书(这是应用程序app2和app3的委托)位于联系应用程序(app3)的信任存储中,我可以在app3上的cacert文件中看到,那么我不应该得到上面提到的错误当app1试图联系app3通过http sURLConnection.我不明白这件事的原因?我不确定我们是否还需要包括信任波,尽管根证书即委托内部验证已经存在的信任波?

如果我需要在app3上的cacert文件中包含信任波证书(由app2使用),那么根据该逻辑,我也应该在app3上的cacert文件中包含安全信任(由app2使用),但它工作正常?

共有1个答案

毕魁
2023-03-14

客户端的信任库不信任服务器的证书。因此,客户端的信任库中没有与服务器提供的证书链中的任何内容匹配的可信CA证书。所以证书链是不完整的。您需要将CA提供的所有内容导入服务器的密钥库。

 类似资料:
  • 我有一个类,它用一个xml点击一个安全的URL(以https开头),然后在最后处理xml并返回响应。但在这样做的同时,我也遇到了一些例外<代码>javax。网ssl。例外:太阳。安全验证器。ValidatorException:PKIX路径生成失败:sun。安全供应商。certpath。SunCertPathBuilderException:找不到请求目标的有效认证路径 我在谷歌上搜索了很多,找到

  • 我的应用程序调用一个web服务,以便对该web服务中的特定用户进行身份验证。该web服务有自己的自签名CA证书。我正在使用该服务的POST REST调用,通过传递用户的用户名和密码来验证用户,但随后我收到了这个错误。。 我创建了一个密钥库,并将该服务器证书导入其中。我在应用程序中使用该密钥库来信任web服务。将证书导入JDK的cacerts可以解决我的问题,但该应用程序可以根据客户机的要求迁移到其

  • 我越来越不正常了 太阳安全验证器。ValidatorException:PKIX路径生成失败:sun。安全供应商。certpath。SunCertPathBuilderException:找不到请求目标的有效证书路径 我已在该位置设置SSL证书 C:\Program Files\AdoptOpenJDK\jdk-11.0.9.11-hotspot\lib\security 但我在点击服务器时遇到了

  • 正在尝试从创建wsdl客户端https://example.com?wsdl.使用以下命令wsimport-keephttps://example.com?wsdl 我已经使用这个命令keytool-import-alias ctp-file C:\Users\ravi\Desktop\ctplive安装了ssl证书。cer-keystore C:\Program Files\Java\jdk1。

  • 我尝试使用自签名证书通过带有ssl的imap获取电子邮件,但这不起作用。当我尝试连接时,我得到“PKIX路径验证失败”异常。我已经将我的证书添加到java keystore中,并在代码中设置了相关属性,但我不确定这是否足够。我的情况有一些细节: 我创建了自己的密钥库,并使用keytool命令将此证书导入其中: 在我的代码中是否还有我需要的东西,或者我的证书有什么问题?造成这个问题的原因是什么?请帮

  • 我正在尝试打开一个htttps网站。网址是前。https://x.xx.xx.xx/.我已经写了打击代码。 字符串url=”https://x.xx.xx.xx/"; URL obj=新URL(URL); HttpURLConnection con=(HttpURLConnection)obj。openConnection(); //可选的默认值是GETcon.setRequest estmeth