Rumah >Java >javaTutorial >Bagaimana untuk Berjaya Menggunakan Sijil Pelanggan Java dengan HTTPS/SSL?
Sijil Pelanggan Java melalui HTTPS/SSL: Panduan
Senario
Pertimbangkan Java 6 yang cuba mewujudkan sambungan HTTPS ke pelayan jauh menggunakan sijil klien. Pelayan menggunakan sijil akar yang ditandatangani sendiri dan mewajibkan pembentangan sijil pelanggan yang dilindungi kata laluan.
Cabaran
Walaupun menambah sijil akar pelayan dan sijil pelanggan pada stor kunci lalai, sambungan gagal dengan kegagalan jabat tangan. Permohonan mendapatkan panduan untuk menggunakan sijil pelanggan dengan berkesan.
Penyelesaian
Penyelesaian memerlukan tiga langkah:
Mengimport Sijil Pelayan ke dalam Truststore: Sijil yang ditandatangani sendiri oleh pelayan mesti diimport ke kedai amanah menggunakan utiliti alat kunci:
keytool -import -alias <server_alias> -file <server_cert>.crt -storepass <password> -keystore <truststore_name>.keystore
Mengkonfigurasi Sifat JVM: Tetapkan sifat JVM khusus untuk menentukan laluan, kata laluan dan jenis kedai amanah dan kedai kunci:
-Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.keyStore=<client_cert>.p12 -Djavax.net.ssl.trustStore=<truststore_name>.keystore -Djavax.net.debug=ssl -Djavax.net.ssl.keyStorePassword=<password> -Djavax.net.ssl.trustStorePassword=<password>
Sambungan Kemas Kini Kod: Gunakan SSLSocketFactory untuk mewujudkan sambungan HTTPS dan tetapkan kilang soket SSL untuk sambungan:
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault(); URL url = new URL("https://<server_host>:<port>/cgi-bin/ls.py"); HttpsURLConnection conn = (HttpsURLConnection)url.openConnection(); conn.setSSLSocketFactory(sslsocketfactory);
Pendekatan ini menangani isu dengan mengesahkan klien kepada pelayan menggunakan sijil pelanggan yang ditetapkan.
Atas ialah kandungan terperinci Bagaimana untuk Berjaya Menggunakan Sijil Pelanggan Java dengan HTTPS/SSL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!