J'ai testé un système qui accède à un groupe de serveurs HTTPS avec différentes clés, dont certaines sont invalides et toutes ne sont pas dans le magasin de clé local pour mon JVM. Je ne fais vraiment que tester les choses, alors je me fiche de la sécurité à ce stade. Y a-t-il un bon moyen de faire appel au serveur et de dire à Java de ne pas vous inquiéter des certificats de sécurité? P>
Mes recherches Google pour cela ont soulevé des exemples de code qui rendent une classe à faire la validation, qui fonctionne toujours, mais je ne peux pas l'obtenir de se connecter à aucun des serveurs. P>
3 Réponses :
Vous devez créer un X509TRUSTManager qui contourne tout le contrôle de sécurité. Vous pouvez trouver un exemple dans ma réponse à cette question, p>
Comment ignorer les erreurs de certificat SSL dans Apache httpClient 4.0 p>
Et vous devez alors le jeter. Il est inutile de rédiger un code de sécurité, puis de le tester de manière non sécurisée. Fixez le problème i>. Si vous ne voulez pas de sécurité, n'utilisez pas SSL. Je tremble pour penser combien de fois cette chose est entrée en production.
@Daniel, alors votre système de production est insécurisé. Vous devez lire les remarques à ce sujet dans RFC2246. C'est une affaire très grave.
Selon les commentaires:
Avec des exemples Googled, vous voulez dire entre autres Celui-ci ? p> BlockQuote>
Mise à jour strong>: Le lien s'est cassé, voici un extrait de pertinence que j'ai enregistré de
L'archive Internet : p> xxx pré> p>
@Bevor: Droite. J'ai mis à jour la réponse. wayback était utile .
BTW, il existe un moyen de modifier l'usine SSL par défaut via une ligne de commande sans modifier l'application: Stackoverflow.com/questions/2762080/...
Ajouter ci-dessous code de méthode statique dans le fichier de classe
statique { p>
Merci Balusc qui fonctionne parfaitement. J'ai essayé 3 ou 4 qui compilèrent et couru bien mais ne fonctionnaient pas. Pourriez-vous faire cela une réponse?
Fait. Mais à l'avenir s'il vous plaît mentionner le droit dans la question qui exemplaire exactement que vous avez essayé avec des liens :)