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

获取PKIX路径生成失败:sun。安全供应商。certpath。jdk更新后的SunCertPathBuilderException[重复]

梁丘烨
2023-03-14

在将java版本从1.8.0_231更新到1.8.0_241之后,我得到了与证书配置相关的错误。

在spring启动期间,我正在设置keystore和keystorepass,并在spring框架提供的RestTemplate的帮助下进行rest调用。

调用rest服务后,我得到了sun。安全验证器。ValidatorException:PKIX路径生成失败:sun。安全供应商。certpath。SunCertPathBuilderException:找不到请求目标的有效证书路径;嵌套的异常是javax。网ssl。例外:太阳。安全验证器。验证程序异常:PKIX路径错误。

同样的代码在JDK1.8上运行良好。0_231。可以帮助我创建问题的原因吗?

我配置了keystore和keystorepasswrd,如下所示

        System.setProperty("javax.net.ssl.keyStore", environment.getProperty("javax.net.ssl.keyStore"));
        String pswd = null;
        try (BufferedReader br = new BufferedReader(
                new InputStreamReader(new 
        FileInputStream(environment.getProperty("javax.net.ssl.keyStorePassword")), Charset.defaultCharset()))) {
            pswd = br.readLine();
            if (pswd != null) {
                System.setProperty("javax.net.ssl.keyStorePassword", pswd);
            }

        }

共有3个答案

温凯
2023-03-14

如果您启用了Netskope,请尝试在活动监视器中关闭它并运行您的CLi命令。Netskope引导他们的流量通过Netskope,您的HTTP流量附有Netskope的证书。

严狐若
2023-03-14

PKIX路径构建失败

这意味着有一个关于信任证书的问题。所以这个问题是与您的信任存储有关的。由于问题是在更新JDK后开始的,您可能正在使用名为“cacerts”的标准java信任存储。您可以在JDK_HOME/jre/lib/Security/cacerts中找到这个。

将此文件从旧JDK复制到新JDK,并测试问题是否得到解决。最好的解决方案是将您需要的证书从旧证书复制到新证书,而不是覆盖它。这是因为新的cacerts文件将保存来自受信任的根方的新证书,而这些证书不在旧文件中。

我建议使用带有UI的应用程序,比如https://keystore-explorer.org/,来做这件事。它可以让你拖放或复制粘贴证书。

龚迪
2023-03-14

首先检查JDK 1.8.0_231/jre/lib/Security目录下的cacert文件,以及相同位置的jre目录下的cacert文件。首先尝试复制安全文件并粘贴到具有上述位置的另一个版本的java中。应该可以解决这个问题。

 类似资料:
  • 我已经创建了一个自定义密钥库文件xyz。jsk,当我试图使用这个文件时,我遇到了异常 org.springframework.web.client.资源访问异常: I/O错误的POST请求:sun.security.validator.Validator异常: PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderExc0019:无

  • 在将java版本从1.8.0231更新到1.8.0_241之后,我收到了与证书配置相关的错误。 在spring boot starup期间,我正在设置keystore和keystorepass,并在spring Framework提供的RestTemplate的帮助下进行一个rest调用。 同样的代码在JDK1.8.0231中运行良好。有什么能帮我解决问题的。 我配置了keystore和keyst

  • 我正在获取javax.net.ssl.sslHandShakeException:Sun.Security.Validator.ValidatorException:PKIX路径构建失败:Sun.Security.Provider.CertPath.SunCertPathBuilderException:找不到请求目标的有效认证路径异常,如何解决?这是我的密钥库

  • 我正在使用eclipse,在尝试执行此函数时,出现了以下错误。 我想发送一个GET请求以及证书和密钥。我可以下载任何格式的证书,所以这不是问题。我知道我需要将此添加到java keystone中,但在尝试了各种建议后,我仍然无法修复此问题。 下面是错误-

  • 我正在使用WSO2 API管理器和Keyclope服务器进行API网关和用户身份验证。两者都在Openshift 3.11上运行。在浏览器上,尝试重定向到wso2 apim上的存储页面时出现以下错误。此外,我正在为这两个服务器使用一个使用keytool生成的自签名证书,它还分别导入到JVM cacerts中。Open JDK版本为1.8。 我在使用javax时遇到了致命的问题。网ssl。SSLEx

  • 我一直在尝试调试这个错误,但没有成功。 本质上,我是通过我的应用程序联系外部应用程序的。连接建立良好,应用程序通过回调URL联系回我的应用程序,然后我需要向外部应用程序发送最终验证。最后一步由于SSLhandshajee异常而失败。 javax。网ssl。例外:太阳。安全验证器。ValidatorException:PKIX路径生成失败:sun。安全供应商。certpath。SunCertPath