我一直在到處尋找答案,但沒有任何幫助。那是我的代碼:BufferedImage img1 = ImageIO.read(new File(dir1));URL url = new URL(image_srcURL);BufferedImage img2 = ImageIO.read(url.openStream());現在,當我嘗試讀取 url 時,出現以下異常。javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路徑構建失敗:sun.security.provider.certpath.SunCertPathBuilderException:無法在 java.base/sun.security.ssl 找到請求目標的有效認證路徑.Alerts.getSSLException(Alerts.java:198) 在 java.base/sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1974) 在 java.base/sun.security.ssl.Handshaker.fatalSE(Handshaker.java :345) 在 java.base/sun.security.ssl.Handshaker.fatalSE(Handshaker.java:339) 在 java.base/sun.security.ssl.ClientHandshaker.checkServerCerts(ClientHandshaker.java:1968) 在 java.base/ sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1777) 在 java.base/sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:264) 在 java.base/sun。security.ssl.Handshaker.processLoop(Handshaker.java:1098) 在 java.base/sun.security.ssl.Handshaker.processRecord(Handshaker.java:1026) 在 java.base/sun.security.ssl.SSLSocketImpl.processInputRecord( SSLSocketImpl.java:1137) 在 java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1074) 在 java.base/sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973) 在 java .base/sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1402) 在 java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1429) 在 java.base/sun.security.ssl .SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413) 在 java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567) 在 任何幫助都會很棒。我正在嘗試讀取 url 中的圖像并將其與現有文件進行比較。這里沒有任何問題可以給出答案。編輯:我嘗試在我的命令行中輸入“keytool -list -keystore keystore”,但它只顯示了trustedCertEntries。尚無解決方案。
3 回答

人到中年有點甜
TA貢獻1895條經驗 獲得超7個贊
首先需要獲取服務器的證書,將其添加到keystone文件中,或者添加到jre中的java truststore或者單獨的文件中。如果您要創建新的信任庫,請確保為您的程序提供信任庫
添加回答
舉報
0/150
提交
取消