彻底解决unable to find valid certification path to requested target

安装证书。

下载证书

第一步是要下载证书

去你程序要访问的网站,点击那个锁按钮,并点击查看详情(chrome浏览器)

这里写图片描述

点击View certificate

这里写图片描述

点击详细信息

这里写图片描述

复制到文件

下一步

这里写图片描述

选择格式

这里写图片描述

生成的名称,最后保存

这里写图片描述

这里写图片描述

这里写图片描述

这里我保存在的D盘根目录下叫abc.cer

导入证书

切换到jre的/lib/security/下

这里写图片描述

执行如下命令

keytool -import -alias abc -keystore cacerts -file D://abc.cer

其中:

-alias 指定别名(推荐和证书同名)

-keystore 指定存储文件(此处固定)

-file 指定证书文件全路径(证书文件所在的目录)

注意:当切换到 cacerts 文件所在的目录时,才可指定 -keystore cacerts, 否则应该指定全路径;

此时命令行会提示你输入cacerts证书库的密码,敲入changeit即可,这是java中cacerts证书库的默认密码,当然也可自行修改。

 

库密钥口令输入:changeit

将会看到如下的信息

这里写图片描述

是否信任:Y

这里写图片描述

证书导入成功

查看证书,密钥仍然是changeit

keytool -list -keystore cacerts -alias vbooking

这里写图片描述

至此证书导入成功。

 

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

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

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

WIN7下的C:\Program Files以及C:\Program Files(x86)都是只有管理员权限才能访问的目录,所有写、修改操作都会遭遇”拒绝访问”,解决方案有两种:

1.将JDK安装在D盘

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

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

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

posted @ 2019-09-29 14:26  好学Ace  阅读(103678)  评论(6编辑  收藏  举报