Échec de la poignée de main SSL : 11 causes et solutions
· Équipe CSR.plus

- •Une poignée de main qui échoue provient presque toujours de l’une des 11 causes : certificat, chiffrement, SNI, protocole ou réseau.
- •Diagnostiquez dans l’ordre : expiration, correspondance d’hôte, intégrité de la chaîne, puis versions TLS et chiffrements.
- •La plupart des échecs se règlent avec une chaîne intermédiaire correcte ou une suite de chiffrement compatible.
Ce qui se passe quand une poignée de main échoue
Pendant la poignée de main TLS, client et serveur doivent s’accorder sur une version de protocole, une suite de chiffrement et une chaîne de certificats valide. Un échec à n’importe quelle étape interrompt la connexion. Points de défaillance courants : certificat expiré, hôte non couvert, chaîne incomplète (le serveur envoie la feuille sans l’intermédiaire), version TLS non prise en charge, chiffrements incompatibles, SNI absent ou pare-feu/NAT qui supprime le ClientHello.
Diagnostic en moins d’une minute
Exécutez openssl s_client -connect votredomaine.com:443 -servername votredomaine.com et lisez la sortie. « Verify return code: 0 » signifie que la chaîne est bonne. « unable to get local issuer certificate » indique un intermédiaire manquant. « no peer certificate available » ou une ligne vide après CONNECTED signifie que le serveur n’a jamais terminé la poignée de main : un problème de protocole ou de chiffrement. Les erreurs de console du navigateur complètent la vue client.
Solutions pour les 5 causes les plus fréquentes
1) Intermédiaire manquant : téléchargez le bundle CA et concaténez feuille + intermédiaire dans le bon ordre. 2) Chiffrements incompatibles : activez une suite courante comme TLS_AES_256_GCM_SHA384 (TLS 1.3) ou ECDHE-RSA-AES256-GCM (TLS 1.2). 3) Version TLS : activez TLS 1.2 et 1.3 et désactivez les versions inférieures. 4) Hôte/SNI : assurez-vous que le certificat couvre l’hôte exact et que SNI est activé. 5) Réseau : vérifiez que le port 443 est ouvert et qu’un répartiteur ou CDN ne termine pas TLS avec ses propres réglages.
FAQ
Pourquoi la poignée de main échoue dans le navigateur mais pas avec curl ?
Les clients acceptent des versions TLS et suites différentes. Si curl fonctionne mais pas un vieux navigateur, le client ne supporte pas la version négociée : activez TLS 1.2 comme minimum.
Un pare-feu peut-il provoquer des échecs de poignée de main ?
Oui. Certains pare-feu et NAT suppriment silencieusement les gros ClientHello ou bloquent les ports TCP. Testez avec un port non standard ou une capture de paquets.
UptimeRobot
Surveillez votre SSL et votre disponibilité gratuitement
UptimeRobot surveille vos certificats et endpoints 24h/24 — 50 moniteurs dans le plan gratuit.
Lien d’affiliation — nous pouvons percevoir une commission sans frais supplémentaires pour vous.
Outils SSL/TLS gratuits
Vérifiez et inspectez vos certificats en quelques secondes.