CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

Cria um provedor criptográfico no SQL Server a partir de um provedor EKM (Gerenciamento Extensível de Chaves).

Convenções de sintaxe de Transact-SQL

Sintaxe

CREATE CRYPTOGRAPHIC PROVIDER provider_name   
    FROM FILE = path_of_DLL  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

provider_name
É o nome do provedor de Gerenciamento Extensível de Chaves.

path_of_DLL
É o caminho do arquivo .dll que implementa o Gerenciamento Extensível de Chaves do SQL Server. Ao usar o Conector do SQL Server para Microsoft Azure Key Vault, a localização padrão é "C:\Arquivos de Programa\Conector do SQL Server para Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll" .

Comentários

Todas as chaves criadas por um provedor farão referência ao provedor por meio de seu GUID. O GUID é retido em todas as versões da DLL.

A DLL que implementa a interface SQLEKM deve ser assinada digitalmente usando qualquer certificado. O SQL Server verificará a assinatura. Isso inclui sua cadeia de certificados, que deve ter sua raiz instalada no local Autoridades de Certificação Raiz Confiáveis em um sistema Windows. Se a assinatura não for verificada corretamente, a instrução CREATE CRYPTOGRAPHIC PROVIDER falhará. Para obter mais informações sobre certificados e cadeias de certificados, consulte Certificados e chaves assimétricas do SQL Server.

Quando uma dll de provedor EKM não implementar todos os métodos necessários, CREATE CRYPTOGRAPHIC PROVIDER poderá retornar o erro 33085:

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

Quando o arquivo de cabeçalho usado para criar a dll de provedor EKM estiver desatualizado, CREATE CRYPTOGRAPHIC PROVIDER poderá retornar o erro 33032:

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

Permissões

Exige a permissão CONTROL SERVER ou a associação à função de servidor fixa sysadmin.

Exemplos

O exemplo a seguir cria um provedor criptográfico chamado SecurityProvider no SQL Server com base em um arquivo .dll. O arquivo .dll é nomeado c:\SecurityProvider\SecurityProvider_v1.dll e instalado no servidor. O certificado do provedor deve ser instalado primeiro no servidor.

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

Consulte Também

EKM (Gerenciamento extensível de chaves)
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 o Gerenciamento Extensível de Chave de TDE do SQL Server usando o Azure Key Vault
sys.cryptographic_providers
sys.dm_cryptographic_provider_properties