La désactivation de SSL de Validation de Certificat au Printemps RestTemplate
Je vais avoir deux Printemps en fonction des applications web A et B, sur deux machines différentes.
Je veux faire un https appel de web app Un pour web app B, cependant j'utilise un certificat auto-signé sur une Machine B. Donc ma demande HTTPS échoue.
Comment puis-je désactiver https certificat de validation lors de l'utilisation de RestTemplate au Printemps ? Je veux désactiver la validation parce que les deux web app A et B sont dans le réseau interne, mais le transfert de données doit se faire sur HTTPS
Vous devez vous connecter pour publier un commentaire.
Ce que vous devez ajouter est une coutume
HostnameVerifier
classe contourne la vérification du certificat et renvoie trueCe doit être placé de manière appropriée dans votre code.
HttpsURLConnection.setDefaultHostnameVerifier((hostname, session) -> true);
Essentiellement deux choses que vous devez faire est d'utiliser un personnalisé TrustStrategy qui se fie à tous les certs, et également utiliser NoopHostnameVerifier() pour désactiver la vérification du nom d'hôte. Voici le code, avec toutes les importations:
NoopHostnameVerifier
est très important de réponse à cette négligence. Un cas d'utilisation est à l'aide de votre public SSL cert par le biais de bouclage delocalhost
.Vous pouvez l'utiliser avec HTTPClient API.
J'ai trouvé un moyen simple
Pour renverser la stratégie par défaut, vous pouvez créer une méthode dans la classe où vous êtes câblé à votre restTemplate:
Note: Sûrement, vous avez besoin pour gérer les exceptions puisque cette méthode ne lance plus loin!