Tidak Dapat Menemui Laluan Pensijilan Sah ke Sasaran Diminta
Apabila memuat turun fail daripada pelayan HTTPS melalui Java, anda mungkin menghadapi ralat berikut :
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Memahami Ralat
Ralat ini menunjukkan masalah dengan pengesahan pelayan pelanggan. Pelayan HTTPS menggunakan sijil untuk mewujudkan sambungan selamat. Pelanggan (program Java) mesti mempercayai sijil pelayan untuk meneruskan muat turun.
Punca Kemungkinan: Pelayan Mempunyai Sijil Ditandatangani Sendiri
Sijil yang ditandatangani sendiri adalah tidak dikeluarkan oleh pihak berkuasa yang dipercayai. Kedai amanah lalai Java tidak mengandungi sijil ini, menyebabkan kegagalan pengesahan.
Penyelesaian
Untuk mengabaikan pengesahan pelayan pelanggan, anda boleh menambah sijil pelayan pada Java kedai amanah. Begini caranya:
1. Dapatkan Sijil:
2. Tambahkan Sijil pada Kedai Amanah:
Terdapat dua cara untuk melakukannya:
a. Menggunakan alat kekunci:
keytool -import -trustcacerts -alias myalias -file certificate.cer
b. Menggunakan parameter -D:
-Djavax.net.ssl.trustStore=mytruststore.jks
3. Gantikan certificate.cer dan mytruststore.jks dengan nama fail sebenar.
Selepas menambah sijil pada gedung amanah, program Java anda sepatutnya boleh memuat turun fail daripada pelayan HTTPS tanpa ralat pengesahan .
Atas ialah kandungan terperinci Mengapa Program Java Saya Gagal Memuat Turun Fail HTTPS dengan 'tidak dapat mencari laluan pensijilan yang sah ke sasaran yang diminta'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!