语言

SqlColumnEncryptionCspProvider 类

定义

将基于 MICROSOFT CAPI 的加密服务提供程序(CSP)与 Always Encrypted 配合使用的 CMK 存储提供程序实现。

public ref class SqlColumnEncryptionCspProvider : Microsoft::Data::SqlClient::SqlColumnEncryptionKeyStoreProvider
public class SqlColumnEncryptionCspProvider : Microsoft.Data.SqlClient.SqlColumnEncryptionKeyStoreProvider
type SqlColumnEncryptionCspProvider = class
    inherit SqlColumnEncryptionKeyStoreProvider
Public Class SqlColumnEncryptionCspProvider
Inherits SqlColumnEncryptionKeyStoreProvider
继承
SqlColumnEncryptionCspProvider

注解

支持基于 CAPI 的加密服务提供商(CSP)的存储区(例如硬件安全模块(HSM Microsoft)中存储 Always Encrypted 列主密钥。

构造函数

名称 说明
SqlColumnEncryptionCspProvider()

将基于 MICROSOFT CAPI 的加密服务提供程序(CSP)与 Always Encrypted 配合使用的 CMK 存储提供程序实现。

字段

名称 说明
ProviderName

提供程序名称 MSSQL_CSP_PROVIDER的常量字符串。

属性

名称 说明
ColumnEncryptionKeyCacheTtl

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

(继承自 SqlColumnEncryptionKeyStoreProvider)

方法

名称 说明
DecryptColumnEncryptionKey(String, String, Byte[])

使用密钥路径和算法指定的非对称密钥解密给定的加密值。 密钥路径的格式为 [ProviderName]/KeyIdentifier 非对称密钥,应是存储在指定 CSP 提供程序中的非对称密钥。 用于加密/解密 CEK 的有效算法为 RSA_OAEP“。

DecryptColumnEncryptionKeyAsync(String, String, Byte[], CancellationToken)

异步解密列加密密钥的指定加密值。 应使用具有指定密钥路径和指定算法的列主密钥加密加密加密值。

(继承自 SqlColumnEncryptionKeyStoreProvider)
EncryptColumnEncryptionKey(String, String, Byte[])

使用密钥路径和指定算法指定的非对称密钥加密给定的纯文本列加密密钥。 密钥路径的格式为 [ProviderName]/KeyIdentifier 非对称密钥,应是存储在指定 CSP 提供程序中的非对称密钥。 用于加密/解密 CEK 的有效算法为 RSA_OAEP。

EncryptColumnEncryptionKeyAsync(String, String, Byte[], CancellationToken)

使用具有指定密钥路径的列主密钥并使用指定的算法异步加密列加密密钥。

(继承自 SqlColumnEncryptionKeyStoreProvider)
SignColumnMasterKeyMetadata(String, Boolean)

NotSupportedException在所有情况下都引发异常。

SignColumnMasterKeyMetadataAsync(String, Boolean, CancellationToken)

在派生类中实现时,使用参数引用 masterKeyPath 的列主密钥异步对列主密钥元数据进行签名。

(继承自 SqlColumnEncryptionKeyStoreProvider)
VerifyColumnMasterKeyMetadata(String, Boolean, Byte[])

此函数必须由相应的密钥存储提供程序实现。 此函数应使用由密钥路径标识的非对称密钥,并签名由 (masterKeyPath, , allowEnclaveComputationsProviderName) 组成的主密钥元数据。

VerifyColumnMasterKeyMetadataAsync(String, Boolean, Byte[], CancellationToken)

在派生类中实现时,使用指定的密钥路径和指定的 enclave 行为异步验证指定的签名对列主密钥有效。 默认实现返回有错误的任务 NotImplementedException。

(继承自 SqlColumnEncryptionKeyStoreProvider)

适用于