CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Создает поставщика служб шифрования в SQL Server на основе поставщика расширенного управления ключами.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Значок ссылки на раздел Cинтаксические обозначения в Transact-SQL

Синтаксис

CREATE CRYPTOGRAPHIC PROVIDER provider_name 
    FROM FILE = path_of_DLL

Аргументы

  • provider_name
    Имя поставщика расширенного управления ключами.

  • path_of_DLL
    Путь к DLL-библиотеке, реализующей интерфейс расширенного управления ключами SQL Server.

Замечания

Все ключи, созданные поставщиком, ссылаются на поставщик по его идентификатору 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 в симметричном ключе.

Примеры

В следующем примере из DLL-файла в SQL Server создается поставщик служб шифрования с именем SecurityProvider. Этот DLL-файл имеет имя c:\SecurityProvider\SecurityProvider_v1.dll и установлен на сервере. Сначала необходимо установить на сервере сертификат поставщика.

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

См. также

Справочник

ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)

DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)

CREATE SYMMETRIC KEY (Transact-SQL)

Основные понятия

Расширенное управление ключами (Extensible Key Management)