Il n’a jamais été aussi facile de mettre en place un certificat SSL (Secure Sockets Layer) pour votre site Web. Vous pouvez générer des certificats gratuitement, et de nombreux fournisseurs d’hébergement les configurent même pour vous. Toutefois, si vous ne configurez pas votre certificat correctement, vous risquez de rencontrer des erreurs telles que « SSL handshake failed ».
L’erreur « SSL handshake failed » apparaît lorsque votre navigateur et le serveur ne parviennent pas à établir une connexion sécurisée. Cet article explique ce qu’est une poignée de main SSL et ce qu’il faut faire si vous ne parvenez pas à en établir une.
Allons-y !
Qu’est-ce qu’une poignée de main SSL ?
Comme vous le savez peut-être, un certificat SSL valide l' »identité » de votre site Web. Pour ce faire, il utilise une clé cryptographique que votre navigateur vérifie pour s’assurer que le certificat est valide. Une fois la connexion établie, votre navigateur peut décrypter le contenu que le serveur lui envoie.
Ce processus s’appelle une « poignée de main ». Voici comment il fonctionne plus en détail :
- Vous visitez un site Web doté d’un certificat SSL et votre navigateur envoie une demande de données.
- Le serveur envoie au navigateur une clé publique cryptée.
- Votre navigateur vérifie cette clé et renvoie sa clé cryptée au serveur.
- Le serveur décrypte la clé et renvoie le contenu crypté à votre navigateur.
- Votre navigateur déchiffre le contenu (ce qui complète la poignée de main).
Tout cela se passe en quelques secondes. Les certificats SSL et le protocole HTTPS permettent à votre site Web de transmettre des données en toute sécurité, sans nuire à ses performances. Un certificat SSL est donc essentiel pour tout site Web. Cependant, comme tout élément de votre site, il peut occasionnellement créer des problèmes particuliers.
Quelles sont les causes de l’erreur « SSL Handshake Failed » ?
L’erreur « SSL handshake failed » vous indique précisément la nature du problème. Elle apparaît lorsque votre navigateur ne parvient pas à établir une connexion avec un site Web doté d’un certificat SSL :
Dans cet exemple provenant d’un site Web utilisant Cloudflare, vous pouvez voir que l’erreur « SSL handshake failed » correspond au code « 525 ». Ainsi, l’erreur peut provenir à la fois de problèmes côté serveur et côté client.
Les causes les plus courantes de l’erreur « SSL handshake failed » sont les suivantes :
- Votre appareil local a une date ou une heure erronée
- Le navigateur ne prend pas en charge le dernier protocole SSL
- Votre certificat SSL n’est pas valide
- Il y a un problème avec votre configuration SNI (Server Name Identification)
- Il y a un problème avec votre réseau de diffusion de contenu (CDN), tel que Cloudflare
Cette liste comprend deux problèmes locaux, deux qui sont liés au serveur de votre site Web et un qui est spécifique à un service tiers. Dans les sections suivantes, nous allons voir comment résoudre chacun de ces problèmes.
Comment corriger l’erreur « SSL Handshake Failed » (5 façons)
Nous allons commencer par vous montrer comment résoudre les problèmes côté client qui peuvent provoquer l’erreur « SSL handshake failed ». Ces solutions sont assez simples. Toutefois, si elles ne fonctionnent pas, nous passerons ensuite à des solutions plus techniques que vous pourrez essayer.
1. Mettez à jour la date et l’heure de votre appareil local
Lorsque votre navigateur tente d’établir une poignée de main SSL, il vérifie le certificat en fonction de la date et de l’heure de votre ordinateur. Il le fait pour vérifier que le certificat SSL est toujours valide.
Si la date et l’heure de votre appareil local sont faussées, cela peut entraîner des erreurs lors du processus de vérification (c’est-à-dire qu’il n’y a pas de poignée de main). Heureusement, il existe une solution simple à ce problème.
Sur un appareil Windows, ouvrez le menu Démarrer et tapez Date & Time settings. Sélectionnez l’option qui apparaît et une nouvelle fenêtre s’ouvrira. Activez le paramètre Définir l’heure automatiquement et assurez-vous que votre fuseau horaire est correct :
Vérifiez que votre date est maintenant correcte, puis essayez de recharger le site Web.
Voici comment corriger la date et l’heure sur d’autres systèmes d’exploitation (SE) :
Si la correction de la date et de l’heure sur votre appareil local ne fonctionne pas, vous pouvez passer à la correction suivante.
2. Assurez-vous que votre navigateur prend en charge le dernier protocole TLS
Dans certains cas, l’erreur « SSL handshake failed » est due à des problèmes de navigateur. Le problème le plus courant est que votre navigateur ne prend pas en charge le protocole TLS (Transport Layer Security) utilisé par votre certificat.
Pour simplifier, SSL et TLS sont tous deux des protocoles d’authentification, et votre certificat peut utiliser l’un ou l’autre. Les navigateurs modernes prennent en charge les deux protocoles, mais leurs anciennes versions peuvent ne pas l’être.
Le moyen le plus simple de déterminer si votre navigateur est à l’origine du problème est d’en utiliser un autre. Si l’erreur « SSL handshake failed » n’apparaît pas dans d’autres navigateurs, il se peut que le problème vienne du navigateur d’origine.
Pour résoudre ce problème sous Windows, ouvrez le menu Démarrer et tapez Options Internet. Sélectionnez l’option qui s’affiche et allez dans l’onglet Avancé . Faites défiler la liste des paramètres jusqu’à ce que vous trouviez les options correspondant aux paramètres SSL et TLS :
Idéalement, vous devriez décocher la case pour SSL 3 et 2 (si vous voyez ces options). Vous devez seulement cocher les cases pour TLS 1, 1.1 et 1.2.
Enregistrez ensuite les modifications dans vos options Internet et essayez d’accéder à nouveau au site Web. Notez que si vous utilisez macOS ou iOS, TLS 1.2 devrait être activé par défaut.
3. Assurez-vous que votre certificat SSL est valide
Les certificats SSL ont des dates d’expiration. Il s’agit d’une fonction intégrée qui vous oblige à renouveler le certificat à un moment donné et à valider la propriété de votre domaine.
Si votre certificat SSL expire, votre navigateur ne sera pas en mesure d’établir une poignée de main. Selon le fournisseur de votre certificat SSL, vous recevrez probablement des notifications bien avant l’expiration du certificat, afin que vous puissiez le renouveler.
Néanmoins, il n’est pas inutile de vérifier si vous n’êtes pas sûr de la date d’expiration de votre certificat. Pour ce faire, vous pouvez utiliser un outil tel que SSL Server Test :
Ce service renverra de nombreuses informations sur le certificat SSL de votre site Web. Si le certificat a expiré, vous verrez quand sa validité a expiré :
Dans ce cas, vous devrez réémettre et installer le certificat SSL sur votre site Web. En fonction de votre hébergeur, il pourra vous aider dans cette démarche.
4. Vérifiez la configuration de l’identification du nom du serveur (SNI) de votre serveur
Si vous utilisez un serveur partagé pour héberger votre site Web, vous pouvez rencontrer des problèmes avec plusieurs certificats SSL. Les hébergeurs utilisent une configuration SNI (Server Name Identification) appropriée pour s’assurer que lorsque les visiteurs essaient d’accéder à votre site, ils obtiennent le bon certificat SSL (et non celui d’une autre propriété).
D’une manière générale, la plupart des hébergeurs de bonne réputation ne présentent aucun problème de configuration SNI. De plus, si vous n’utilisez pas un serveur partagé, vous pouvez passer à la correction suivante.
Si vous voulez être sûr à 100% que votre hébergeur ne présente aucun problème avec la configuration SNI, vous pouvez contacter son support pour obtenir de l’aide. Sur un serveur mutualisé, vous ne pourrez pas accéder directement à cette configuration. Si cela s’avère être le problème, vous pouvez envisager de passer à un plan d’hébergement plus robuste.
5. Mettez Cloudflare en pause pour tester votre certificat SSL
Si vous utilisez Cloudflare, l’erreur « SSL handshake failed » peut être due à un problème de connexion à votre site Web. Le moyen le plus simple de le tester est de le désactiver temporairement.
Heureusement, Cloudflare propose une fonction de « mise en pause » que vous pouvez utiliser pour désactiver le service à tout moment. Une fois cette opération effectuée, nous vous recommandons de vider le cache de votre navigateur avant d’essayer d’accéder à nouveau à votre site Web.
Si l’erreur de prise de contact SSL a disparu, vous pouvez contacter Cloudflare pour déterminer la nature du problème. Dans l’attente d’une réponse, désactivez le CDN pour que les autres utilisateurs puissent également accéder à votre site Web. En revanche, si l’erreur SSL persiste, cela signifie qu’elle est probablement due à une erreur de configuration de votre serveur (voir ci-dessus).
Conclusion
L’erreur « SSL handshake failed » est relativement facile à corriger, pour autant que vous connaissiez ses causes potentielles. L’erreur peut être due à un problème avec les paramètres de votre appareil local, la configuration de votre serveur ou votre CDN.
Voici ce que vous devez faire pour corriger l’erreur « SSL handshake failed » :
- Mettez à jour la date et l’heure de votre appareil local.
- Assurez-vous que votre navigateur prend en charge le dernier protocole TLS.
- Assurez-vous que votre certificat SSL est valide.
- Vérifiez la configuration SNI de votre serveur.
- Mettez Cloudflare en pause pour tester votre certificat SSL.
Vous avez des questions sur la façon de corriger l’erreur « SSL handshake failed » ? Parlons-en dans la section des commentaires ci-dessous !
Featured Image via vladwel / shutterstock.com