彻底解决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