源码学习 出现彻底解决unable to find valid certification path to requested target

发布时间 2024-01-07 12:57:07作者: 东北大亨

说明:很久前spring 5.1X源码搭建成功,近阶段看源码发现更新类库出现 “:unable to find valid certification path to requested target 

原因是:源码更新的是官网类库,官网需要国外我网站不能实时访问很慢,所以映射需要执行ali 服务器,使用ali服务器需要授信证书。授信证书操作步骤如下

 第一步:使用google chrome 浏览输入:https://developer.aliyun.com/mvn/view4

 第二步:导出证书,命名为 CA.crt 目前保存在本机D盘根目录

第三步:证书导入

    3.1  以管理员的权限进入到源码使用jdk安装目录(避免出现没有权限错误,如果jdk安装不是系统盘,直接进入安装jdk路径...\Java\jdk1.8.0_25\jre\lib\security 即可),本人使用路径为例,为:C:\Program Files\Java\jdk1.8.0_25\jre\lib\security

    3.2 使用导入命令:keytool -import -alias abc -keystore cacerts -file D://CA.cer

          执行操作为:    C://Program Files//Java//jdk1.8.0_25//jre//lib//security  keytool -import -alias abc -keystore cacerts -file D://CA.cer

          库密钥口令输入:changeit

          是否信任,输入:Y

    3.3 查看证书,密钥仍然是changeit

    执行步骤截图如下:

    

提示:导入证书过程中,可能会遇到一个问题,如下所示

keytool 错误: java.io.FileNotFoundException: cacerts (拒绝访问)

出现这个问题的主要原因是

原因分析:安装jdk路径为C盘只有管理员权限才能访问的目录,所有写、修改操作都会遭遇”拒绝访问”,解决方案有两种:

1.将JDK安装在D盘

2.使用管理员权限打开命令行

更新证书时,先删除原来的证书,然后导入新的证书 

keytool -list -keystore cacerts 
keytool -delete -alias abc -keystore cacerts 
keytool -import -alias abc -file CA.cer -keystore cacerts -trustcacerts