Rumah >Java >javaTutorial >Mengapa Program Java Saya Gagal Memuat Turun Fail HTTPS dengan 'tidak dapat mencari laluan pensijilan yang sah ke sasaran yang diminta'?

Mengapa Program Java Saya Gagal Memuat Turun Fail HTTPS dengan 'tidak dapat mencari laluan pensijilan yang sah ke sasaran yang diminta'?

DDD
DDDasal
2024-12-20 18:12:16400semak imbas

Why Does My Java Program Fail to Download HTTPS Files with

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:

  • Navigasi ke tapak web menggunakan penyemak imbas.
  • Klik pada ikon kunci dalam bar alamat.
  • Pilih "Sijil" dan eksport sijil sebagai fail CER atau CRT.

2. Tambahkan Sijil pada Kedai Amanah:

Terdapat dua cara untuk melakukannya:

a. Menggunakan alat kekunci:

  • Buka command prompt.
  • Navigasi ke JAVA_HOME/jre/lib/security.
  • Jalankan arahan berikut:
keytool -import -trustcacerts -alias myalias -file certificate.cer

b. Menggunakan parameter -D:

  • Jalankan aplikasi Java anda dengan parameter berikut:
-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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn