Rumah >Java >javaTutorial >Bagaimana untuk Menyelesaikan 'sun.security.provider.certpath.SunCertPathBuilderException: tidak dapat mencari laluan pensijilan yang sah ke sasaran yang diminta'?
Menyelesaikan "sun.security.provider.certpath.SunCertPathBuilderException: tidak dapat mencari laluan pensijilan yang sah ke sasaran yang diminta" Exception
Kod yang disediakan cuba memuat turun fail daripada pelayan HTTPS tetapi menghadapi ralat berkaitan sijil. Ralat ini sering berlaku apabila pelayan membentangkan sijil yang ditandatangani sendiri yang tidak dipercayai oleh JVM pelanggan.
Untuk menangani isu ini, anda boleh mengarahkan pelanggan untuk mempercayai sijil pelayan. Begini caranya:
Ambil Sijil Pelayan Menggunakan Penyemak Imbas
Tambahkan Sijil pada Kedai Amanah JVM
Terdapat dua cara untuk melakukannya:
Sunting JAVA_HOME/jre/lib/security/cacerts:
Import sijil yang dieksport menggunakan arahan -importcert. Contohnya:
keytool -keystore cacerts -importcert -file my_server_cert.cer
Gunakan Parameter -Djavax.net.ssl.trustStore:
Anda boleh tentukan lokasi kedai amanah yang berbeza dengan menetapkan sistem Java harta:
java -Djavax.net.ssl.trustStore=/path/to/my_truststore
Nota: Pastikan anda menggunakan versi JDK/JRE yang betul, kerana ia mempengaruhi lokasi fail cacerts.
Dengan mempercayai sijil, anda membenarkan pelanggan untuk berkomunikasi dengan pelayan walaupun tiada CA yang dipercayai. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa ini mungkin memperkenalkan risiko keselamatan jika sijil pelayan tidak boleh dipercayai.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan 'sun.security.provider.certpath.SunCertPathBuilderException: tidak dapat mencari laluan pensijilan yang sah ke sasaran yang diminta'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!