SSL Keystore dalam Java: Lokasi dan Konfigurasi
Aplikasi Java yang memerlukan keupayaan SSL/TLS mesti menyatakan lokasi stor kunci yang mengandungi sijilnya dan kunci peribadi. Kedai kunci ini digunakan untuk kedua-dua mengesahkan pelayan kepada pelanggan dan menyulitkan data semasa komunikasi.
Menentukan Lokasi Keystore
Sifat sistem Java menetapkan sifat SSL pada tahap JVM . Terdapat dua cara untuk menentukan lokasi stor kunci:
Argumen baris arahan:
java -Djavax.net.ssl.keyStore=< ;keystore_path> ...
Harta Sistem:
System.setProperty("javax.net.ssl.keyStore", "");
Sifat Tambahan untuk Konfigurasi Keystore
Selain menentukan lokasi stor kunci, anda mungkin perlu mengkonfigurasi lain properties:
Kata Laluan:
javax.net.ssl.keyStorePassword: Kata laluan untuk membuka kunci peribadi dalam stor kunci.
Amanah Kedai:
javax.net.ssl.trustStore: Lokasi kedai amanah yang mengandungi sijil CA dipercayai.
Jika tidak dinyatakan, Java akan mencari fail stor kunci di lokasi lalai.
Kedai Amanah Kata laluan:
javax.net.ssl.trustStorePassword: Kata laluan untuk membuka kunci kedai amanah.
Jenis Kedai Kunci:
javax.net.ssl.trustStoreType: Untuk format stor kunci Java, ini biasanya "jks".
Menentukan Sijil untuk Pengesahan
Setelah lokasi stor kunci ditetapkan, anda boleh menentukan sijil untuk digunakan untuk pengesahan. Ini biasanya dilakukan melalui objek SSLContext:
// Create the SSLContext SSLContext sslContext = SSLContext.getInstance("TLS"); // Create the key manager with keystore and password KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); kmf.init(keyStore, password.toCharArray()); KeyManager[] keyManagers = kmf.getKeyManagers(); // Create the trust manager with trust store TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509"); tmf.init(trustStore); TrustManager[] trustManagers = tmf.getTrustManagers(); // Initialize the SSLContext with key and trust managers sslContext.init(keyManagers, trustManagers, null);
Atas ialah kandungan terperinci Bagaimanakah Saya Mengkonfigurasi dan Mencari Kedai Kunci SSL dalam Aplikasi Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!