一、错误截图

Mac解决javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path build

二、解决办法

1. 下载所请求的网站证书,保存到本地。

注:Mac没有导出按钮,直接拖拽证书,进行保存。

2. 寻找项目所用Jdk在Mac中的位置,进入bin目录

:因为我是①、②、③、④顺序执行解决问题,但是我怀疑可以直接使用第④个命令解决问题,不过因为要记录自己的实际操作,所以把①、②、③步骤也记录在文章中。

① 执行导入证书命令

sudo ./keytool -import -file “这里写刚刚导出的cer文件的绝对位置” -keystore “这里写java的cacerts绝对位置”
注:使用sudo,需要权限。还有Mac的 cacerts 位置和Windows的不同,它在…/jre/lib/security/文件夹下面

② 输入秘钥库指令

默认应该会输入两遍,也有可能一遍 密码都是: changeit

③ 此时要么成功,要么报错

keytool 错误: java.io.IOException: Keystore was tampered with, or password was incorrect
博主没有那么幸运,报错了,好了,报错不要慌,继续解决问题。

④ 更换导入证书指令

sudo keytool -import -trustcacerts -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_74.jdk/Contents/Home/jre/lib/security/cacerts -storepass changeit -noprompt -alias mycert -file /Users/success/Downloads/cert/www.xxxx.com.cer
此时再次输入密码后提示: 证书已添加到**库中
自此,错误解决。

参考链接:
https://zhuanlan.zhihu.com/p/104731021
https://www.it-swarm.asia/zh/java/%e5%a6%82%e4%bd%95%e5%b0%86%e8%87%aa%e7%ad%be%e5%90%8d%e8%af%81%e4%b9%a6%e6%ad%a3%e7%a1%ae%e5%af%bc%e5%85%a5java%e5%af%86%e9%92%a5%e5%ba%93%ef%bc%8c%e9%bb%98%e8%ae%a4%e6%83%85%e5%86%b5%e4%b8%8b%e5%8f%af%e4%be%9b%e6%89%80%e6%9c%89java%e5%ba%94%e7%94%a8%e7%a8%8b%e5%ba%8f%e4%bd%bf%e7%94%a8%ef%bc%9f/1068369586/

相关文章: