Rumah >Java >javaTutorial >Bagaimana untuk Berjaya Menggunakan Sijil Pelanggan Java dengan HTTPS/SSL?

Bagaimana untuk Berjaya Menggunakan Sijil Pelanggan Java dengan HTTPS/SSL?

Susan Sarandon
Susan Sarandonasal
2024-11-22 12:58:11913semak imbas

How to Successfully Use Java Client Certificates with 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:

  1. 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
  2. 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>
  3. 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!

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