问题:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
无法找到请求目标的有效证书路径
一、Windows—java证书导入
1、下载证书到本地(以下以Edge浏览器为例)
证书以crt结尾
2.证书导入java
cacerts包含了很多CA证书,位置在Java的安装目录:如: D:\Java\jdk\jdk1.8.0_361\jre\lib\security\carcerts
1.以管理员身份打开命令提示符(cmd)
2.进入carcerts所在文件目录
3.执行命令
keytool -import -alias cacerts -keystore cacerts -file D:\Java\jdk\jdk1.8.0_361\jre\lib\security\BIC-GN-ROOT-V1.crt
4.默认密钥库口令:changeit
5.是否信任此证书?[否]: Y
6.控制台显示:证书已添加到密钥库中即表示添加成功
7.回到项目中重新clean,compile,解决
注:
-alias 证书别名(可改,要保证名字唯一)
-file后面的地址: 要导入的证书目录位置
-keystore cacerts 此处是jdk的证书存放文件,无需更改
二、Linux—java证书导入
1.将证书上传至linux
2.导入
1.查看jdk环境变量
echo $JAVA_HOME
2.cd /usr/java/jdk1.8.0_161/jre/lib/security
3.keytool -import -v -trustcacerts -alias sxdzswj -file /www/dzswj.cer -storepass changeit -keystore cacerts
注:
-alias 证书别名
-file后面的地址: 要导入的证书目录位置
-storepass: jdk的默认密码
-keystore cacerts此处是jdk的证书存放文件,无需更改
三、常用命令
1.导入证书
keytool -import -v -trustcacerts -alias sxdzswj -file D:\Java\jdk\jdk1.8.0_361\jre\lib\security\BIC-GN-ROOT-V1.crt -storepass changeit -keystore cacerts
注:-alias 证书别名
-file 要导入的证书目录位置
-storepass jdk的默认密码
-keystore cacerts此处是jdk的证书存放文件,无需更改
2.查看目前环境下的证书
keytool -list -keystore cacerts
3. 删除某个已安装的证书 sxdjswj :即为上面导入证书时的别名
keytool -delete -alias sxdzswj -keystore cacerts