Alerte de prise de contact SSL : erreur de nom non reconnu après la mise à niveau de Java 1.7.0
Avec la mise à niveau vers Java 1.7.0, les utilisateurs ont rencontré une erreur « Nom non reconnu » lors des poignées de main SSL. Cette erreur provient de l'activation par défaut par Java 7 de la prise en charge de l'indication du nom de serveur (SNI).
Cependant, certains serveurs mal configurés répondent à cette fonctionnalité avec l'erreur susmentionnée, ce qui fait que sa gestion par Java devient un obstacle.
Solutions de contournement :
1. Désactivez l'extension SNI :
Pour contourner temporairement ce problème, exécutez votre application avec la commande suivante :
java -Djsse.enableSNIExtension=false yourClass
Vous pouvez également définir la propriété dans le code Java avant toute opération SSL :
System.setProperty("jsse.enableSNIExtension", "false");
Notez que cette méthode désactive la fonctionnalité SNI globalement.
2. Approche hybride (activation de SNI lors de la gestion des erreurs de configuration) :
Pour utiliser SNI tout en prenant en charge les serveurs mal configurés, mettez en œuvre les étapes suivantes :
Implémentation du proxy Webscarab :
Cette approche a été implémentée dans le proxy SSL Webscarab pour gérer le problème efficacement.
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!