Comment SQL Server utilise un certificat lorsque l’option Forcer le cryptage du protocole est activée

Résumé

Cet article décrit comment SQL Server utilise, localise et valide un certificat lorsque l’option Forcer le cryptage du protocole est activée sur le client ou sur le serveur pour activer le cryptage de la Net-Library.


Remarque Les concepts et les discussions qui s’appliquent à SQL Server 2000 de cet article s’appliquent également à SQL Server 2005. Cependant, dans SQL Server 2005, utilisez l’option ForceEncryption au lieu de l’option Forcer le cryptage du protocole . Vous pouvez définir la valeur de l’option ForceEncryption sur Oui pour activer les connexions de chiffrement d’une instance de SQL Server. Pour plus d’informations, consultez la « Comment : activer des connexions de chiffrement dans le moteur de base de données (Gestionnaire de Configuration SQL Server) » rubrique dans la documentation en ligne de SQL Server 2005.

Plus d'informations

Comment SQL Server utilise des certificats

SQL Server 2000 prend en charge l’option Forcer le cryptage du protocole pour contrôler le cryptage de la Net-Library. Lorsque le Forcer le cryptage du protocole est activée, SQL Server utilise Secure Sockets Layer (SSL) pour chiffrer toutes les communications entre le client et SQL Server. Un certificat est requis car le cryptage SSL fonctionne uniquement avec les instances de SQL Server 2000 qui sont exécutent sur un ordinateur qui dispose d’un certificat affecté auprès d’une autorité de certification publique.

Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

276553 et comment activer le cryptage SSL pour SQL Server 2000 Certificate Server

Pour plus d’informations sur la façon d’activer le chiffrement SSL pour SQL Server 2000, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

316898 comment activer le cryptage SSL pour SQL Server 2000 Microsoft Management Console

Si l’option Forcer le cryptage du protocole est activée sur le client à l’aide de l’utilitaire réseau du Client SQL Server, seulement les communications de ce client pour SQL Server sont chiffrée. Si le client essaie de se connecter à un autre ordinateur qui exécute SQL Server, le client essaie de crypter la communication. Si l’option Forcer le cryptage du protocole est activée sur le client, ce client n’est plus compatible en amont. Par conséquent, le client ne peut pas se connecter à Microsoft SQL Server 6.5 ou 7.0 de Microsoft SQL Server. Si l’ordinateur qui exécute SQL Server auquel le client essaie de se connecter n’a pas d’un certificat installé, le client reçoit ce message d’erreur :


Cryptage non pris en charge sur SQL Server

Par conséquent, si un client demande le chiffrement, un certificat doit être installé sur l’ordinateur qui exécute SQL Server. Après avoir installé le certificat sur l’ordinateur qui exécute SQL Server, vous devez redémarrer SQL Server pour utiliser le certificat. Si vous ne redémarrez pas SQL Server après avoir installé le certificat, clients avec cryptage activé ne pourra pas se connecter et le même message d’erreur s’affiche :


Cryptage non pris en charge sur SQL Server

Si l’option Forcer le cryptage du protocole est activée sur le serveur à l’aide de l’utilitaire réseau serveur, la communication entre tous les clients et SQL Server est cryptée. Par conséquent, si un certificat n’est pas installé sur l’ordinateur qui exécute SQL Server, ou si SQL Server ne peut pas valider le certificat, SQL Server ne démarre pas. Le journal des erreurs SQL Server aura ce texte :



2001-08-23 15:12:09.48 serveur demandée mais non valide certificat de cryptage a été trouvé. Arrêt de SQL Server.
2001-08-23 15:12:09.62 serveur Erreur : 17826, gravité : 18, état : 1
2001-08-23 15:12:09.62 server n’a pas pu configurer la Net-Library 'SSNETLIB'...
2001-08-23 15:12:09.67 serveur Erreur : 17059, gravité : 18, état : 0
2001-08-23 15:12:09.67 serveur erreur de système d’exploitation-1073723998 :...
serveur de 15:12:09.67 2001-08-23 : Impossible de charger les multiprotocole.
2001-08-23 15:12:09.74 serveur de SQL Server n’a pas pu générer la thread de FRunCM.

Comment SQL Server recherche un certificat

De SQL Server 2000 or version, SQL Server examine le magasin de certificats pour rechercher un certificat portant le même nom que le domaine nom système (complet) du nom de l’ordinateur SQL Server. Si vous déployez de SQL Server avec un cluster de basculement, vous devez installer le certificat de serveur avec le nom de domaine complet du serveur virtuel sur tous les nœuds du cluster de basculement.

À partir de Microsoft SQL Server 2000 Service Pack 1, SQL Server recherche une valeur binaire nommée certificat dans cette clé de Registre :

HKLM\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLibSi vous utilisez SQL Server 2005, vous pouvez trouver l’entrée de Registre de certificat sous la sous-clé de Registre suivante :

HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib

Remarque : MSSQL.x est un espace réservé pour la valeur correspondante de l’instance de SQL Server.

Si la valeur du certificat est manquante ou défini sur une chaîne de longueur zéro, SQL Server examine le magasin de certificats pour rechercher un certificat avec le même nom que le nom de domaine complet du nom de l’ordinateur SQL Server. Si la valeur de Registre est définie, SQL Server tente d’utiliser ce certificat.

Comment SQL Server vérifie qu’un certificat est valide

  • Propriété d’Utilisation avancée de la clé du certificat doit être activé pour l’authentification du serveur. Pour vérifier que le certificat est utilisé pour l’authentification du serveur, utilisez le composant logiciel enfichable de certificat Microsoft Management Console (MMC) double-cliquez sur le nom du certificat et puis sélectionnez Détails. Cliquez sur la propriété Utilisation avancée de la clé et vérifiez que la valeur est : Server Authentication(1.3.6.1.5.5.7.3.1).

  • Assurez-vous que le nom du certificat est le même que le nom de domaine complet de SQL Server ou de la valeur configurée dans le Registre (comme décrit plus haut).

  • Vous devez installer le certificat dans le dossier certificats - utilisateur actuel \Personal alors que vous êtes connecté sous le compte de démarrage SQL Server. Il se peut que cela va s’assurer que le certificat sera placé dans le dossier Certificats personnels du compte de démarrage de SQL Server. Si vous avez ouvert une session avec un compte d’utilisateur qui est différent du compte de démarrage de SQL Server, placer le certificat dans le dossier Certificates\Local les certificats d’ordinateur personnel . Cette action a résolu le problème de certificats stockés sous le compte d’utilisateur incorrect.

    Pour afficher le dossier de l’Utilisateur actuel , procédez comme suit :

    1. Ouvrez une session sous le compte de démarrage SQL Server.

    2. Utilisez le composant logiciel enfichable MMC Certificats pour vérifier l’emplacement du certificat.

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×