Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Menerima Sijil SSL Ditandatangani Sendiri dalam Pelanggan Java Saya?

Bagaimanakah Saya Boleh Menerima Sijil SSL Ditandatangani Sendiri dalam Pelanggan Java Saya?

Barbara Streisand
Lepaskan: 2024-12-29 07:17:14
asal
695 orang telah melayarinya

How Can I Accept Self-Signed SSL Certificates in My Java Client?

Menerima Sijil SSL Ditandatangani Sendiri dalam Pelanggan Java

Pengenalan

Apabila cuba menyambung ke pelayan dengan sijil SSL yang ditandatangani sendiri atau tamat tempoh , pelanggan Java mungkin menghadapi ralat yang menunjukkan laluan pensijilan tidak sah. Ralat ini boleh diselesaikan dengan mewujudkan rantaian amanah atau melumpuhkan pengesahan sijil.

Pilihan 1: Mewujudkan Rantaian Amanah

Menggunakan Linux Bash:

  1. Eksport sijil pelayan ke a fail:

    openssl s_client -connect server:port -showcerts > server.cer
    Salin selepas log masuk
  2. Import sijil ke dalam gedung amanah JVM:

    keytool -import -v -trustcacerts -alias server-alias -file server.cer -keystore cacerts.jks -keypass changeit -storepass changeit
    Salin selepas log masuk

Pilihan 2: Melumpuhkan Pengesahan Sijil

Menggunakan Java Kod:

  1. Buat pengurus amanah yang membenarkan semua sijil dengan mengatasi kaedah pengesahan:

    TrustManager[] trustAllCerts = new TrustManager[] {
        new X509TrustManager() {
            ... (overridden methods here)
        }
    };
    Salin selepas log masuk
  2. Pasang pengurus amanah dan tetapkannya sebagai lalai untuk SSL sambungan:

    SSLContext sc = SSLContext.getInstance("SSL");
    sc.init(null, trustAllCerts, new java.security.SecureRandom());
    HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    Salin selepas log masuk

Pengesyoran

Adalah amat disyorkan untuk menggunakan Pilihan 1, kerana ia mewujudkan rantaian amanah dan bukannya melumpuhkan pengesahan sijil. Ini memastikan identiti pelayan dapat disahkan dan serangan orang di tengah dapat dikurangkan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menerima Sijil SSL Ditandatangani Sendiri dalam Pelanggan Java Saya?. 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