J'essaie de connecter mon cluster ou instance de base de données Amazon Relational Database Service (Amazon RDS) à l'aide de Secure Sockets Layer (SSL). J'ai reçu l'erreur suivante :
« ERROR 2026 (HY000): SSL connection error ».
Comment résoudre l'erreur ERROR 2026 pour Amazon RDS for MySQL, Amazon Aurora for MySQL ou Amazon Aurora sans serveur ?
Brève description
Il existe trois différents types de messages d'erreur pour ERROR 2026 :
- ERROR 2026 (HY000): SSL connection error: SSL certificate validation failure
- ERROR 2026 (HY000): SSL connection error: Server doesn't support SSL
- ERROR 2026 (HY000): SSL connection error: ASN: bad other signature confirmation
Consultez les étapes de dépannage suivantes pour chaque message d'erreur.
Résolution
ERROR 2026 (HY000): SSL connection error: SSL certificate validation failure
Pour résoudre cette erreur, commencez par vérifier si vous utilisez le point de terminaison du cluster ou de l'instance de base de données. Pour savoir comment Amazon RDS prend en charge le protocole SSL, consultez les sections Utilisation de SSL avec une instance de base de données MySQL ou Utilisation de SSL avec des clusters de base de données MySQL.
Si vous utilisez un client qui prend en charge l'extension SAN (Subject Alternative Names), vous ne pouvez alors utiliser que le point de terminaison du cluster. Si votre client ne prend pas en charge l'extension SAN, vous devez utiliser le point de terminaison de l'instance principale de base de données.
Remarque : Le client de la ligne de commande MySQL par défaut ne prend pas en charge l'extension SAN.
Si vous recevez cette erreur lorsque vous tentez de vous connecter au point de terminaison du cluster, essayez de vous connecter au point de terminaison de l'instance principale de base de données dans la chaîne de connexion. Par exemple, vous pouvez vous connecter au point de terminaison du cluster. Dans l'exemple suivant, le point de terminaison du cluster est abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com. Le point de terminaison de l'instance de base de données est abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com.
Connexion à l'aide du point de terminaison du cluster
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
ERROR 2026 (HY000): SSL connection error: SSL certificate validation failure
Connexion à l'aide du point de terminaison de l'instance de base de données
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-bundle.pem
--ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 26
ERROR 2026 (HY000): SSL connection error: Server doesn't support SSL
Vous pouvez recevoir cette erreur si le serveur ou la version du moteur que vous utilisez ne prend pas en charge le protocole SSL. Pour résoudre cette erreur, migrez vers un moteur qui prend en charge les connexions SSL.
ERROR 2026 (HY000): SSL connection error: SSL_CTX_set_default_verify_paths failed or ERROR 2026 (HY000): SSL connection error: ASN: bad other signature confirmation
Vous pouvez recevoir cette erreur si l'identificateur de certificat (nom de fichier de certificat) est incorrect. Vous pouvez également recevoir cette erreur si l'identificateur de certificat n'est pas pris en charge par le client MySQL, par exemple, avec Aurora sans serveur. Si vous utilisez des clusters Aurora sans serveur et que vous utilisez le client MySQL pour vous connecter à Aurora sans serveur, vous devez alors utiliser les commandes MySQL compatibles avec la version MySQL 8.0.
Assurez-vous d'utiliser le nom d'identifiant de certificat et le chemin vers le certificat appropriés pour vous connecter avec succès. Avant de connecter, vérifiez que vous avez téléchargé le certificat approprié. Pour plus d'informations, consultez la section Utilisation de SSL pour chiffrer une connexion à une instance de base de données.
Le fichier de certificat racine se trouve dans le répertoire Téléchargements dans une instance Amazon Elastic Compute Cloud (Amazon EC2). Dans l'exemple suivant, vous saisissez un chemin incorrect, ce qui génère une erreur ERROR 2026 :
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
ERROR 2026 (HY000): SSL connection error: SSL_CTX_set_default_verify_paths failed
Remarque : Cet exemple utilise la chaîne de connexion du répertoire de base, mais le certificat racine se trouve dans le répertoire Téléchargements.
Dans l'exemple suivant, vous utilisez le chemin d'accès au certificat racine pour vous connecter avec succès :
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-clust.cluster-xxxx.us-east-1.rds.amazonaws.com --ssl-ca /home/ec2-user/Downloads/rds-combined-ca-bundle.pem
--ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 26
Vous pouvez également recevoir cette erreur si vous ne disposez pas des autorisations nécessaires pour accéder au répertoire dans lequel est stocké le certificat. Assurez-vous que le certificat se trouve dans un répertoire pour lequel vous disposez des autorisations d'accès nécessaires. Consultez les exemples de connexion avec et sans autorisations suivants :
Connexion avec des autorisations insuffisantes
[ec2-user@ip-192-0-2-0 ~]$ sudo chmod 700 rds-combined-ca-bundle.pem
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
ERROR 2026 (HY000): SSL connection error: SSL_CTX_set_default_verify_paths failed
Connexion avec les autorisations appropriées
[ec2-user@ip-192-0-2-0 ~]$ sudo chmod 755 rds-combined-ca-bundle.pem
[ec2-user@ip-192-0-2-0 ~]$ mysql -h abcdefg-inst.xxxx.us-east-1.rds.amazonaws.com --ssl-ca rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY -u test -p test
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 810
Informations connexes
Utilisation du protocole TLS/SSL avec Aurora sans serveur