CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
Cria um provedor criptográfico no SQL Server a partir de um provedor EKM (Gerenciamento Extensível de Chaves).
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'