次の方法で共有


CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

SQL Server 内で、拡張キー管理 (EKM: Extensible Key Management) プロバイダーから暗号化サービス プロバイダーを作成します。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

CREATE CRYPTOGRAPHIC PROVIDER provider_name 
    FROM FILE = path_of_DLL

引数

  • provider_name
    拡張キー管理プロバイダーの名前を指定します。

  • path_of_DLL
    SQL Server 拡張キー管理インターフェイスを実装する .dll ファイルのパスを指定します。

説明

プロバイダーによって作成されるキーはいずれも、プロバイダーをその GUID で参照します。 GUID は、DLL のすべてのバージョン間で保持されます。

SQLEKM インターフェイスを実装する DLL は、任意の証明書を使用してデジタル署名する必要があります。 この署名は SQL Server によって検証されます。 これにはその証明書チェーンも含まれます。証明書チェーンのルートは、Windows システムの Trusted Root Cert Authorities がある場所にインストールされている必要があります。 署名が正しく検証されなかった場合は、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 固定サーバー ロールのメンバーシップが必要です。

使用例

次の例では、SQL Server で .dll ファイルから 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)

概念

拡張キー管理 (EKM)