共用方式為


CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)

在 SQL Server 中,建立可延伸金鑰管理 (Extensible Key Management,EKM) 提供者的密碼編譯提供者。

主題連結圖示 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)