javax.net.ssl.SSLHandshakeException: PKIX path building failed

错误信息

本地环境缺少ssl证书

一、下载证书

        可以通过浏览器下载;也可以使用命令行

1、浏览器

查看证书,直接导出即可

2、命令行

openssl s_client -connect <目标网址:端口号> < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > 证书名.crt

二、导入证书

1. 将证书移动到 $JAVA_HOME/lib/security/cacerts 目录下

2. 进入$JAVA_HOME/bin 目录

keytool -import -alias <别名> -keystore $JAVA_HOME/lib/security/cacerts -file 证书名.crt

三、列出证书

keytool -list -keystore $JAVA_HOME/lib/security/cacerts

默认密码 "changeit"

四、添加完证书如果还是不能使用

在项目中添加以下代码就可以了

System.setProperty("javax.net.ssl.trustStore", "$JAVA_HOME/lib/security/cacerts");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

彻底弄懂“PKIX path building failed”问题-站长资讯中心 



java - Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed Error? - Stack Overflow


版权声明:本文为hubxx原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。