CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL Managed Instance

Maakt een cryptografische provider aan binnen SQL Server vanuit een Extensible Key Management (EKM)-provider.

Transact-SQL syntaxis-conventies

Syntax

CREATE CRYPTOGRAPHIC PROVIDER provider_name   
    FROM FILE = path_of_DLL  

Arguments

provider_name
Is de naam van de aanbieder van Extensible Key Management.

path_of_DLL
Is het pad van het .dll-bestand dat de SQL Server Extensible Key Management-interface implementeert. Bij gebruik van de SQL Server Connector voor Microsoft Azure Key Vault is de standaardlocatie 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll'.

Remarks

Alle sleutels die door een provider zijn gemaakt, zullen de provider verwijzen via zijn GUID. De GUID wordt behouden in alle versies van de DLL.

De DLL die de SQLEKM-interface implementeert, moet digitaal worden ondertekend met elk certificaat. SQL Server zal de handtekening verifiëren. Dit omvat de certificaatketen, waarvan de root geïnstalleerd moet zijn op de Trusted Root Cert Authorities locatie op een Windows-systeem. Als de handtekening niet correct wordt geverifieerd, zal de CREATE CRYPTOGRAPHIC PROVIDER verklaring falen. Voor meer informatie over certificaten en certificaatketens, zie SQL Server Certificates and Asymmetric Keys.

Wanneer een EKM-provider dll niet alle noodzakelijke methoden implementeert, CREATE CRYPTOGRAPHIC PROVIDER kan fout 33085 teruggeven:

One or more methods cannot be found in cryptographic provider library '%.*ls'.

Wanneer het headerbestand dat is gebruikt om de EKM provider dll te maken verouderd is, CREATE CRYPTOGRAPHIC PROVIDER kan foutmelding 33032 teruggeven:

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

Permissions

Vereist CONTROL SERVER-toestemming of lidmaatschap in de sysadmin vaste serverrol.

Examples

Het volgende voorbeeld creëert een cryptografische provider die in SQL Server wordt aangeroepen SecurityProvider vanuit een .dll bestand. Het .dll-bestand wordt benoemd c:\SecurityProvider\SecurityProvider_v1.dll en op de server geïnstalleerd. Het certificaat van de provider moet eerst op de server worden geïnstalleerd.

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

Zie ook

EKM (Extensible Key Management)
ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Uitbreidbaar sleutelbeheer met behulp van Azure Key Vault (SQL Server)
SQL Server TDE Extensible Key Management instellen met behulp van Azure Key Vault
sys.cryptographic_providers
sys.dm_cryptographic_provider_properties