Язык

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

Путь главного ключа столбца. Формат пути зависит от реализации поставщика хранилища ключей (например, отпечаток для хранилища сертификатов или URL-адрес идентификатора ключа для Azure Key Vault).

encryptionAlgorithm
String

Имя алгоритма шифрования. Например: RSA_OAEP.

encryptedColumnEncryptionKey
Byte[]

Ключ шифрования зашифрованного столбца.

cancellationToken
CancellationToken

Маркер для отмены асинхронной операции.

Возвращаемое значение

Task<Byte[]>

Задача, возвращающая Byte массив, представляющий расшифрованный ключ шифрования столбцов при завершении.

Комментарии

Реализация по умолчанию сначала проверяет cancellationToken и возвращает отмененную задачу при запросе отмены. В противном случае вызывает синхронный DecryptColumnEncryptionKey(String, String, Byte[]) метод и упаковывает результат в завершенную задачу. Если вызывается синхронный метод, исключение перехватывается и возвращается неисправная задача, а не синхронно.

Производные классы, выполняющие операции ввода-вывода (например, вызовы к Azure Key Vault), должны переопределить этот метод с действительно асинхронной реализацией, которая учитывает маркер отмены.

Применяется к