CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Aplica-se a: SQL ServerAzure SQL Managed Instance

Cria um fornecedor criptográfico dentro do SQL Server a partir de um fornecedor de Gestão de Chaves Extensível (EKM).

Transact-SQL convenções de sintaxe

Syntax

CREATE CRYPTOGRAPHIC PROVIDER provider_name   
    FROM FILE = path_of_DLL  

Arguments

provider_name
É o nome do fornecedor de Gestão de Chaves Extensível.

path_of_DLL
É o caminho do ficheiro .dll que implementa a interface de gestão de chaves extensível SQL Server. Ao usar o Conector SQL Server para Microsoft Azure Key Vault a localização padrão é 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll'.

Remarks

Todas as chaves criadas por um fornecedor irão referenciar o fornecedor através do seu GUID. O GUID é mantido em todas as versões da DLL.

A DLL que implementa a interface SQLEKM deve ser assinada digitalmente através de qualquer certificado. O SQL Server irá verificar a assinatura. Isto inclui a sua cadeia de certificados, que deve ter a sua raiz instalada na localização das Autoridades Confiáveis de Certificação Raiz num sistema Windows. Se a assinatura não for verificada corretamente, a CREATE CRYPTOGRAPHIC PROVIDER afirmação falhará. Para mais informações sobre certificados e cadeias de certificados, consulte Certificados do SQL Server e Chaves Assimétricas.

Quando um fornecedor de EKM DLL não implementa todos os métodos necessários, CREATE CRYPTOGRAPHIC PROVIDER pode devolver o erro 33085:

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

Quando o ficheiro de cabeçalho usado para criar a dll do fornecedor EKM está desatualizado, CREATE CRYPTOGRAPHIC PROVIDER pode devolver o erro 33032:

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

Permissions

Requer permissão CONTROL SERVER ou pertença ao papel fixo de sysadmin servidor.

Examples

O exemplo seguinte cria um fornecedor criptográfico chamado SecurityProvider em SQL Server a partir de um ficheiro .dll. O ficheiro .dll tem o nome c:\SecurityProvider\SecurityProvider_v1.dll e é instalado no servidor. O certificado do fornecedor deve primeiro ser instalado no servidor.

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

Ver também

Gerenciamento extensível de chaves (EKM)
ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Gerenciamento extensível de chaves usando o Azure Key Vault (SQL Server)
Configurar a Gestão Extensível de Chaves TDE do SQL Server com o Azure Key Vault
sys.cryptographic_providers
sys.dm_cryptographic_provider_properties