CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

S’APPLIQUE À : ouiSQL Server nonAzure SQL Database nonAzure Synapse Analytics (SQL DW) nonParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Crée un fournisseur de services de chiffrement dans SQL ServerSQL Server à partir d'un fournisseur EKM (Extensible Key Management).Creates a cryptographic provider within SQL ServerSQL Server from an Extensible Key Management (EKM) provider.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

  
CREATE CRYPTOGRAPHIC PROVIDER provider_name   
    FROM FILE = path_of_DLL  

ArgumentsArguments

provider_nameprovider_name
Nom du fournisseur EKM (Extensible Key Management)Is the name of the Extensible Key Management provider.

path_of_DLLpath_of_DLL
Chemin d'accès du fichier .dll qui implémente l'interface SQL ServerSQL Server EKM.Is the path of the .dll file that implements the SQL ServerSQL Server Extensible Key Management interface. Quand vous utilisez le connecteur SQL Server pour Microsoft Azure Key Vault l’emplacement par défaut est 'C:\Program Files\Microsoft SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll' .When using the SQL Server Connector for Microsoft Azure Key Vault the default location is 'C:\Program Files\Microsoft SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll'.

NotesRemarks

Toutes les clés créées par un fournisseur référenceront ce dernier par son GUID.All keys created by a provider will reference the provider by its GUID. Le GUID est conservé dans toutes les versions de la DLL.The GUID is retained across all versions of the DLL.

La DLL qui implémente l'interface SQLEKM doit être signée numériquement à l'aide de n'importe quel certificat.The DLL that implements SQLEKM interface must be digitally signed by using any certificate. SQL ServerSQL Server vérifiera la signature.will verify the 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.This includes its certificate chain, which must have its root installed at the Trusted Root Cert Authorities location on a Windows system. Si la signature n’est pas vérifiée correctement, l’instruction CREATE CRYPTOGRAPHIC PROVIDER échoue.If the signature is not verified correctly, the CREATE CRYPTOGRAPHIC PROVIDER statement will fail. Pour plus d’informations sur les certificats et les chaînes de certificats, consultez Certificats et clés asymétriques SQL Server.For more information about certificates and certificate chains, see SQL Server Certificates and Asymmetric Keys.

Lorsqu'une DLL de fournisseur EKM n'implémente pas toutes les méthodes nécessaires, CREATE CRYPTOGRAPHIC PROVIDER peut retourner l'erreur 33085 :When an EKM provider dll does not implement all of the necessary methods, CREATE CRYPTOGRAPHIC PROVIDER can return error 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 :When the header file used to create the EKM provider dll is out of date, CREATE CRYPTOGRAPHIC PROVIDER can return error 33032:

SQL Crypto API version '%02d.%02d' implemented by provider is not supported. Supported version is '%02d.%02d'.

AutorisationsPermissions

Requiert l’autorisation CONTROL SERVER ou l’appartenance au rôle serveur fixe sysadmin.Requires CONTROL SERVER permission or membership in the sysadmin fixed server role.

ExemplesExamples

L’exemple suivant crée un fournisseur de services de chiffrement appelé SecurityProvider dans SQL ServerSQL Server à partir d’un fichier .dll.The following example creates a cryptographic provider called SecurityProvider in SQL ServerSQL Server from a .dll file. Le fichier .dll est nommé c:\SecurityProvider\SecurityProvider_v1.dll et installé sur le serveur.The .dll file is named c:\SecurityProvider\SecurityProvider_v1.dll and it is installed on the server. Le certificat du fournisseur doit d'abord être installé sur le serveur.The provider's certificate must first be installed on the server.

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

Voir aussiSee Also

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