SSL Keystore en Java : emplacement et configuration
Les applications Java qui nécessitent des fonctionnalités SSL/TLS doivent spécifier l'emplacement du keystore contenant leur certificat et clé privée. Ce magasin de clés est utilisé à la fois pour authentifier le serveur auprès du client et pour chiffrer les données pendant la communication.
Spécification de l'emplacement du magasin de clés
Les propriétés du système Java définissent les propriétés SSL au niveau de la JVM. . Il existe deux manières de spécifier l'emplacement du magasin de clés :
Arguments de ligne de commande :
java -Djavax.net.ssl.keyStore=< ;chemin_keystore> ...
Propriété système :
System.setProperty("javax.net.ssl.keyStore", "" );
Propriétés supplémentaires pour Keystore Configuration
En plus de spécifier l'emplacement du magasin de clés, vous devrez peut-être configurer d'autres propriétés :
Mot de passe :
javax.net.ssl.keyStorePassword : Mot de passe pour déverrouiller la clé privée dans le keystore.
Trust Store :
javax.net.ssl.trustStore : emplacement du magasin de confiance contenant les certificats d'autorité de certification de confiance.
S'il n'est pas spécifié, Java recherchera les fichiers de clés par défaut emplacements.
Mot de passe du Trust Store :
javax.net.ssl.trustStorePassword : mot de passe pour déverrouiller le Trust Store.
Magasin de clés Tapez :
javax.net.ssl.trustStoreType : Pour le format de magasin de clés Java, il s'agit généralement de "jks".
Spécification du certificat pour Authentification
Une fois l'emplacement du keystore défini, vous pouvez spécifier le certificat à utiliser pour l'authentification. Cela se fait généralement via l'objet 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);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!