在 ASP.NET Core 中支持的数据保护计算机范围的策略Data Protection machine-wide policy support in ASP.NET Core

    Windows 上运行时,数据保护系统具有有限的支持设置默认计算机范围的所有应用程序使用 ASP.NET Core 数据保护策略。通常,管理员可能希望更改默认设置(例如使用的算法或密钥生存期),而无需手动更新计算机上的每个应用。

    警告

    系统管理员可以设置默认策略,但不能强制实施它。应用开发人员始终可以通过自己选择的任意值覆盖任何值。默认策略仅影响开发人员未指定设置的显式值的应用。

    HKLM\SOFTWARE\Microsoft\DotNetPackages\Microsoft.AspNetCore.DataProtection

    如果你使用的是64位的操作系统,并且想要影响32位应用的行为,请记住配置 Wow6432Node 的等效项。

    下面显示了支持的值。

    加密类型Encryption types

    如果 EncryptionType 是 CNG-GCM,系统会将系统配置为使用 Galois/Counter 模式对称块密码,以获得 Windows CNG 提供的服务的机密性和真实性(有关详细信息,请参阅)。支持以下附加值,其中每个值对应于 CngGcmAuthenticatedEncryptionSettings 类型上的一个属性。

    如果 EncryptionType 是托管的,则系统会将系统配置为使用托管的 System.security.cryptography.symmetricalgorithm 作为保密性,并使用 KeyedHashAlgorithm 作为真实性(有关详细信息,请参阅指定自定义托管算法)。支持以下附加值,其中每个值对应于 ManagedAuthenticatedEncryptionSettings 类型上的一个属性。

    如果 EncryptionType 的其他任何值均不为 null 或为空,则数据保护系统将在启动时引发异常。

    配置涉及类型名称(EncryptionAlgorithmType、ValidationAlgorithmType、KeyEscrowSinks)的默认策略设置时,这些类型必须可用于应用。这意味着,对于在桌面 CLR 上运行的应用程序,包含这些类型的程序集应存在于全局程序集缓存(GAC)中。对于在.NET Core 上运行的 ASP.NET Core 应用程序,应安装包含这些类型的包。