语言

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 密钥保管库的密钥标识符 URL)。

allowEnclaveComputations
Boolean

true 指示列主密钥支持 enclave 计算;否则,为 false. 当 true,生成的签名涵盖已启用 enclave 的属性,以便稍后可以验证元数据以供 enclave 使用。

cancellationToken
CancellationToken

用于取消异步操作的令牌。

返回

Task<Byte[]>

完成后返回表示 Byte 列主密钥元数据签名的数组。 签名格式特定于提供程序。

注解

默认实现首先检查 cancellationToken 并返回已取消的任务(如果已请求取消)。 否则,它会调用默认引发的NotImplementedException同步SignColumnMasterKeyMetadata(String, Boolean)方法。 在这种情况下,返回的任务将出错, NotImplementedException 而不是同步引发。

执行 I/O 的派生类应使用遵循取消令牌的真正异步实现替代此方法。

当签名操作涉及 I/O 时,希望将 enclave 与 Always Encrypted 配合使用的密钥存储提供程序应使用真正异步的实现来替代此方法。

适用于