CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
Область применения: SQL Server Управляемый экземпляр SQL Azure
Создает поставщик шифрования в SQL Server из поставщика расширенного управления ключами (EKM).
Соглашения о синтаксисе Transact-SQL
Синтаксис
CREATE CRYPTOGRAPHIC PROVIDER provider_name
FROM FILE = path_of_DLL
Аргументы
provider_name
Имя поставщика расширенного управления ключами.
path_of_DLL
Путь к файлу .dll, реализующего интерфейс управления расширяемыми ключами SQL Server. При использовании Соединителя SQL Server для Microsoft Azure Key Vault расположением по умолчанию является C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll.
Замечания
Все ключи, созданные поставщиком, ссылаются на поставщик по его идентификатору GUID. Идентификатор GUID сохраняются во всех версиях DLL-библиотеки.
Библиотека, реализующая интерфейс SQLEKM, должна быть подписана цифровой подписью с использованием любого сертификата. SQL Server проверяет подпись. При этом проверяется цепочка сертификатов, корень которой должен быть установлен в расположение Trusted Root Cert Authorities системной папки Windows. Если проверка подписи не выполнена должным образом, выполнение инструкции CREATE CRYPTOGRAPHIC PROVIDER оканчивается неудачей. Дополнительные сведения о сертификатах и цепочках сертификатов см. в разделе Сертификаты SQL Server и асимметричные ключи.
Когда поставщик EKM DLL-библиотек реализует не все необходимые методы, то инструкция CREATE CRYPTOGRAPHIC PROVIDER может вернуть ошибку 33085:
One or more methods cannot be found in cryptographic provider library '%.*ls'.
Если файл заголовка, используемый для создания поставщика EKM DLL-библиотек, устарел, то инструкция CREATE CRYPTOGRAPHIC PROVIDER может вернуть ошибку 33032:
SQL Crypto API version '%02d.%02d' implemented by provider is not supported. Supported version is '%02d.%02d'.
Разрешения
Требует разрешения CONTROL SERVER или членства в предопределенной роли сервера sysadmin.
Примеры
В следующем примере создается поставщик шифрования, вызываемого SecurityProvider
в SQL Server, из файла .dll. Этот DLL-файл имеет имя c:\SecurityProvider\SecurityProvider_v1.dll
и установлен на сервере. Сначала необходимо установить на сервере сертификат поставщика.
-- Install the provider
CREATE CRYPTOGRAPHIC PROVIDER SecurityProvider
FROM FILE = 'C:\SecurityProvider\SecurityProvider_v1.dll';
См. также
Расширенное управление ключами (EKM)
ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Расширенное управление ключами с помощью Azure Key Vault (SQL Server)
Настройка расширенного управления ключами SQL Server TDE с помощью Azure Key Vault
sys.cryptographic_providers
sys.dm_cryptographic_provider_properties