ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Modifica un proveedor criptográfico dentro de SQL Server a partir de un proveedor de Administración extensible de claves (EKM).

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

  • provider_name
    Nombre del proveedor de Administración extensible de claves.

  • Path_of_DLL
    Ruta de acceso del archivo .dll que implementa la interfaz de Administración extensible de claves de SQL Server.

  • ENABLE | DISABLE
    Habilita o deshabilita un proveedor.

Comentarios

Si el proveedor cambia el archivo .dll que se utiliza para implementar la Administración extensible de claves en SQL Server, es preciso utilizar la instrucción ALTER CRYPTOGRAPHIC PROVIDER.

Cuando la ruta de acceso del archivo .dll se actualiza mediante la instrucción ALTER CRYPTOGRAPHIC PROVIDER, SQL Server realiza las acciones siguientes:

  • Deshabilita el proveedor.

  • Comprueba la firma de la DLL y se asegura de que el archivo .dll tiene el mismo GUID que el grabado en el catálogo.

  • Actualiza la versión de DLL en el catálogo.

Cuando un proveedor de EKM se establece en DISABLE, se producirá un error si en las nuevas conexiones se intenta usar el proveedor con instrucciones de cifrado.

Para deshabilitar un proveedor, todas las sesiones que lo utilizan deben terminarse.

Cuando una DLL del proveedor de EKM no implementa todos los métodos necesarios, ALTER CRYPTOGRAPHIC PROVIDER puede devolver el error 33085:

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

Cuando el archivo de encabezado utilizado para crear la DLL del proveedor de EKM no está actualizado, ALTER CRYPTOGRAPHIC PROVIDER puede devolver el error 33032:

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

Permisos

Necesita el permiso CONTROL en el proveedor criptográfico.

Ejemplos

En el ejemplo siguiente se modifica un proveedor criptográfico, denominado SecurityProvider en SQL Server, a una versión más reciente de un archivo .dll. Esta nueva versión se denomina c:\SecurityProvider\SecurityProvider_v2.dll y se instala en el servidor. El certificado del proveedor debe estar instalado en el servidor.

/* First, disable the provider to perform the upgrade.
This will terminate all open cryptographic sessions */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider 
DISABLE;
GO

/* Upgrade the provider .dll file. The GUID must the same
as the previous version, but the version can be different. */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';
GO

/* Enable the upgraded provider. */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider 
ENABLE;
GO

Vea también

Referencia

CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)

CREATE SYMMETRIC KEY (Transact-SQL)

Conceptos

Administración extensible de claves (EKM)