Rumah > Java > javaTutorial > Bagaimanakah Pelanggan Java Boleh Mengendalikan Sijil SSL yang Ditandatangani Sendiri?

Bagaimanakah Pelanggan Java Boleh Mengendalikan Sijil SSL yang Ditandatangani Sendiri?

Mary-Kate Olsen
Lepaskan: 2024-12-19 21:12:11
asal
217 orang telah melayarinya

How Can Java Clients Handle Self-Signed SSL Certificates?

Mengendalikan Sijil SSL Ditandatangani Sendiri dalam Pelanggan Java

Apabila menyambung ke pelayan dengan sijil SSL yang ditandatangani sendiri atau tamat tempoh, Java pelanggan biasanya menghadapi ralat kerana kekurangan kepercayaan terhadap sijil. Untuk menyelesaikan isu ini, anda boleh sama ada menambah sijil yang ditandatangani sendiri ke kedai amanah JVM atau mengkonfigurasi pelanggan untuk mempercayai semua sijil.

Pilihan 1: Mengimport Kedai Amanah

  • Eksport sijil yang ditandatangani sendiri daripada penyemak imbas anda.
  • Import sijil ke kedai amanah JVM menggunakan yang berikut arahan:
<JAVA_HOME>\bin\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

Amaran: Ini tidak disyorkan kerana ia menjejaskan keselamatan SSL.

  • Buat pengurus amanah yang tidak mengesahkan sijil:
TrustManager[] trustAllCerts = new TrustManager[] {
    new X509TrustManager() {
        public X509Certificate[] getAcceptedIssuers() { return new X509Certificate[0]; }

        public void checkClientTrusted(X509Certificate[] certs, String authType) { }

        public void checkServerTrusted(X509Certificate[] certs, String authType) { }
    }
};

// Install the trust manager
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
Salin selepas log masuk
  • Akses URL HTTPS:
URL url = new URL("https://hostname/index.html");
Salin selepas log masuk

Pilihan #1 untuk mengekalkan integriti SSL. Pelayan juga disyorkan untuk mendapatkan sijil yang ditandatangani oleh CA yang dipercayai untuk keselamatan optimum.

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