CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
Aplica-se a: SQL Server Instâ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
CREATE CRYPTOGRAPHIC PROVIDER provider_name
FROM FILE = path_of_DLL
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" .
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'.
Exige a permissão CONTROL SERVER ou a associação à função de servidor fixa sysadmin.
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';
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