CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Si applica a:SQL Server Istanza gestita di SQL di Azure

Crea un provider del servizio di crittografia in SQL Server da un provider EKM (Extensible Key Management).

Convenzioni di sintassi Transact-SQL

Sintassi

CREATE CRYPTOGRAPHIC PROVIDER provider_name   
    FROM FILE = path_of_DLL  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

provider_name
Nome del provider EKM.

path_of_DLL
Percorso del file DLL che implementa l'interfaccia EKM di SQL Server. Quando si usa Connettore SQL Server per Microsoft Azure Key Vault, il percorso predefinito è 'C:\Programmi\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll'.

Osservazioni:

Tutte le chiavi create da un provider faranno riferimento al provider attraverso il GUID. Il GUID viene mantenuto per tutte le versioni della DLL.

Alla DLL che implementa l'interfaccia SQLEKM deve essere applicata una firma digitale usando qualsiasi certificato. SQL Server verificherà la firma. Include la catena di certificati, la cui radice deve essere installata nel percorso Autorità di certificazione radice attendibili in un sistema Windows. Se la firma non viene verificata correttamente, l'istruzione CREATE CRYPTOGRAPHIC PROVIDER avrà esito negativo. Per altre informazioni sui certificati e sulle catene di certificati, vedere Certificati SQL Server e chiavi simmetriche.

Quando la DLL di un provider EKM non implementa tutti i metodi necessari, CREATE CRYPTOGRAPHIC PROVIDER può restituire l'errore 33085:

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

Quando il file di intestazione utilizzato per creare la DLL del provider EKM non è aggiornato, CREATE CRYPTOGRAPHIC PROVIDER può restituire l'errore 33032:

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

Autorizzazioni

È richiesta l'autorizzazione CONTROL SERVER o l'appartenenza al ruolo predefinito del server sysadmin.

Esempi

Nell'esempio seguente viene creato un provider del servizio di crittografia denominato SecurityProvider in SQL Server da un file DLL. Il file dll è denominato c:\SecurityProvider\SecurityProvider_v1.dll ed è installato nel server. Il certificato del provider deve prima essere installato nel server.

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

Vedi anche

Extensible Key Management (EKM)
ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Extensible Key Management con Azure Key Vault (SQL Server)
Configurare Extensible Key Management TDE di SQL Server usando Azure Key Vault
sys.cryptographic_providers
sys.dm_cryptographic_provider_properties