IDataProtectionBuilder 接口

定义

提供对数据保护系统的配置的访问权限,使开发人员能够配置默认的加密算法、密钥存储位置和静态保护密钥的机制。

public interface class IDataProtectionBuilder
public interface IDataProtectionBuilder
type IDataProtectionBuilder = interface
Public Interface IDataProtectionBuilder

注解

如果开发人员更改了静态密钥保护机制,则他们还打算更改密钥存储位置,反之亦然。 例如,对 的 ProtectKeysWithCertificate(IDataProtectionBuilder, String) 调用通常应伴随着对 PersistKeysToFileSystem(IDataProtectionBuilder, DirectoryInfo)的调用,否则在运行时可能会发生异常,因为数据保护系统不知道在何处保存密钥。

同样,当开发人员修改默认受保护的有效负载加密算法时,他们还应设置显式密钥存储位置。 因此,对 的 UseCryptographicAlgorithms(IDataProtectionBuilder, AuthenticatedEncryptorConfiguration) 调用通常应与对 PersistKeysToFileSystem(IDataProtectionBuilder, DirectoryInfo)的调用配对,例如。

更改默认加密算法或静态密钥保护机制时,它们只会影响存储库中的 密钥。 存储库可能包含使用旧算法或保护机制的现有密钥。

属性

Services

提供对 IServiceCollection 传递给此对象的构造函数的访问。

扩展方法

PersistKeysToAzureBlobStorage(IDataProtectionBuilder, CloudBlobContainer, String)

配置数据保护系统,以将密钥保存到 Azure Blob 存储 中的指定路径。

PersistKeysToAzureBlobStorage(IDataProtectionBuilder, CloudBlockBlob)

配置数据保护系统,以将密钥保存到 Azure Blob 存储 中的指定路径。

PersistKeysToAzureBlobStorage(IDataProtectionBuilder, CloudStorageAccount, String)

配置数据保护系统,以将密钥保存到 Azure Blob 存储 中的指定路径。

PersistKeysToAzureBlobStorage(IDataProtectionBuilder, CloudBlobContainer, String)

配置数据保护系统,以将密钥保存到 Azure Blob 存储 中的指定路径。

PersistKeysToAzureBlobStorage(IDataProtectionBuilder, CloudBlockBlob)

配置数据保护系统,以将密钥保存到 Azure Blob 存储 中的指定路径。

PersistKeysToAzureBlobStorage(IDataProtectionBuilder, CloudStorageAccount, String)

配置数据保护系统,以将密钥保存到 Azure Blob 存储 中的指定路径。

PersistKeysToAzureBlobStorage(IDataProtectionBuilder, Uri)

配置数据保护系统,以将密钥保存到 Azure Blob 存储 中的指定路径。

ProtectKeysWithAzureKeyVault(IDataProtectionBuilder, KeyVaultClient, String)

配置数据保护系统,以使用 Azure KeyVault 中的指定密钥保护密钥。

ProtectKeysWithAzureKeyVault(IDataProtectionBuilder, String, String, X509Certificate2)

配置数据保护系统,以使用 Azure KeyVault 中的指定密钥保护密钥。

ProtectKeysWithAzureKeyVault(IDataProtectionBuilder, String, String, String)

配置数据保护系统,以使用 Azure KeyVault 中的指定密钥保护密钥。

AddKeyEscrowSink(IDataProtectionBuilder, IKeyEscrowSink)

注册 以 IKeyEscrowSink 在密钥保存到存储之前执行托管。

AddKeyEscrowSink(IDataProtectionBuilder, Func<IServiceProvider,IKeyEscrowSink>)

注册 以 IKeyEscrowSink 在密钥保存到存储之前执行托管。

AddKeyEscrowSink<TImplementation>(IDataProtectionBuilder)

注册 以 IKeyEscrowSink 在密钥保存到存储之前执行托管。

AddKeyManagementOptions(IDataProtectionBuilder, Action<KeyManagementOptions>)

为数据保护系统配置密钥管理选项。

DisableAutomaticKeyGeneration(IDataProtectionBuilder)

将数据保护系统配置为不自动生成新密钥。

PersistKeysToFileSystem(IDataProtectionBuilder, DirectoryInfo)

配置数据保护系统以将密钥保存到指定目录。 此路径可能位于本地计算机上,也可以指向 UNC 共享。

PersistKeysToRegistry(IDataProtectionBuilder, RegistryKey)

配置数据保护系统以将密钥保存到 Windows 注册表。

ProtectKeysWithCertificate(IDataProtectionBuilder, X509Certificate2)

将密钥配置为在保存到存储之前加密到给定证书。

ProtectKeysWithCertificate(IDataProtectionBuilder, String)

将密钥配置为在保存到存储之前加密到给定证书。

ProtectKeysWithDpapi(IDataProtectionBuilder)

将密钥配置为在保存到存储之前使用 Windows DPAPI 进行加密。 加密密钥只能由当前 Windows 用户帐户解密。

ProtectKeysWithDpapi(IDataProtectionBuilder, Boolean)

将密钥配置为在保存到存储之前使用 Windows DPAPI 进行加密。

ProtectKeysWithDpapiNG(IDataProtectionBuilder)

将密钥配置为在保存到存储之前使用 Windows CNG DPAPI 进行加密。 密钥将由当前 Windows 用户帐户解密。

ProtectKeysWithDpapiNG(IDataProtectionBuilder, String, DpapiNGProtectionDescriptorFlags)

将密钥配置为在保存到存储之前使用 Windows CNG DPAPI 进行加密。

SetApplicationName(IDataProtectionBuilder, String)

设置数据保护系统中此应用程序的唯一名称。

SetDefaultKeyLifetime(IDataProtectionBuilder, TimeSpan)

设置数据保护系统创建的密钥的默认生存期。

UnprotectKeysWithAnyCertificate(IDataProtectionBuilder, X509Certificate2[])

配置可用于解密从存储加载的密钥的证书。

UseCryptographicAlgorithms(IDataProtectionBuilder, AuthenticatedEncryptionSettings)

将数据保护系统配置为在生成受保护的有效负载时默认使用指定的加密算法。

UseCryptographicAlgorithms(IDataProtectionBuilder, AuthenticatedEncryptorConfiguration)

将数据保护系统配置为在生成受保护的有效负载时默认使用指定的加密算法。

UseCustomCryptographicAlgorithms(IDataProtectionBuilder, CngCbcAuthenticatedEncryptionSettings)

配置数据保护系统以使用自定义 Windows CNG 算法。 此 API 适用于开发人员无法使用 和 ValidationAlgorithm 枚举中指定的EncryptionAlgorithm算法的高级方案。

UseCustomCryptographicAlgorithms(IDataProtectionBuilder, CngGcmAuthenticatedEncryptionSettings)

配置数据保护系统以使用自定义 Windows CNG 算法。 此 API 适用于开发人员无法使用 和 ValidationAlgorithm 枚举中指定的EncryptionAlgorithm算法的高级方案。

UseCustomCryptographicAlgorithms(IDataProtectionBuilder, CngCbcAuthenticatedEncryptorConfiguration)

配置数据保护系统以使用自定义 Windows CNG 算法。 此 API 适用于开发人员无法使用 和 ValidationAlgorithm 枚举中指定的EncryptionAlgorithm算法的高级方案。

UseCustomCryptographicAlgorithms(IDataProtectionBuilder, CngGcmAuthenticatedEncryptorConfiguration)

配置数据保护系统以使用自定义 Windows CNG 算法。 此 API 适用于开发人员无法使用 和 ValidationAlgorithm 枚举中指定的EncryptionAlgorithm算法的高级方案。

UseCustomCryptographicAlgorithms(IDataProtectionBuilder, ManagedAuthenticatedEncryptorConfiguration)

将数据保护系统配置为使用自定义算法。 此 API 适用于开发人员无法使用 和 ValidationAlgorithm 枚举中指定的EncryptionAlgorithm算法的高级方案。

UseCustomCryptographicAlgorithms(IDataProtectionBuilder, ManagedAuthenticatedEncryptionSettings)

将数据保护系统配置为使用自定义算法。 此 API 适用于开发人员无法使用 和 ValidationAlgorithm 枚举中指定的EncryptionAlgorithm算法的高级方案。

UseEphemeralDataProtectionProvider(IDataProtectionBuilder)

将数据保护系统配置为将 用于 EphemeralDataProtectionProvider 数据保护服务。

PersistKeysToDbContext<TContext>(IDataProtectionBuilder)

配置数据保护系统以将密钥保存到 EntityFrameworkCore 数据存储

PersistKeysToRedis(IDataProtectionBuilder, IConnectionMultiplexer)

配置数据保护系统以将密钥保存到 Redis 数据库中的默认密钥 (“DataProtection-Keys”)

PersistKeysToRedis(IDataProtectionBuilder, IConnectionMultiplexer, RedisKey)

配置数据保护系统以将密钥保存到 Redis 数据库中的指定密钥

PersistKeysToRedis(IDataProtectionBuilder, Func<IDatabase>, RedisKey)

配置数据保护系统以将密钥保存到 Redis 数据库中的指定密钥

PersistKeysToStackExchangeRedis(IDataProtectionBuilder, IConnectionMultiplexer)

配置数据保护系统以将密钥保存到 Redis 数据库中的默认密钥 (“DataProtection-Keys”)

PersistKeysToStackExchangeRedis(IDataProtectionBuilder, IConnectionMultiplexer, RedisKey)

配置数据保护系统以将密钥保存到 Redis 数据库中的指定密钥

PersistKeysToStackExchangeRedis(IDataProtectionBuilder, Func<IDatabase>, RedisKey)

配置数据保护系统以将密钥保存到 Redis 数据库中的指定密钥

适用于