解決「sun.security.provider.certpath.SunCertPathBuilderException:無法找到要求目標的有效憑證路徑」異常
提供的程式碼從HTTPS 伺服器下載文件,但遇到與憑證相關的錯誤。當伺服器提供用戶端 JVM 不信任的自簽名憑證時,通常會發生此錯誤。
要解決此問題,您可以指示客戶端信任伺服器的憑證。操作方法如下:
使用瀏覽器取得伺服器的憑證
將憑證新增至 JVM 的信任庫
有兩種方法可以執行此操作:
編輯JAVA_HOME/jre/lib/security/cacerts:
使用-importcert指令匯入匯出的憑證。例如:
keytool -keystore cacerts -importcert -file my_server_cert.cer
使用-Djavax.net.ssl.trustStore 參數:
您可以透過設定Java系統指定不同的信任庫位置屬性:
java -Djavax.net.ssl.trustStore=/path/to/my_truststore
注意:確保使用正確的 JDK/JRE 版本,因為它會影響 cacerts 檔案的位置。
透過信任證書,您可以授權客戶端在缺乏受信任的 CA 的情況下與伺服器進行通訊。但要注意的是,如果伺服器的憑證不可信,這可能會帶來安全風險。
以上是如何解決「sun.security.provider.certpath.SunCertPathBuilderException:無法找到請求目標的有效憑證路徑」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!