Rumah > Java > javaTutorial > Bagaimana untuk Menyelesaikan javax.net.ssl.SSLHandshakeException Apabila Menggunakan Sijil Pelanggan Java dengan HTTPS?

Bagaimana untuk Menyelesaikan javax.net.ssl.SSLHandshakeException Apabila Menggunakan Sijil Pelanggan Java dengan HTTPS?

Patricia Arquette
Lepaskan: 2024-11-26 06:17:10
asal
336 orang telah melayarinya

How to Resolve javax.net.ssl.SSLHandshakeException When Using Java Client Certificates with HTTPS?

Sijil Pelanggan Java melalui HTTPS/SSL

Apabila mewujudkan sambungan HTTPS dengan pelayan jauh, mungkin terdapat senario di mana anda perlu membentangkan pelanggan sijil untuk pengesahan. Ini memerlukan sijil akar pelayan diimport ke kedai amanah dan sijil pelanggan dengan kata laluannya dikonfigurasikan dengan betul.

Untuk mengatasi javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: Pembinaan laluan PKIX isu gagal, anda mesti mengimport sijil akar pelayan ke kedai amanah menggunakan yang berikut arahan:

keytool -import -alias gridserver -file gridserver.crt -storepass $PASS -keystore gridserver.keystore
Salin selepas log masuk

Seterusnya, tetapkan sifat berikut untuk menentukan maklumat stor kunci dan truststore:

-Djavax.net.ssl.keyStoreType=pkcs12
-Djavax.net.ssl.trustStoreType=jks
-Djavax.net.ssl.keyStore=clientcertificate.p12
-Djavax.net.ssl.trustStore=gridserver.keystore
-Djavax.net.debug=ssl # very verbose debug
-Djavax.net.ssl.keyStorePassword=$PASS
-Djavax.net.ssl.trustStorePassword=$PASS
Salin selepas log masuk

Dengan konfigurasi ini, anda boleh mencipta HttpsURLConnection dan menetapkan SSLSocketFactory untuk mengendalikan klien pengesahan sijil:

SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();
URL url = new URL("https://gridserver:3049/cgi-bin/ls.py");
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
conn.setSSLSocketFactory(sslsocketfactory);
Salin selepas log masuk

Dari sana, anda boleh membaca respons daripada sambungan HTTPS sebagai dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan javax.net.ssl.SSLHandshakeException Apabila Menggunakan Sijil Pelanggan Java dengan HTTPS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan