SqlColumnEncryptionAzureKeyVaultProvider 类

定义

实现列主密钥存储提供程序,允许客户端应用程序在 Microsoft Azure 密钥保管库中存储列主密钥时访问数据。

有关Always Encrypted的详细信息,请参阅: https://aka.ms/AlwaysEncrypted

使用证书存储提供程序加密的列加密密钥应由此提供程序解密,反之亦然。

加密列加密密钥的信封格式:version + keyPathLength + ciphertextLength + keyPath + ciphertext + signature

  • version:指示格式版本的单字节。
  • keyPathLength:keyPath 的长度。
  • ciphertextLength:ciphertext 长度
  • keyPath:用于加密列加密密钥的 keyPath。 这仅用于故障排除目的,在解密期间不进行验证。
  • ciphertext:加密列加密密钥
  • 签名:整个字节数组的签名。 在解密列加密密钥之前验证签名。
public ref class SqlColumnEncryptionAzureKeyVaultProvider : Microsoft::Data::SqlClient::SqlColumnEncryptionKeyStoreProvider
public class SqlColumnEncryptionAzureKeyVaultProvider : Microsoft.Data.SqlClient.SqlColumnEncryptionKeyStoreProvider
type SqlColumnEncryptionAzureKeyVaultProvider = class
    inherit SqlColumnEncryptionKeyStoreProvider
Public Class SqlColumnEncryptionAzureKeyVaultProvider
Inherits SqlColumnEncryptionKeyStoreProvider
继承
SqlColumnEncryptionAzureKeyVaultProvider

注解

有关详细信息,请参阅:使用 Azure 密钥保管库提供程序

构造函数

SqlColumnEncryptionAzureKeyVaultProvider(TokenCredential)

采用能够提供 OAuth 令牌的令牌凭据实现的构造函数。

SqlColumnEncryptionAzureKeyVaultProvider(TokenCredential, String)

采用能够提供 OAuth 令牌和受信任终结点的令牌凭据实现的构造函数。

SqlColumnEncryptionAzureKeyVaultProvider(TokenCredential, String[])

构造函数,该构造函数采用能够提供 OAuth 令牌和受信任终结点数组的令牌凭据实现的实例。

字段

ProviderName

列加密密钥存储提供程序字符串

TrustedEndPoints

受信任的终结点列表

属性

ColumnEncryptionKeyCacheTtl

获取或设置缓存中解密的列加密密钥的生存期。 时间跨度过后,解密的列加密密钥将被丢弃,必须重新验证。

方法

DecryptColumnEncryptionKey(String, String, Byte[])

此函数使用密钥路径指定的非对称密钥,并使用 RSA 加密算法解密加密的 CEK。

EncryptColumnEncryptionKey(String, String, Byte[])

此函数使用密钥路径指定的非对称密钥,并使用 RSA 加密算法加密 CEK。

SignColumnMasterKeyMetadata(String, Boolean)

使用由密钥路径标识的非对称密钥对主密钥元数据进行签名,该元数据由 (masterKeyPath、allowEnclaveComputations 位、providerName) 组成。

VerifyColumnMasterKeyMetadata(String, Boolean, Byte[])

使用由密钥路径标识的非对称密钥来验证由 (masterKeyPath、allowEnclaveComputations 位、providerName) 组成的主密钥元数据。

适用于