Maison > Java > javaDidacticiel > Pourquoi est-ce que je reçois une erreur de prise de contact SSL « Nom non reconnu » après la mise à niveau vers Java 1.7.0 ?

Pourquoi est-ce que je reçois une erreur de prise de contact SSL « Nom non reconnu » après la mise à niveau vers Java 1.7.0 ?

DDD
Libérer: 2024-12-12 18:51:10
original
883 Les gens l'ont consulté

Why Am I Getting an

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
Copier après la connexion

Vous pouvez également définir la propriété dans le code Java avant toute opération SSL :

System.setProperty("jsse.enableSNIExtension", "false");
Copier après la connexion

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 :

  1. Créez un SSLSocket avec le nom d'hôte prévu (sslsock ).
  2. Exécutez sslsock.startHandshake(). Si la connexion rencontre l'erreur « Nom non reconnu », passez à l'étape 3.
  3. Réessayez d'ouvrir un nouveau SSLSocket sans nom d'hôte, désactivant ainsi SNI.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal