错误日志: sun. security.validator.ValidatorException: PKIX path building failed: sun. security.provider. certpath.SunCertlathBuilderException: unableto find walid certification path to requested target
背景: Spring Boot CAS统一身份认证,JDK1.8 部署jar启动。
原因: 服务端的SSL证书是不安全的,Cas的客户端在调用时因为安全提醒造成调用失败;CAS的客户端需要导入服务端的证书后,就正常了。
百度找了很多方式,有添加 ‘-Xmx768m -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true’;
拷贝crt到 ‘jre\lib\security’下,经尝试未成功。
解决办法: 找到服务端的SSL crt证书文件,以管理员的方式运行CMD,执行下面命令,修改下面三个双引号的地址
> "C:\Program Files\Java\jdk1.8.0_231\bin\keytool.exe" -import -trustcacerts -alias testopen -file "E:\appliction\jar\cas\test.edu.cn.crt" -keystore "C:\Program Files\Java\jre1.8.0_231\lib\security\cacerts" -storepass changeit
到此解决问题了
注意:JRE地址是与JDK同级的地址,不是JDK目录里的JRE地址