Dépannage « Alerte fatale reçue : handshake_failure via SSLHandshakeException »
Aperçu du problème :
Un La connexion SSL échoue avec une erreur "handshake_failure" lors d'un SSL autorisé par le client communication.
Causes potentielles :
- Suites de chiffrement incompatibles
- Versions SSL incompatibles
- Chemin de confiance du certificat incomplet
- Serveur incorrect certificate
Étapes de débogage :
Pour identifier la cause exacte de l'échec de la négociation, activez le débogage avec l'indicateur -Djavax.net.debug=all.
Principales conclusions du débogage Résultat :
Informations sur le keystore et le truststore :
Examinez le keystore et les truststores répertoriés pour vous assurer qu'ils contiennent les certificats corrects.
ClientHello :
Vérifiez que les suites de chiffrement dans le message ClientHello correspondent à celles spécifié dans le fichier Merchant.properties.
ServeurBonjour :
- Suite de chiffrement : vérifiez si le serveur a choisi une suite de chiffrement prise en charge.
- Certificat : examinez la chaîne de certificats du serveur pour identifier toute confiance potentielle problèmes.
Vérification du certificat de confiance :
- Si ServerHello n'inclut pas de certificat ou de message « Certificat de confiance trouvé », l'autorité de certification racine car le certificat du serveur peut être manquant dans le truststore.
Résolution :
En fonction des résultats du débogage, les résolutions suivantes peuvent être explorées :
- Assurez-vous que le le client et le serveur utilisent des suites de chiffrement et des versions SSL compatibles.
- Importez le certificat émettant le certificat du serveur dans le client. truststore si nécessaire.
- Vérifiez que le certificat du serveur est valide pour le nom d'hôte prévu.
Considérations supplémentaires :
- Le Le magasin de confiance contient les certificats des autorités de certification approuvés par la JVM. L'ajout de certificats non fiables peut compromettre la sécurité.
- Comprendre le résultat de la trace JSSE nécessite une familiarité avec les protocoles SSL/TLS. Si nécessaire, référez-vous à des ressources externes ou demandez l’aide d’un professionnel.
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!