当前位置:   article > 正文

解决ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCert..._sun.security.validator.validatorexception: pkix pa

sun.security.validator.validatorexception: pkix path building failed: sun.se

线上与三方对接的接口项目,因无良三方悄悄升级启用https而导致……

好吧,因请求接口方使用了https,但没有相应的证书导致报错,错误提示如下:

Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to
 find valid certification path to requested target

网上查了一下,这是在JDK8及以上高版本使用中,因为源应用程序不信任目标应用程序的证书,在源应用程序的JVM信任库中找不到该证书或证书链的原因导致的。

网上方法不少,一是通过程序设置信任所有证书,不知道怎么搞,没试;

二是删除jdk下安全文件的配置信息,亲测没毛用;

再就是手动生成证书文件,然后放到jdk对应目录下,重启就行,亲测好用。

生成的证书文件存放位置是jdk\jre\lib\security。

生成文件的方法可以参考 生成证书

因为生成文书这个方法需要编译工具类,我这有个已经编译好的,可以直接下载下来用,生成方法参考大神的教程就行。

另外一点小提示:

运行java InstallCert hostname 命令来生成证书文件的时候,hostname就是目标IP和端口,比如java InstallCert  192.168.0.1:8899,如果是域名,不用带https,比如java InstallCert  baidu.com

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/718152
推荐阅读
相关标签
  

闽ICP备14008679号