語言

SqlColumnEncryptionKeyStoreProvider.SignColumnMasterKeyMetadataAsync 方法

定義

當在衍生類別中實作時,非同步地以參數參考 masterKeyPath 的欄位主鍵元資料簽署。

public virtual System.Threading.Tasks.Task<byte[]> SignColumnMasterKeyMetadataAsync(string masterKeyPath, bool allowEnclaveComputations, System.Threading.CancellationToken cancellationToken = default);
abstract member SignColumnMasterKeyMetadataAsync : string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<byte[]>
override this.SignColumnMasterKeyMetadataAsync : string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task<byte[]>
Public Overridable Function SignColumnMasterKeyMetadataAsync (masterKeyPath As String, allowEnclaveComputations As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task(Of Byte())

參數

masterKeyPath
String

欄位主鍵路徑。 路徑格式是針對金鑰儲存提供者實作而定(例如憑證儲存的拇指印,或 Azure Key Vault 的金鑰識別碼 URL)。

allowEnclaveComputations
Boolean

true以表示欄位主鍵支援 enclave 計算;否則,。 false 當 true時,產生的簽章會涵蓋 enclave 啟用的特性,以便日後能驗證元資料以供 enclave 使用。

cancellationToken
CancellationToken

一個取消非同步操作的標記。

傳回

Task<Byte[]>

完成後會回傳 Byte 代表欄位主金鑰元資料簽名的陣列。 簽章格式是提供者專屬的。

備註

預設實作會先檢查 , cancellationToken 若已請求取消,則回傳已取消的任務。 否則,它會呼叫同步 SignColumnMasterKeyMetadata(String, Boolean) 方法,該方法預設會拋出 a NotImplementedException 。 此時,回傳任務將被錯誤 with , NotImplementedException 而非同步拋出。

執行 I/O 的導出類別應以真正非同步的實作覆蓋此方法,並尊重消去標記。

若金鑰儲存提供者希望使用帶有 Always Encrypted 的隔區,當簽署操作涉及 I/O 時,應以真正的非同步實作覆蓋此方法。

適用於