ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Si applica a: SQL Server (tutte le versioni supportate)

Modifica un provider di crittografia all'interno di SQL Server da un provider EKM (Extensible Key Management).

Icona di collegamento argomento IconaTransact-SQL Sintassi Transact-SQL Convenzioni

Sintassi

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

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 e versioni precedenti, vedere Documentazione delle versioni precedenti.

Argomenti

provider_name
Nome del provider EKM.

Path_of_DLL
Percorso del file .dll che implementa l'interfaccia di gestione delle chiavi estendibile SQL Server.

ENABLE | DISABLE
Abilita o disabilita un provider.

Commenti

Se il provider modifica il file .dll usato per implementare La gestione delle chiavi Estendibile in SQL Server, è necessario usare l'istruzione ALTER CRYPTOGRAPHIC PROVIDER.

Quando il percorso del file .dll viene aggiornato usando l'istruzione ALTER CRYPTOGRAPHIC PROVIDER, SQL Server esegue le azioni seguenti:

  • Disabilitazione del provider.
  • Verifica della firma DLL e del fatto che il GUID del file DLL sia uguale a quello registrato nel catalogo.
  • Aggiornamento della versione DLL nel catalogo.

Quando un provider EKM viene impostato su DISABLE, qualsiasi tentativo effettuato su nuove connessioni di utilizzare il provider con istruzioni di crittografia avrà esito negativo.

Per disabilitare un provider, è necessario terminare tutte le sessioni che lo utilizzano.

Quando la dll di un provider EKM non implementa tutti i metodi necessari, ALTER CRYPTOGRAPHIC PROVIDER può restituire l'errore 33085:

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

Quando il file di intestazione utilizzato per creare la dll del provider EKM non è aggiornato, ALTER CRYPTOGRAPHIC PROVIDER può restituire l'errore 33032:

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

Autorizzazioni

È richiesta l'autorizzazione CONTROL per il provider di crittografia.

Esempi

Nell'esempio seguente viene modificato un provider di crittografia, chiamato SecurityProvider in SQL Server, in una versione più recente di un file di .dll. La nuova versione è denominata c:\SecurityProvider\SecurityProvider_v2.dll e viene installata nel server. Il certificato del provider deve essere installato nel server.

  1. Per eseguire l'aggiornamento, disabilitare il provider. Tutte le sessioni di crittografia aperte verranno terminate.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
DISABLE;  
GO  
  1. Aggiornare il file DLL del provider. Il GUID deve corrispondere a quello della versione precedente, ma la versione può essere diversa.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider  
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';  
GO  
  1. Abilitare il provider aggiornato.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
ENABLE;  
GO  

Vedere anche

Extensible Key Management (EKM)
CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Extensible Key Management con Azure Key Vault (SQL Server)