ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Modifie un fournisseur de services de chiffrement dans SQL Server à partir d'un fournisseur EKM (Gestion de clés extensible).

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

ALTER CRYPTOGRAPHIC PROVIDER provider_name 
    [ FROM FILE = path_of_DLL ]
    ENABLE | DISABLE

Arguments

  • provider_name
    Nom du fournisseur EKM (Gestion de clés extensible).

  • Path_of_DLL
    Chemin d'accès du fichier .dll qui implémente l'interface EKM (Gestion de clés extensible) SQL Server.

  • ENABLE | DISABLE
    Active ou désactive un fournisseur.

Notes

Si le fournisseur modifie le fichier .dll utilisé pour implémenter la gestion de clés extensible dans SQL Server, vous devez utiliser l'instruction ALTER CRYPTOGRAPHIC PROVIDER.

Lorsque le chemin d'accès du fichier .dll est mis à jour à l'aide de l'instruction ALTER CRYPTOGRAPHIC PROVIDER, SQL Server effectue les actions suivantes :

  • Désactive le fournisseur.

  • Vérifie la signature DLL et garantit que le fichier .dll possède le même GUID que celui qui est enregistré dans le catalogue.

  • Met à jour la version DLL dans le catalogue.

Lorsqu'un fournisseur de gestion de clés extensible a la valeur DISABLE, toute tentative d'utilisation du fournisseur avec des instructions de chiffrement échoue sur les nouvelles connexions.

Pour désactiver un fournisseur, toutes les sessions qui utilisent le fournisseur doivent être terminées.

Lorsqu'une DLL de fournisseur EKM n'implémente pas toutes les méthodes nécessaires, ALTER CRYPTOGRAPHIC PROVIDER peut retourner l'erreur 33085 :

Une ou plusieurs méthodes restent introuvables dans la bibliothèque du fournisseur de services de chiffrement '%.*ls'.

Lorsque le fichier d'en-tête utilisé pour créer la DLL de fournisseur EKM est obsolète, ALTER CRYPTOGRAPHIC PROVIDER peut retourner l'erreur 33032 :

La version API de chiffrement SQL '%02d.%02d' implémentée par le fournisseur n'est pas prise en charge. La version prise en charge est '%02d.%02d'.

Autorisations

Nécessite l'autorisation CONTROL sur le fournisseur de services de chiffrement.

Exemples

L'exemple suivant modifie un fournisseur de services de chiffrement, appelé SecurityProvider dans SQL Server, en ajoutant une version plus récente d'un fichier .dll. Cette nouvelle version est nommée c:\SecurityProvider\SecurityProvider_v2.dll et est installée sur le serveur. Le certificat du fournisseur doit être installé sur le serveur.

/* First, disable the provider to perform the upgrade.
This will terminate all open cryptographic sessions */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider 
DISABLE;
GO

/* Upgrade the provider .dll file. The GUID must the same
as the previous version, but the version can be different. */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';
GO

/* Enable the upgraded provider. */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider 
ENABLE;
GO