Partage via


CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

S’applique à : SQL Server Azure SQL Managed Instance

Crée un fournisseur de services de chiffrement dans SQL Server à partir d'un fournisseur EKM (Extensible Key Management).

Conventions de la syntaxe Transact-SQL

Syntaxe

CREATE CRYPTOGRAPHIC PROVIDER provider_name   
    FROM FILE = path_of_DLL  

Arguments

provider_name
Nom du fournisseur EKM (Extensible Key Management)

path_of_DLL
Chemin d'accès du fichier .dll qui implémente l'interface SQL Server EKM. Quand vous utilisez le connecteur SQL Server pour Microsoft Azure Key Vault, l’emplacement par défaut est 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll' .

Remarques

Toutes les clés créées par un fournisseur référenceront ce dernier par son GUID. Le GUID est conservé dans toutes les versions de la DLL.

La DLL qui implémente l'interface SQLEKM doit être signée numériquement à l'aide de n'importe quel certificat. SQL Server vérifiera la signature. La vérification inclut sa chaîne de certificats, dont la racine doit être installée à l’emplacement Autorités de certification racines de confiance sur un système Windows. Si la signature n’est pas vérifiée correctement, l’instruction CREATE CRYPTOGRAPHIC PROVIDER échoue. Pour plus d’informations sur les certificats et les chaînes de certificats, consultez Certificats et clés asymétriques SQL Server.

Lorsqu'une DLL de fournisseur EKM n'implémente pas toutes les méthodes nécessaires, CREATE 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, CREATE 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

Requiert l’autorisation CONTROL SERVER ou l’appartenance au rôle serveur fixe sysadmin.

Exemples

L’exemple suivant crée un fournisseur de services de chiffrement appelé SecurityProvider dans SQL Server à partir d’un fichier .dll. Le fichier .dll est nommé c:\SecurityProvider\SecurityProvider_v1.dll et installé sur le serveur. Le certificat du fournisseur doit d'abord être installé sur le serveur.

-- Install the provider  
CREATE CRYPTOGRAPHIC PROVIDER SecurityProvider  
    FROM FILE = 'C:\SecurityProvider\SecurityProvider_v1.dll';  

Voir aussi

Gestion de clés extensible (EKM)
ALTER 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)
Configurer la Gestion de clés extensible TDE de SQL Server avec Azure Key Vault
sys.cryptographic_providers
sys.dm_cryptographic_provider_properties