ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Aplica-se a: SQL Server

Altera um fornecedor criptográfico dentro do SQL Server de um fornecedor de Gestão Extensível de Chaves (EKM).

Transact-SQL convenções de sintaxe

Syntax

ALTER CRYPTOGRAPHIC PROVIDER provider_name   
    [ FROM FILE = path_of_DLL ]  
    ENABLE | DISABLE  

Arguments

provider_name
Nome do fornecedor de Gestão de Chaves Extensível.

Path_of_DLL
Caminho do ficheiro .dll que implementa a interface de gestão de chaves extensível SQL Server.

ATIVAR | DESATIVAR
Permite ou desativa um prestador.

Remarks

Se o fornecedor alterar o ficheiro .dll que é usado para implementar a Gestão de Chaves Extensível em SQL Server, deve usar a ALTER CRYPTOGRAPHIC PROVIDER instrução.

Quando o caminho do ficheiro .dll é atualizado usando a ALTER CRYPTOGRAPHIC PROVIDER instrução, SQL Server executa as seguintes ações:

  • Desativa o prestador.
  • Verifica a assinatura DLL e garante que o ficheiro .dll tem o mesmo GUID que o registado no catálogo.
  • Atualiza a versão DLL no catálogo.

Quando um fornecedor EKM está definido para DESABILITAR, qualquer tentativa de novas ligações para usar o fornecedor com instruções de encriptação falhará.

Para desativar um fornecedor, todas as sessões que o utilizam devem ser terminadas.

Quando um fornecedor de EKM DLL não implementa todos os métodos necessários, ALTER CRYPTOGRAPHIC PROVIDER pode devolver o erro 33085:

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

Quando o ficheiro de cabeçalho usado para criar a dll do fornecedor EKM está desatualizado, ALTER CRYPTOGRAPHIC PROVIDER pode devolver o erro 33032:

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

Permissions

Requer permissão CONTROL no fornecedor criptográfico.

Examples

O exemplo seguinte altera um fornecedor criptográfico, chamado SecurityProvider em SQL Server, para uma versão mais recente de um ficheiro .dll. Esta nova versão tem o nome c:\SecurityProvider\SecurityProvider_v2.dll e está instalada no servidor. O certificado do fornecedor deve ser instalado no servidor.

  1. Desative o fornecedor para realizar a atualização. Isto termina todas as sessões criptográficas abertas.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
DISABLE;  
GO  
  1. Atualiza o ficheiro .dll do provedor. O GUID deve ser igual à versão anterior, mas a versão pode ser diferente.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider  
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';  
GO  
  1. Ativa o fornecedor atualizado.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
ENABLE;  
GO  

Ver também

Gerenciamento extensível de chaves (EKM)
CREATE 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)