Язык

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

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

allowEnclaveComputations
Boolean

true Значение , указывающее, что главный ключ столбца поддерживает вычисления анклава; falseв противном случае . Когда trueсозданная сигнатура охватывает свойство с поддержкой анклава, чтобы метаданные могли быть проверены для использования анклава.

cancellationToken
CancellationToken

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

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

Task<Byte[]>

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

Комментарии

Реализация по умолчанию сначала проверяет cancellationToken и возвращает отмененную задачу при запросе отмены. В противном случае он вызывает синхронный SignColumnMasterKeyMetadata(String, Boolean) метод, который по умолчанию создает NotImplementedException исключение. В этом случае возвращаемая задача будет сбоем NotImplementedException , а не синхронно.

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

Поставщики хранилища ключей, которые хотят использовать анклава с Always Encrypted , должны переопределить этот метод с действительно асинхронной реализацией, когда операция подписывания включает операции ввода-вывода.

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