Le message d'erreur que vous voyez, SSL routines:tls_process_server_certificate:certificate verify failed, indique qu'il y a un problème avec le processus de vérification du certificat SSL pendant la négociation SSL/TLS.
Voici les étapes que vous pouvez suivre pour résoudre ce problème :
Vérifiez la date et l'heure du système :
Assurez-vous que la date et l'heure du système sur votre serveur sont correctement réglées. Si elles sont incorrectes, les certificats SSL/TLS peuvent échouer à se vérifier.
Mettez à jour les autorités de certification (CA) :
La bibliothèque SSL peut ne pas avoir de certificats racines à jour. Mettez à jour les certificats CA :
Pour Ubuntu, vous pouvez utiliser la commande suivante :
sudo apt-get install ca-certificates
Vérifiez la chaîne de certificats :
Utilisez un outil de vérification SSL (comme openssl s_client
) pour vérifier la chaîne de certificats SSL. Cela peut vous aider à identifier s'il y a des problèmes avec la chaîne de certificats.
Par exemple :
openssl s_client -connect example.com:443
Remplacez example.com
par le domaine réel auquel vous essayez de vous connecter.
Vérifiez les problèmes de proxy ou de pare-feu :
Si votre serveur se trouve derrière un proxy ou un pare-feu, assurez-vous qu'il autorise les connexions sortantes sur le port 443 (HTTPS).
Vérifiez le certificat sur le serveur :
Assurez-vous que le certificat SSL installé sur le serveur est valide et correctement configuré. Vérifiez qu'il n'y a pas de problèmes d'expiration ou de mauvaise configuration.
Utilisez le bon domaine :
Assurez-vous que vous utilisez le bon domaine dans votre requête. Le nom de domaine doit correspondre à celui sur le certificat SSL.
Désactiver la vérification du certificat (non recommandé) :
Bien que cela ne soit pas recommandé pour une utilisation en production, vous pouvez désactiver temporairement la vérification du certificat SSL pour tester si cela résout le problème. Cependant, cela peut exposer votre système à des risques de sécurité.
En Python, vous pouvez utiliser l'argument verify=False
dans la bibliothèque requests
.
Contactez le propriétaire du site web ou l'autorité de certification :
Si vous vous connectez à un site web ou un service tiers, contactez le propriétaire du site ou l'autorité de certification pour vous assurer que leur certificat SSL est valide et correctement configuré.
Vérifiez la compatibilité de la version SSL/TLS :
Assurez-vous que la version SSL/TLS utilisée par votre client est compatible avec le serveur. Certains serveurs peuvent nécessiter des versions spécifiques de SSL/TLS.
Mettez à jour OpenSSL :
Assurez-vous que OpenSSL est à jour sur votre système. Les versions obsolètes peuvent avoir des problèmes connus avec la validation des certificats SSL.
Vérifiez la résolution DNS :
Assurez-vous que votre serveur peut résoudre correctement le DNS du serveur cible.
Rappelez-vous de procéder avec prudence, surtout si vous envisagez de désactiver la vérification des certificats. Il est important de rétablir une validation correcte des certificats une fois que le problème est identifié et résolu.