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" )

相關文章
相關標籤/搜索