Gestion des certificats SSL auto-signés dans les clients Java
Lors de la connexion à un serveur avec un certificat SSL auto-signé ou expiré, un Java le client rencontre généralement une erreur en raison d'un manque de confiance dans le certificat. Pour résoudre ce problème, vous pouvez soit ajouter le certificat auto-signé au truststore de la JVM, soit configurer le client pour qu'il fasse confiance à tous les certificats.
Option 1 : Importer le truststore
<JAVA_HOME>\bin\keytool -import -v -trustcacerts \ -alias server-alias -file server.cer \ -keystore cacerts.jks -keypass changeit \ -storepass changeit
Option 2 : Désactivation de la validation du certificat
Avertissement : Ceci n'est pas recommandé car cela compromet la sécurité SSL.
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());
URL url = new URL("https://hostname/index.html");
Préférez l'option n°1 pour maintenir l'intégrité SSL. Il est également recommandé que le serveur obtienne un certificat signé par une autorité de certification de confiance pour une sécurité optimale.
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!