Compartilhar via


CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

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

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

CREATE CRYPTOGRAPHIC PROVIDER provider_name 
    FROM FILE = path_of_DLL

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.

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 certificado, que deve ter sua raiz instalada no local Trusted Root Cert Authorities 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:

Não é possível encontrar um ou mais métodos na biblioteca de provedor criptográfico '%. * 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:

A versão da API de Criptografia do SQL '%02d.%02d' implementada pelo provedor não tem suporte. A versão com suporte é '%02d.%02d'.

Permissões

Requer a permissão CONTROL na chave simétrica.

Exemplos

O exemplo a seguir cria um provedor criptográfico chamado SecurityProvider no SQL Server a partir de um arquivo .dll. O arquivo .dll é nomeado de 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'