CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
Se aplica a: SQL Server
Azure SQL Instancia administrada
Crea un proveedor criptográfico dentro de SQL Server a partir de un proveedor de Administración extensible de claves (EKM).
Convenciones de sintaxis de Transact-SQL
Sintaxis
CREATE CRYPTOGRAPHIC PROVIDER provider_name
FROM FILE = path_of_DLL
Nota:
Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.
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. Cuando se usa el Conector de SQL Server para Microsoft Azure Key Vault, la ubicación predeterminada es "C:\Archivos de programa\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll" .
Observaciones
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 con cualquier certificado. SQL Server comprobará la firma. Esto incluye su cadena de certificados, que debe tener su raíz instalada en la ubicación Entidades de certificación raíz de confianza en un sistema Windows. Si se verifica que la firma no es correcta, se producirá un error en la instrucción CREATE CRYPTOGRAPHIC PROVIDER. Para más información sobre certificados y 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:
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 está anticuado, CREATE 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
Debe disponer del permiso CONTROL SERVER o pertenecer al rol fijo de servidor sysadmin.
Ejemplos
En este ejemplo se 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';
Consulte también
Administración extensible de claves (EKM)
ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Administración extensible de claves con Azure Key Vault (SQL Server)
Configuración de Administración extensible de claves de TDE de SQL Server mediante Azure Key Vault
sys.cryptographic_providers
sys.dm_cryptographic_provider_properties