Comment corriger l'erreur « Echec de la prise de contact SSL »

Publié: 2021-07-04

La configuration d'un certificat Secure Sockets Layer (SSL) pour votre site Web n'a jamais été aussi simple. Vous pouvez générer des certificats gratuitement et de nombreux hébergeurs les configureront même pour vous. Cependant, si vous ne configurez pas correctement votre certificat, vous pouvez rencontrer des erreurs telles que « échec de la négociation SSL ».

L'erreur « échec de la négociation SSL » s'affiche lorsque votre navigateur et le serveur ne peuvent pas établir une connexion sécurisée. Cet article expliquera 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. Il le fait à l'aide d'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échiffrer le contenu que le serveur lui envoie.

Ce processus est appelé « poignée de main ». Voici comment cela fonctionne plus en détail :

  1. Vous visitez un site Web avec un certificat SSL et votre navigateur envoie une demande de données.
  2. Le serveur envoie au navigateur une clé publique cryptée.
  3. Votre navigateur vérifie cette clé et renvoie sa clé cryptée au serveur.
  4. Le serveur décrypte la clé et renvoie le contenu crypté à votre navigateur.
  5. Votre navigateur décrypte le contenu (et donc termine 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 impact négatif sur les performances. Cela rend un certificat SSL vital pour tout site Web. Cependant, comme tout élément de votre site, il peut parfois créer des problèmes uniques.

Quelles sont les causes de l'erreur « Échec de la négociation SSL »

L'erreur « échec de la négociation SSL » vous indique précisément quel est le problème. Il apparaît lorsque votre navigateur ne parvient pas à établir une connexion avec un site Web doté d'un certificat SSL :

Erreur d'échec de la négociation SSL

Dans cet exemple d'un site Web utilisant Cloudflare, vous pouvez voir que l'erreur « échec de la négociation SSL » 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 « échec de la négociation SSL » incluent :

  1. Votre appareil local a la mauvaise date ou heure
  2. Le navigateur ne prend pas en charge le dernier protocole SSL
  3. Votre certificat SSL n'est pas valide
  4. Il y a un problème avec votre configuration d'identification de nom de serveur (SNI)
  5. 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 liés au serveur de votre site Web et un spécifique à un service tiers. Dans les sections suivantes, nous verrons comment aborder chacun d'eux.

Comment corriger l'erreur "SSL Handshake Failed" (5 manières)

Ici, nous allons commencer par vous montrer comment résoudre les problèmes côté client qui peuvent provoquer l'erreur « échec de la négociation SSL ». Ces solutions sont assez simples. Au cas où cela ne fonctionnerait 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 essaie d'établir une poignée de main SSL, il vérifie le certificat par rapport à la date et à 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 éteintes, cela peut entraîner des erreurs pendant le processus de vérification (c'est-à-dire pas de poignée de main). Heureusement, il s'agit d'un problème avec une solution simple.

Sur un appareil Windows, ouvrez le menu Démarrer et saisissez les paramètres de date et d'heure . Sélectionnez l'option qui apparaît et une nouvelle fenêtre apparaîtra. Activez le paramètre Définir l'heure automatiquement et assurez-vous que votre fuseau horaire est correct :

Configuration de Windows pour régler l'heure automatiquement

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 (OS) :

  • macOS
  • iOS
  • Android

Si la correction de la date et de l'heure sur votre appareil local ne suffit pas, vous pouvez passer à la correction suivante.

2. Assurez-vous que votre navigateur prend en charge le dernier protocole TLS

Dans certains cas, vous pouvez rencontrer l'erreur « échec de la négociation SSL » en raison de problèmes avec votre 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 faire simple, SSL et TLS sont 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 pourraient ne pas le faire.

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 « échec de la négociation SSL » n'apparaît pas dans d'autres navigateurs, l'erreur d'origine peut être à l'origine du problème.

Pour résoudre ce problème sous Windows, ouvrez le menu Démarrer et saisissez Options Internet . Sélectionnez l'option qui apparaît et accédez à 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 :

Configuration des protocoles TLS pris en charge par votre connexion

Idéalement, vous devriez décocher la case pour SSL 3 et 2 (si vous voyez ces options). Il vous suffit de cocher les cases pour TLS 1, 1.1 et 1.2.

Enregistrez ensuite les modifications apportées à vos options Internet et essayez à nouveau d'accéder au site Web. Notez que si vous utilisez macOS ou iOS, TLS 1.2 doit être activé par défaut.

3. Assurez-vous que votre certificat SSL est valide

Les certificats SSL ont des dates d'expiration. C'est 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 pourra pas établir de poignée de main. Selon qui est votre fournisseur de certificat SSL, vous recevrez probablement des notifications bien avant son expiration afin que vous puissiez le renouveler.

Même ainsi, cela ne fait pas de mal de vérifier si vous n'êtes pas sûr de la date d'expiration de votre certificat. Vous pouvez utiliser un outil tel que SSL Server Test pour le faire :

Utilisation du service SSL Server Test

Le 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é :

Vérifier si votre certificat SSL a expiré

Dans ce cas, vous devrez réémettre et installer le certificat SSL sur votre site Web. Selon qui est votre fournisseur d'hébergement, il peut être en mesure de vous aider dans ce processus.

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 fournisseurs d'hébergement utilisent une configuration d'identification de nom de serveur (SNI) appropriée pour s'assurer que lorsque les visiteurs tentent d'accéder à votre site, ils obtiennent le bon certificat SSL (et non celui d'une autre propriété).

De manière générale, la plupart des hébergeurs réputés ne présenteront aucun problème avec la configuration SNI. De plus, si vous n'utilisez pas de serveur partagé, vous pouvez passer au correctif suivant.

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. Suspendre Cloudflare pour tester votre certificat SSL

Si vous utilisez Cloudflare, l'erreur « échec de la négociation SSL » peut être due à un problème de connexion à votre site Web. Le moyen le plus simple de tester cela est de le désactiver temporairement.

Heureusement, Cloudflare propose une fonctionnalité de « pause » que vous pouvez utiliser pour désactiver le service à tout moment. Une fois cela fait, nous vous recommandons de vider le cache de votre navigateur avant d'essayer d'accéder à nouveau à votre site Web.

Si l'erreur de négociation SSL a disparu, vous devrez contacter Cloudflare pour voir quel pourrait être le problème. Pendant que vous attendez une réponse, laissez le CDN désactivé afin que d'autres utilisateurs puissent également accéder à votre site Web. En revanche, si l'erreur SSL persiste, cela signifie probablement qu'il s'agit d'une erreur de configuration de votre serveur (voir ci-dessus).

Conclusion

L'erreur « échec de la négociation SSL » est relativement facile à corriger, tant que vous êtes conscient de 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 devrez peut-être faire pour corriger l'erreur « échec de la négociation SSL » :

  1. Mettez à jour la date et l'heure de votre appareil local.
  2. Assurez-vous que votre navigateur prend en charge le dernier protocole TLS.
  3. Assurez-vous que votre certificat SSL est valide.
  4. Vérifiez la configuration SNI de votre serveur.
  5. Suspendez Cloudflare pour tester votre certificat SSL.

Avez-vous des questions sur la façon de corriger l'erreur « échec de la négociation SSL » ? Parlons-en dans la section commentaires ci-dessous!

Image en vedette via vladwel / shutterstock.com