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
Lepaskan: 2024-11-22 12:58:11
asal
932 orang telah melayarinya

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
    Salin selepas log masuk
  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>
    Salin selepas log masuk
  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);
    Salin selepas log masuk

    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 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