ValidatorException異常處理-PKIX path building failed

Maven下載依賴拋出一個ssl數(shù)字證書的異常:PKIX path building failed: SunCertPathBuilderException: unable to find valid certification path to requested target ,記錄一下問題的前因后果即解決辦法

問題原因

在我這篇博客中:Maven依賴下載失敗的原因及解決方案 ,我將maven的倉庫地址設置為 'http://maven.aliyun.com/nexus/content/groups/public' ,別看寫著是http開頭,實際訪問,卻是一個由GlobalSign Organization Validation CA頒發(fā)證書的https站點,而這個ca機構頒發(fā)的證書,在jre/lib/security的可信證書容器cacerts中是沒有存放過的,所以報出ssl數(shù)字證書不可信的異常。

不信,可以使用這條命令:

keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts

默認密碼為: 'changeit'

查閱一遍可信ca名單 ,你看看有沒有GlobalSign

解決辦法

解決辦法也很簡單,直接將被質疑的證書導入cacerts即可,這一點很多其他博客也說明過,但他們只關注了keytool的命令是如何來導入證書的,并沒有跟讀者說明該導入的證書如何去獲取

獲取被質疑的證書

  • 在mvn拋出PKIX path building failed: SunCertPathBuilderException的日志中,我們也能看到具體是哪一個鏡像倉庫地址的證書是不可信的,那么用chrome瀏覽器訪問這個站點

  • 點擊左上角的鎖icon -> 證書 -> 詳細信息 -> 復制到文件 -> 選擇Base64編碼的X.509格式,保存證書到本地目錄

  • 獲取證書結束,這里假設你的證書存放路徑為 /tmp/caCert.cer

導入證書到cacerts

  • 執(zhí)行以下命令
keytool -import -file /tmp/caCert.cer -keystore $JAVA_HOME/jre/lib/security/cacerts
  • 輸入cacerts密碼: changeit

  • 導入成功,結束

本文由博客一文多發(fā)平臺 OpenWrite 發(fā)布!

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 在給Android Studio 配置代理后,發(fā)現(xiàn)無法構建項目了,后來去掉代理也不行,一直報錯: Error:A ...
    小木槳閱讀 20,649評論 1 50
  • Https請求 一、訪問HTTPS站點 兩種方法來模擬發(fā)送HTTP請求,訪問HTTP站點。一種方式是通過java....
    Gothrow閱讀 2,340評論 0 2
  • 原文地址:iOS安全系列之一:HTTPS 如何打造一個安全的App?這是每一個移動開發(fā)者必須面對的問題。在移動Ap...
    violafa閱讀 910評論 0 2
  • 這篇文章是我一邊學習證書驗證一邊記錄的內容,稍微整理了下,共扯了三部分內容: HTTPS 簡要原理; 數(shù)字證書的內...
    StanOz閱讀 22,428評論 10 72
  • 活著便是希望 希望是何東西?對生死之線掙扎拼搏的人來說,能有生的希望便是生命的跡象;于莘莘學子而言,能在...
    遇見素心閱讀 1,894評論 0 1

友情鏈接更多精彩內容