Technical Anshu Accueil › Tutoriels › Erreur de chiffrement SQL Server
🔐 Correctif du serveur SQL

Corriger l'erreur de cryptage SQL Server - Solution en un clic

SQL Server se connecte, puis refuse la connexion car il ne peut pas faire confiance au certificat du serveur. Ce n'est pas un problème de réseau et vos données ne disparaissent pas : c'est un problème de confiance. Parcourez les correctifs dans l'ordre dans lequel la vidéo les montre : l'option rapide côté client, le même commutateur dans une chaîne de connexion d'application et le correctif approprié sur le serveur lui-même.

✍️ Technical Anshu🔐 SQL Server🎧 Multi-Language Audio
Corriger l'erreur de cryptage SQL Server - Solution en un clic
🎧 Audio multilingue: Dans le lecteur vidéo, cliquez sur [Paramètres] (⚙️) ➔ [Piste audio] pour choisir votre langue.

📑Chapitres

  1. Erreur de connexion : "La chaîne de certificats a été émise par une autorité non fiable"
  2. Ce que signifie réellement l'erreur : le chiffrement est demandé, le certificat du serveur ne peut pas prouver son identité
  3. Le correctif client rapide – Certificat de serveur de confiance dans la fenêtre de connexion SSMS
  4. Le même correctif dans une chaîne de connexion d'application
  5. La solution appropriée : donner au serveur un véritable certificat auquel les clients font confiance
  6. Vérification du correctif : reconnectez-vous de manière stricte et prouvez que le chiffrement est bien activé

📋 Présentation et guide étape par étape

1

Lisez l'erreur : il s'agit d'un problème de confiance, pas d'un problème de réseau.

Votre réseau fonctionne bien et le serveur fonctionne. La connexion a atteint SQL Server, le serveur a proposé un canal crypté pour la connexion et votre PC l'a refusé car le certificat prouvant l'identité du serveur n'est signé par personne de confiance en votre PC. L'erreur complète affichée par SSMS est :

📌 L'erreur, exactement telle que SSMS le montre : "Une connexion a été établie avec succès avec le serveur, mais une erreur s'est ensuite produite lors du processus de connexion. (fournisseur : fournisseur SSL, erreur : 0 - La chaîne de certificats a été émise par une autorité qui n'est pas fiable.)"

Par défaut, SQL Server protège la connexion avec un certificat auto-signé qu'il crée lui-même. Un certificat auto-signé crypte le trafic, mais il ne peut pas prouver que le serveur est réellement votre serveur, donc les clients qui exigent un cryptage vérifié le rejettent. Chaque correctif honnête est l'une des deux choses suivantes : faire en sorte que le client accepte ce serveur particulier en connaissance de cause (étapes 2 et 3) ou donner au serveur un certificat auquel les clients font confiance (étape 4).

2

Le correctif client rapide dans SSMS - Certificat de serveur de confiance

C'est l'itinéraire rapide montré dans la vidéo. Cela ne change rien sur le serveur ; il indique à cette connexion d'accepter le certificat du serveur sans vérifier qui l'a signé. Dans la fenêtre SSMS Se connecter au serveur, cliquez sur Options pour ouvrir les onglets supplémentaires, accédez à l'onglet Propriétés de connexion, définissez le chiffrement sur Obligatoire (ou laissez-le tel qu'il est proposé), cochez Certificat de serveur de confiance et cliquez sur Connecter. La connexion s'effectue immédiatement.

⚠️ Sachez ce que la case à cocher désactive : le trafic reste crypté, mais le contrôle d'identité est ignoré - le client accepterait également un faux serveur placé entre les deux. Sur votre propre réseau local de bureau, pour un serveur que vous contrôlez, c'est la solution de contournement quotidienne acceptée, et dans le domaine des machines de développement et de test, c'est un commerce équitable. Sur Internet ou sur un serveur de production contenant les données client, traitez-les uniquement comme un pont temporaire et terminez le travail à l'étape 4. Il s'agit d'un pont, pas d'une destination.
3

Le même correctif dans une chaîne de connexion d'application

Si une application échoue au lieu de SSMS, le même commutateur réside dans sa chaîne de connexion. Ajoutez explicitement les deux paramètres : Encrypt=True active le canal protégé et TrustServerCertificate=True est l'orthographe de la chaîne de connexion de la case à cocher SSMS :

Connection String
Server=SQL01;Database=AppDB;User Id=appuser;Password=YourPassword;Encrypt=True;TrustServerCertificate=True;

Utilisez votre propre nom de serveur, base de données et connexion à la place des exemples de valeurs. Le compromis est exactement le même que celui de la case à cocher de l'étape 2, avec un danger supplémentaire : intégré à la configuration d'une application livrée, la vérification ignorée s'applique à chaque utilisateur, de manière invisible et permanente. Conservez-le dans les configurations de développement et de préparation, et en production, traitez-le comme du temps emprunté jusqu'à ce que le certificat de serveur de l'étape 4 soit en place.

📌 Pourquoi les applications se sont cassées sans être reconstruites : les pilotes récents ont modifié leurs paramètres par défaut : Microsoft.Data.SqlClient 5.1 et versions ultérieures, ainsi que le pilote ODBC 18, ont activé Chiffrer par défaut. Les chaînes de connexion qui ne mentionnaient jamais le chiffrement ont commencé à l'exiger, contre des serveurs dont les certificats auto-signés ne peuvent pas passer la validation. Rien n'a changé dans votre base de données ; le contrat à l’intérieur de la chaîne l’a fait. L'écriture explicite des paramètres signifie que la prochaine mise à jour du pilote ne pourra pas modifier le comportement de votre application dans votre dos.
4

La bonne solution : donnez au serveur un vrai certificat

La réparation permanente s'effectue une seule fois, sur le serveur, puis chaque client se connecte strictement sans case à cocher ni avertissement. Obtenez d'abord un certificat pour le nom DNS complet du serveur (par exemple sql01.company.local) auprès de votre autorité de certification interne ou d'une autorité de certification publique, avec utilisation de l'authentification du serveur. Importez-le, avec sa clé privée, dans le magasin de certificats Ordinateur local sur la machine SQL Server. Cliquez ensuite avec le bouton droit sur le certificat, choisissez Toutes les tâches → Gérer les clés privées et accordez au compte de service SQL Server l'autorisation Lecture sur la clé privée. Ouvrez le Gestionnaire de configuration SQL Server, développez Configuration réseau SQL Server, cliquez avec le bouton droit sur Protocoles pour MSSQLSERVER, choisissez Propriétés et sélectionnez le certificat dans l'onglet Certificat. Dans l'onglet Drapeaux, vous pouvez également définir ForceEncryption sur Oui afin que chaque client doive chiffrer. Redémarrez le service SQL Server : la modification n'a aucun effet jusqu'à ce que vous le fassiez.

✅ Les deux pièges qui provoquent presque tous les "ça n'a pas fonctionné" : un certificat dont le nom ne correspond pas au nom par lequel les clients se connectent (se connectent par le nom DNS du serveur, pas son adresse IP), et un compte de service qui ne peut pas lire la clé privée. Après le redémarrage, le journal des erreurs de SQL Server doit enregistrer que le certificat a été chargé avec succès pour le chiffrement. S'il se plaint, l'autorisation de clé privée est le premier endroit à rechercher.
⚠️ À propos de ForceEncryption : le définir sur Oui sur le serveur force le cryptage pour chaque connexion - ce qui n'est le bon état final qu'une fois qu'un certificat de confiance est installé. Le forcer alors que le serveur porte toujours son certificat auto-signé fait simplement échouer chaque client strict avec la même erreur, d'un seul coup.
5

Vérifiez le correctif de manière stricte

Une connexion qui réussit discrètement s’avère moins qu’on ne le pense, car certaines combinaisons de paramètres se connectent sans réelle protection. Prouvez les deux moitiés. Tout d'abord, reconnectez-vous à partir d'un client de la manière stricte : connectez-vous en utilisant le nom DNS du serveur - le nom contenu dans le certificat - définissez le cryptage sur Obligatoire et laissez Certificat de serveur de confiance décoché. La connexion devrait réussir sans avertissement. Ensuite, dans cette même session, demandez au serveur si la connexion est réellement chiffrée en exécutant cette requête dans SSMS :

SQL Query
SELECT session_id, encrypt_option, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;

encrypt_option affichant TRUE est la note de passage. FALSE avec une connexion fonctionnelle signifie que la connexion a réussi en abandonnant la protection et que le travail n'est pas terminé. Ce test de réussite est la véritable ligne d'arrivée : tout client correctement configuré, y compris les futures versions de SSMS, se connecte désormais avec une validation complète et sans paramètres spéciaux.

🏷️Variables et mots clés de recherche de sujet

🔍 SQLServer 🔍 CertificateNotTrusted 🔍 TrustServerCertificate 🔍 SSMS 🔍 ForceEncryption 🔍 TechnicalAnshu 🔍 SQL Server Encryption Error 🔍 Certificate Chain Not Trusted 🔍 Encrypt Connection 🔍 Connection String Fix 🔍 SQL Server Configuration Manager 🔍 SSL Provider Error
🎙️ Transcription complète — appuyez pour développer

__TOK_24__

__TOK_25__

__TOK_26__

❓ Questions fréquemment posées

Ce tutoriel est-il 100% gratuit à suivre ?

__TOK_27__

Les débutants peuvent-ils suivre ce guide ?

__TOK_28__

Où puis-je poser des questions si je suis bloqué ?

__TOK_29__

🚀 Regardez le didacticiel complet sur YouTube

__TOK_30__

__TOK_31__

▶️ Regarder la vidéo complète
Ce didacticiel est basé sur la vidéo Fix SQL Server Encryption Error de Technical Anshu. • Vous êtes bloqué à une étape ? Demandez dans les commentaires de la vidéo — vous y obtiendrez de l'aide 🙏