ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)

S'applique à : SQL Server

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

Conventions de la 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 :

One or more methods cannot be found in cryptographic provider library '%.*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 :

SQL Crypto API version '%02d.%02d' implemented by provider is not supported. Supported version is '%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.

  1. Désactivez le fournisseur pour effectuer la mise à niveau. Cela met fin à toutes les sessions de chiffrement ouvertes.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
DISABLE;  
GO  
  1. Mettez à niveau le fichier .dll du fournisseur. Le GUID doit être identique à celui de la version précédente, mais la version peut être différente.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider  
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';  
GO  
  1. Activez le fournisseur mis à niveau.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
ENABLE;  
GO  

Voir aussi

Gestion de clés extensible (EKM)
CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Gestion de clés extensible à l’aide d’Azure Key Vault (SQL Server)