CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Crea 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 temasConvenciones de sintaxis de Transact-SQL

Sintaxis

CREATE CRYPTOGRAPHIC PROVIDER provider_name 
    FROM FILE = path_of_DLL

Argumentos

  • provider_name
    Es el nombre del proveedor de Administración extensible de claves.

  • path_of_DLL
    Es la ruta de acceso del archivo .dll que implementa la interfaz de Administración extensible de claves de SQL Server.

Comentarios

Todas las claves creadas por un proveedor harán referencia al proveedor por su GUID. El GUID se retiene para todas las versiones de la DLL.

La DLL que implementa la interfaz SQLEKM debe estar firmada digitalmente utilizando cualquier certificado. SQL Server comprobará la firma. Esto incluye su cadena de certificados, que debe tener su raíz instalada en la ubicación Trusted Root Cert Authorities en un sistema Windows. Si la firma no es correcta, se producirá un error en la instrucción CREATE CRYPTOGRAPHIC PROVIDER. Para obtener más información acerca de los certificados y las cadenas de certificados, vea Certificados y claves asimétricas de SQL Server.

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

No se pudo encontrar uno o más métodos en la biblioteca del proveedor de servicios criptográficos '%.*ls'.

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

No se admite la versión de la API SQL Crypto '%02d.%02d' implementada por el proveedor. La versión admitida es '% 02d.% 02d'.

Permisos

Requiere el permiso CONTROL para la clave simétrica.

Ejemplos

El ejemplo siguiente crea un proveedor criptográfico llamado SecurityProvider en SQL Server a partir de un archivo .dll. El archivo .dll se denomina c:\SecurityProvider\SecurityProvider_v1.dll y se instala en el servidor. El certificado del proveedor se debe instalar primero en el servidor.

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