Erreur « Le certificat reçu à partir du serveur distant a été émis par une autorité de certification non approuvée » lorsque vous vous connectez à SQL Server

Cet article vous aide à résoudre le problème qui se produit quand vous essayez d’établir une connexion chiffrée à SQL Server.

Version du produit d’origine : SQL Server
Numéro de l’article d’origine dans la base de connaissances : 2007728

Symptômes

Lors de la connexion à SQL Server, le message dʼerreur suivant peut sʼafficher :

Une connexion a été établie avec le serveur, mais une erreur s’est ensuite produite pendant le processus d’ouverture de session. (Fournisseur : Fournisseur SSL, erreur : 0 - La chaîne de certificats a été fournie par une autorité qui n’est pas approuvée.) (Fournisseur de données SqlClient .Net)

En outre, le message d’erreur ci-dessous est consigné dans le journal des événements système Windows.

Log Name:      System  
Source:        Schannel  
Date:          10/13/2020 3:03:31 PM  
Event ID:      36882  
Task Category: None  
Level:         Error  
Keywords:  
User:        USERNAME  
Computer:     COMPUTERNAME  
Description:  
The certificate received from the remote server was issued by an untrusted certificate authority. Because of this, none of the data contained in the certificate can be validated. The TLS connection request has failed. The attached data contains the server certificate.

Cause

Cette erreur se produit quand vous essayez d’établir une connexion chiffrée à SQL Server à l’aide d’un certificat non vérifiable. Elle peut se produire dans les scénarios suivants :

Scénario Chiffrement côté serveur Chiffrement côté client Type de certificat Autorité émettrice du certificat présente dans le magasin des autorités de certification racines de confiance
1 Oui Non Vous configurez un certificat à partir d’une source non approuvée (l’autorité émettrice du certificat n’est pas répertoriée en tant qu’autorité approuvée dans Autorités de certification racines de confiance sur l’ordinateur client) Non
2 Désactivé Oui Certificat généré automatiquement par SQL Server Les certificats auto-signés n’apparaissent pas dans ce magasin.

Lors de l’établissement de connexions chiffrées à SQL Server, le canal sécurisé (Schannel) crée la liste des autorités de certification approuvées en effectuant une recherche dans le magasin des autorités de certification racines de confiance sur l’ordinateur local. Durant la négociation TLS, le serveur envoie son certificat de clé publique au client. L’émetteur d’un certificat de clé publique est appelé « autorité de certification ». Le client doit s’assurer que l’autorité de certification est approuvée par le client. Pour ce faire, il faut connaître à l’avance la clé publique des autorités de certification approuvées. Lorsque Schannel détecte un certificat émis par une autorité de certification non approuvée, comme dans les deux cas précédents, vous obtenez le message d’erreur répertorié dans la section Symptômes .

Résolution

Si vous utilisez volontairement un certificat d’une autorité non approuvée ou un certificat auto-signé pour chiffrer les connexions à SQL Server, vous pouvez utiliser l’une des options suivantes :

Pour le scénario 1, ajoutez l’autorité de certification au magasin Autorités de certification racines de confiance sur l’ordinateur client qui lance la connexion chiffrée. Pour ce faire, effectuez les procédures Exporter le certificat de serveur et Installer l’autorité de certification racine sur l’ordinateur client répertoriées dans les sections suivantes de cette séquence.

Exporter le certificat de serveur.

L’exemple utilise un fichier nommé caCert.cer comme fichier de certificat. Vous devez obtenir ce fichier de certificat auprès du serveur. Les étapes suivantes permettent d’exporter le certificat de serveur vers un fichier :

  1. Cliquez sur Démarrer, sur Exécuter, puis tapez MMC. (MMC est l’acronyme de Microsoft Management Console.)

  2. Dans MMC, ouvrez les certificats.

  3. Développez Personnel, puis Certificats.

  4. Cliquez avec le bouton droit sur le certificat de serveur, puis sélectionnez Toutes les tâches > Exporter.

  5. Cliquez sur Suivant pour passer la boîte de dialogue d’accueil de l’Assistant Exportation du certificat.

  6. Vérifiez que Non, ne pas exporter la clé privée est sélectionné, puis sélectionnez Suivant.

  7. Assurez-vous que l’option X.509 binaire encodé DER (.CER) ou X.509 encodé en base 64 (.CER) est sélectionnée, puis cliquez sur Suivant.

  8. Entrez le nom du fichier d’exportation.

  9. Cliquez sur Suivant, puis sur Terminer pour exporter le certificat.

Installer l’autorité de certification racine sur l’ordinateur client

  1. Démarrez le composant logiciel enfichable Certificats pour MMC sur l’ordinateur client, puis ajoutez le composant logiciel enfichable Certificats.

  2. Dans la boîte de dialogue Composant logiciel enfichable Certificats , sélectionnez Compte d’ordinateur , puis suivant.

  3. Dans le volet Sélectionner un ordinateur , sélectionnez Ordinateur local : (l’ordinateur sur lequel cette console s’exécute), puis sélectionnez Terminer.

  4. Sélectionnez OK pour fermer la boîte de dialogue Ajouter ou supprimer des composants logiciels enfichables.

  5. Dans le volet gauche de MMC, développez le nœud Certificats (ordinateur local).

  6. Développez le nœud Autorités de certification racines approuvées , cliquez avec le bouton droit sur le sous-dossier Certificats , sélectionnez Toutes les tâches, puis sélectionnez Importer.

  7. Dans l’Assistant Importation de certificat, dans la page Bienvenue, sélectionnez Suivant.

  8. Dans la page Fichier à importer , sélectionnez Parcourir.

  9. Accédez à l’emplacement du fichier de certificat caCert.cer , sélectionnez le fichier, puis sélectionnez Ouvrir.

  10. Dans la page Fichier à importer , sélectionnez Suivant.

  11. Dans la page Magasin de certificats , acceptez la sélection par défaut, puis sélectionnez Suivant.

  12. Dans la page Fin de l’Assistant Importation de certificat , sélectionnez Terminer.

Pour les scénarios 1 et 2, définissez le paramètre Certificat de serveur d’approbation sur true dans votre application cliente.

Pour plus d’informations sur la procédure à suivre, consultez les rubriques suivantes :

Remarque

Si vous utilisez SQL Server Management Studio, sélectionnez l’onglet Options, puis sélectionnez l’option Certificat du serveur d’approbation sous l’onglet Propriétés de connexion.

Attention: Les connexions SSL chiffrées à l’aide d’un certificat auto-signé n’offrent pas de sécurité forte. En effet, elles sont sensibles aux attaques de type man-in-the-middle. Vous ne devriez pas vous fier à SSL à l’aide de certificats auto-signés dans un environnement de production ou sur des serveurs connectés à Internet.

Si la configuration décrite dans les sections précédentes de cet article n’est pas prévue, utilisez l’une des options suivantes pour résoudre ce problème :

  • Configurez le moteur de base de données pour utiliser le chiffrement conformément à la procédure d’activation des connexions chiffrées au moteur de base de données.

  • Si le chiffrement n’est pas requis :

    • Désactivez les paramètres de chiffrement (le cas échéant) dans votre application cliente.

    • Désactivez le chiffrement côté serveur à l’aide du Gestionnaire de configuration SQL Server. Pour plus d’informations sur la procédure à suivre, consultez Configurer le serveur.