欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

解决unable to find valid certification path to requested target

程序员文章站 2022-05-01 14:49:11
...

原因
Java在访问SSL加密的网站时,需要从JDK的KeyStore 里面去查找相对应得可信证书,如果不能从默认或者指定的KeyStore 中找到可信证书,就会报这个错误。另外,Java所使用的证书仓库并不是Windows系统自带的证书管理。所以即使系统中包含此证书也不可以使用。

解决:

从浏览器下载证书安装到java证书中。

第一步是要下载证书

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

解决unable to find valid certification path to requested target

点击View certificate

解决unable to find valid certification path to requested target

点击详细信息

解决unable to find valid certification path to requested target

复制到文件

下一步

解决unable to find valid certification path to requested target

选择格式

解决unable to find valid certification path to requested target

生成的名称,最后保存

解决unable to find valid certification path to requested target

解决unable to find valid certification path to requested target

解决unable to find valid certification path to requested target

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

导入证书

切换到jre的/lib/security/下

解决unable to find valid certification path to requested target

执行如下命令

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

其中:

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

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

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

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

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

 

库**口令输入:changeit

将会看到如下的信息

解决unable to find valid certification path to requested target

是否信任:Y

解决unable to find valid certification path to requested target

证书导入成功

查看证书,**仍然是changeit

keytool -list -keystore cacerts -alias vbooking

解决unable to find valid certification path to requested target

至此证书导入成功。

 

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

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

 

 

相关标签: JAVA java https