語言

SqlColumnEncryptionKeyStoreProvider.DecryptColumnEncryptionKeyAsync 方法

定義

非同步解密欄位加密金鑰的指定加密值。 加密後的值預期會使用欄位主金鑰、指定的金鑰路徑及指定的演算法進行加密。

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

參數

masterKeyPath
String

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

encryptionAlgorithm
String

加密演算法名稱。 例如: RSA_OAEP 。

encryptedColumnEncryptionKey
Byte[]

加密欄位加密金鑰。

cancellationToken
CancellationToken

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

傳回

Task<Byte[]>

任務完成後會回傳 Byte 代表解密欄加密金鑰的陣列。

備註

預設實作會先檢查 , cancellationToken 若已請求取消,則回傳已取消的任務。 否則,它會呼叫同步 DecryptColumnEncryptionKey(String, String, Byte[]) 方法,並將結果包裝成完成的任務。 如果同步方法拋出異常,例外會被捕捉,並回傳錯誤任務,而非同步拋出。

執行 I/O(例如呼叫 Azure Key Vault)的衍生類別,應該以真正非同步的實作覆蓋此方法,並尊重取消令牌。

適用於