CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

適用対象: ○SQL Server XAzure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

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

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

  
CREATE CRYPTOGRAPHIC PROVIDER provider_name   
    FROM FILE = path_of_DLL  

引数Arguments

provider_nameprovider_name
拡張キー管理プロバイダーの名前を指定します。Is the name of the Extensible Key Management provider.

path_of_DLLpath_of_DLL
SQL ServerSQL Server 拡張キー管理インターフェイスを実装する .dll ファイルのパスを指定します。Is the path of the .dll file that implements the SQL ServerSQL Server Extensible Key Management interface. SQL Server コネクタ for Microsoft Azure Key Vault を使うときの既定の場所は、 'C:\Program Files\Microsoft SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll' です。When using the SQL Server Connector for Microsoft Azure Key Vault the default location is 'C:\Program Files\Microsoft SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll'.

RemarksRemarks

プロバイダーによって作成されるキーはいずれも、プロバイダーをその GUID で参照します。All keys created by a provider will reference the provider by its GUID. GUID は、DLL のすべてのバージョン間で保持されます。The GUID is retained across all versions of the DLL.

SQLEKM インターフェイスを実装する DLL は、任意の証明書を使用して、デジタル署名する必要があります。The DLL that implements SQLEKM interface must be digitally signed by using any certificate. この署名は SQL ServerSQL Server によって検証されます。SQL ServerSQL Server will verify the signature. これにはその証明書チェーンも含まれます。証明書チェーンのルートは、Windows システムの信頼されたルート証明機関がある場所にインストールされている必要があります。This includes its certificate chain, which must have its root installed at the Trusted Root Cert Authorities location on a Windows system. 署名が正しく検証されなかった場合は、CREATE CRYPTOGRAPHIC PROVIDER ステートメントが失敗します。If the signature is not verified correctly, the CREATE CRYPTOGRAPHIC PROVIDER statement will fail. 証明書と証明書チェーンについて詳しくは、「SQL Server の証明書と非対称キー」をご覧ください。For more information about certificates and certificate chains, see SQL Server Certificates and Asymmetric Keys.

EKM プロバイダーの dll で必要なメソッドの一部が実装されなかった場合は、CREATE CRYPTOGRAPHIC PROVIDER から次のエラー 33085 が返されることがあります。When an EKM provider dll does not implement all of the necessary methods, CREATE CRYPTOGRAPHIC PROVIDER can return error 33085:

One or more methods cannot be found in cryptographic provider library '%.*ls'.

EKM プロバイダーの dll の作成に使用されたヘッダー ファイルが古い場合は、CREATE CRYPTOGRAPHIC PROVIDER から次のエラー 33032 が返されることがあります。When the header file used to create the EKM provider dll is out of date, CREATE CRYPTOGRAPHIC PROVIDER can return error 33032:

SQL Crypto API version '%02d.%02d' implemented by provider is not supported. Supported version is '%02d.%02d'.

アクセス許可Permissions

CONTROL SERVER 権限、または sysadmin 固定サーバー ロールのメンバーシップが必要です。Requires CONTROL SERVER permission or membership in the sysadmin fixed server role.

使用例Examples

次の例では、SQL ServerSQL Server で .dll ファイルから SecurityProvider という暗号化サービス プロバイダーを作成します。The following example creates a cryptographic provider called SecurityProvider in SQL ServerSQL Server from a .dll file. この .dll ファイルは c:\SecurityProvider\SecurityProvider_v1.dll という名前でサーバーにインストールされています。The .dll file is named c:\SecurityProvider\SecurityProvider_v1.dll and it is installed on the server. 最初にプロバイダーの証明書をサーバーにインストールする必要があります。The provider's certificate must first be installed on the server.

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

参照See Also

拡張キー管理 (EKM) Extensible Key Management (EKM)
ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL) ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL) DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL) CREATE SYMMETRIC KEY (Transact-SQL)
Azure Key Vault を使用する拡張キー管理 (SQL Server)Extensible Key Management Using Azure Key Vault (SQL Server)