一、故障说明
Java在请求某些不受信任的https网站时会报:PKIX path building failed。原因是网站的证书https协议用的自签证书,不是官方证书颁发机构授权的证书。在https 加密过程中,证书验证没通过。
二、解决办法
有两种解决办法:
1、导入证书到本地证书库
2、信任所有SSL证书,绕开安全协议处理
最好的解决办法或许是信任所有SSL证书,因为某些时候不能每次都手动的导入证书非常麻烦。
1. 导入证书到本地证书库
下载cert证书
点击网站https协议
显示证书
点击“证书无效”,打开证书
提示“此CA根目录证书”不受信任。要启用信任,请将该证书安装到“受信任的根证书颁发机构”存储区。
切换到“详细信息”标签
点击“复制到文件”按钮
选择导出格式:一般选择Base64。
选择证书存放路径
保存证书
点击完成,导出证书成功
2. 导入证书到jdk信任证书store
将下载好的.cer文件复制到 %JAVA_HOME%/jre/bin/目录下
使用管理员权限打开命令行
切换到cer文件路径
cd %JAVA_HOME%/jre/bin/
1)导入sonarqube证书
"%JAVA_HOME%\bin\keytool" -import -trustcacerts -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -storepass changeit -alias SONARQUBE_CERTIFICATE -import -file sonarqube.cer
2)查看sonarqube证书
keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit
3)删除sonarqube证书
keytool -delete -alias SONARQUBE_CERTIFICATE -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit