SqlColumnEncryptionAzureKeyVaultProvider 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
实现列主密钥存储提供程序,允许客户端应用程序在 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
- 继承
注解
有关详细信息,请参阅:使用 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) 组成的主密钥元数据。 |