CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

ESTE TÓPICO APLICA-SE A:simSQL Server (a partir de 2008)nãoBanco de Dados SQL do Microsoft AzurenãoAzure SQL Data Warehouse nãoParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Cria um provedor criptográfico no SQL ServerSQL Server a partir de um provedor EKM (Gerenciamento Extensível de Chaves).Creates a cryptographic provider within SQL ServerSQL Server from an Extensible Key Management (EKM) provider.

Ícone de link do tópico Convenções da sintaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax


CREATE CRYPTOGRAPHIC PROVIDER provider_name   
    FROM FILE = path_of_DLL  

ArgumentosArguments

provider_nameprovider_name
É o nome do provedor de Gerenciamento Extensível de Chaves.Is the name of the Extensible Key Management provider.

path_of_DLLpath_of_DLL
É o caminho do arquivo .dll que implementa o Gerenciamento Extensível de Chaves do SQL ServerSQL Server.Is the path of the .dll file that implements the SQL ServerSQL Server Extensible Key Management interface. Ao usar o SQL Server Connector para Cofre de chaves do Microsoft Azure o local padrão é ' C:\Program Files\Microsoft SQL Server Connector para Microsoft Azure chave Vault\Microsoft.AzureKeyVaultService.EKM.dll '.When using the SQL Server Connector for Microsoft Azure Key Vault the default location is 'C:\Program Files\Microsoft SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll'.

ComentáriosRemarks

Todas as chaves criadas por um provedor farão referência ao provedor por meio de seu GUID.All keys created by a provider will reference the provider by its GUID. O GUID é retido em todas as versões da DLL.The GUID is retained across all versions of the DLL.

A DLL que implementa a interface SQLEKM deve ser assinada digitalmente usando qualquer certificado.The DLL that implements SQLEKM interface must be digitally signed by using any certificate. O SQL ServerSQL Server verificará a assinatura. SQL ServerSQL Server will verify the signature. Isso inclui sua cadeia de certificado, que deve ter sua raiz instalada no autoridades de certificação raiz confiáveis local em um sistema Windows.This includes its certificate chain, which must have its root installed at the Trusted Root Cert Authorities location on a Windows system. Se a assinatura não for verificada corretamente, a instrução CREATE CRYPTOGRAPHIC PROVIDER falhará.If the signature is not verified correctly, the CREATE CRYPTOGRAPHIC PROVIDER statement will fail. Para obter mais informações sobre certificados e cadeias de certificados, consulte SQL Server certificados e chaves assimétricas.For more information about certificates and certificate chains, see SQL Server Certificates and Asymmetric Keys.

Quando uma dll de provedor EKM não implementar todos os métodos necessários, CREATE CRYPTOGRAPHIC PROVIDER poderá retornar o erro 33085:When an EKM provider dll does not implement all of the necessary methods, CREATE CRYPTOGRAPHIC PROVIDER can return error 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:When the header file used to create the EKM provider dll is out of date, CREATE CRYPTOGRAPHIC PROVIDER can return error 33032:

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

PermissõesPermissions

Requer permissão CONTROL SERVER ou associação no sysadmin função de servidor fixa.Requires CONTROL SERVER permission or membership in the sysadmin fixed server role.

ExemplosExamples

O exemplo a seguir cria um provedor criptográfico chamado SecurityProvider na SQL ServerSQL Server de um arquivo. dll.The following example creates a cryptographic provider called SecurityProvider in SQL ServerSQL Server from a .dll file. O arquivo. dll é nomeado c:\SecurityProvider\SecurityProvider_v1.dll e é instalado no servidor.The .dll file is named c:\SecurityProvider\SecurityProvider_v1.dll and it is installed on the server. O certificado do provedor deve ser instalado primeiro no servidor.The provider's certificate must first be installed on the server.

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

Consulte tambémSee Also

Gerenciamento Extensível de Chaves (EKM) Extensible Key Management (EKM)
ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL) ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL) DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL) CREATE SYMMETRIC KEY (Transact-SQL)
Gerenciamento extensível de chaves usando o Cofre de Chaves do Azure (SQL Server)Extensible Key Management Using Azure Key Vault (SQL Server)