Maison >Java >javaDidacticiel >Pourquoi est-ce que je reçois une alerte de prise de contact SSL « Unrecognized_Name » après la mise à niveau vers Java 1.7 ?

Pourquoi est-ce que je reçois une alerte de prise de contact SSL « Unrecognized_Name » après la mise à niveau vers Java 1.7 ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-23 10:00:25121parcourir

Why Do I Get an

Alerte de prise de contact SSL : erreur « Unrecognized_Name » après la mise à niveau vers Java 1.7.0

Avec la mise à niveau vers Java 1.7, les utilisateurs ont rencontré un Erreur "unrecognized_name" lors de l'établissement de connexions HTTPS. Ce problème provient de l'introduction de la prise en charge de l'indication de nom de serveur (SNI) dans Java 7, activée par défaut.

Cause

Certains serveurs mal configurés émettent un « Nom non reconnu » avertissement lors de la prise de contact SSL. Malheureusement, Java est l'un des rares clients à ne pas ignorer cet avertissement.

Solution de contournement

Pour résoudre ce problème, les utilisateurs peuvent désactiver la prise en charge SNI en utilisant :

java -Djsse.enableSNIExtension=false yourClass

Alternativement, ils peuvent définir la propriété dans leur Java code :

System.setProperty("jsse.enableSNIExtension", "false");

Remarque : Cette propriété doit être définie avant d'effectuer toute action SSL, car sa modification ultérieure n'aura aucun effet sur le statut SNI.

Solution hybride pour la préservation du SNI

En cas de désactivation complète du SNI est irréalisable, envisagez l'approche hybride suivante :

  1. Créez un SSLSocket avec le nom d'hôte souhaité et tentez la prise de contact.
  2. Si une exception "nom_non reconnu" est rencontrée, réessayez sans spécifier de nom d'hôte pour désactiver SNI.
  3. Cette approche permet l'utilisation de SNI avec repli en cas de configuration incorrecte. serveurs.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn