CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
適用於:SQL Server Azure SQL 受控執行個體
在 Extensible Key Management (EKM) 提供者中,建立 SQL Server 的密碼編譯提供者。
語法
CREATE CRYPTOGRAPHIC PROVIDER provider_name
FROM FILE = path_of_DLL
引數
provider_name
「可延伸金鑰管理」提供者的名稱。
path_of_DLL
是實作 SQL Server Extensible Key Management 介面之 .dll 檔案的路徑。 使用適用於 Microsoft Azure Key Vault 的 SQL Server 連接器時,預設位置是 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll'。
備註
提供者所建立的所有金鑰都會透過其 GUID 參考提供者。 GUID 會跨所有版本的 DLL 保留。
實作 SQLEKM 介面的 DLL 必須透過使用任何憑證的方式經過數位簽署。 SQL Server會驗證簽章。 這包括其憑證鏈結;該憑證鏈結的根目錄必須安裝在 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 固定伺服器角色中的成員資格。
範例
下列範例會從 .dll 檔案,在 SQL Server 中建立名為 SecurityProvider
的密碼編譯提供者。 .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)
使用 Azure Key Vault 設定 SQL Server TDE 可延伸金鑰管理
sys.cryptographic_providers
sys.dm_cryptographic_provider_properties