linux服务器更新JDK,从jdk1.7升级到jdk1.8,导致java访问https地址时程序报错。
ERROR  [xxx]  2019-10-12  18:00:14  [DubboServerHandler-xxx-thread-xxx]  [xxxHttpSendHandler]  -  xxx{} 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                

解决方法:
1、用浏览器登录该https网站,在浏览器地址栏里找到“证书信息”->“详细信息”->“复制到文件”->选择DER编码二进制X.509(.CER)(D) 导出证书,如证书名为pro1.cer;
2、将pro1.cer上传至服务器/usr/java;
3、执行keytool -import -alias pro1 -keystore /usr/java/jdk1.8.0/jre/lib/security/cacerts -file /usr/java/pro1.cer;
4、输入密码:changeit
5、查看证书库keytool -list -keystore /usr/java/jdk1.8.0/jre/lib/security/cacerts|grep pro1.cer,如找到到证书信息,代表完成导入。
6、回到程序,调试java程序不再报错。

收藏 打印