jdk信任证书

  在使用httpclient请求时,使用proxy设置后,而后就报错了。java

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

 

 

一、获取访问网址的证书.cer文件.

  在浏览器输入网址,点击网址左边的锁符号浏览器

  

 

 

二、添加jdk信任证书

将下载好的.cer文件复制到 %JAVA_HOME%/jre/bin/目录下,打开命令窗口输入如下命令(报错就继续往下看):bash

  

keytool -import -v -trustcacerts -alias 文件名 -file 文件名.cer -storepass changeit -keystore %JAVA_HOME%/jre/lib/security/cace

呵呵,这里就踩坑了,网上一群抄来抄去的也不验证到底行不行,ide

说明:ui

  changeit 是密码, java默认。spa

  keytool.exe是在 %JAVA_HOME%/jre/bin/目录下的,jdk默认自带。.net

  cacerts是文件(即将要把证书导入到其中的文件),在 %JAVA_HOME%/jre/lib目录3d

  keytool命令的 -ketstore参数 跟着的密钥库名称要加上双引号。blog

  是否信任此证书? [否]:"  ,那么请输入"y"。ssl

 

三、查看cacerts中的证书列表

 keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts"  -storepass changeit

 

四、删除cacerts中指定名称的证书

keytool -import -alias 文件名 -file 文件名.cer -keystore "%JAVA_HOME%/jre/lib/security/cacerts"  -storepass changeit-trustcacerts

(当初网上找到2的时候,复制命令死活报错,直到三、4命令,看到了 -keystore  "x/x/x" )

相关文章
相关标签/搜索