System.Configuration.ProtectedConfigurationProvider 类
方法描述
为加密和解密受保护的配置数据而创建提供程序的基类。
语法定义(C# System.Configuration.ProtectedConfigurationProvider 类 的用法)
public abstract class ProtectedConfigurationProvider : ProviderBase
构造函数
构造函数名称 | 构造函数描述 |
---|---|
ProtectedConfigurationProvider | 使用默认设置初始化 ProtectedConfigurationProvider 类的新实例。 |
成员/方法
方法名称 | 方法描述 |
---|---|
Decrypt | 解密从配置文件传递的 XmlNode 对象。 |
Encrypt | 加密从配置文件传递的 XmlNode 对象。 |
Equals(Object) | 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。) |
Finalize | 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) |
GetHashCode | 用作特定类型的哈希函数。 (继承自 Object。) |
GetType | 获取当前实例的 Type。 (继承自 Object。) |
Initialize | 初始化提供程序。 (继承自 ProviderBase。) |
MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) |
ToString | 返回表示当前对象的字符串。 (继承自 Object。) |
提示和注释
可以对配置文件的节进行加密,以保护应用程序所使用的敏感信息。 这样,即使攻击者获得了对配置文件的访问权限,也很难对配置文件进行未授权访问,从而提高了安全性。
.NET Framework 包括两个受保护的配置提供程序,这两个提供程序可用于对配置文件中的节进行加密。 RsaProtectedConfigurationProvider 类使用 RSACryptoServiceProvider 对配置节进行加密。 DpapiProtectedConfigurationProvider 类使用 Windows 数据保护 API (DPAPI) 对配置节进行加密。
您可能需要使用 RSA 或 DPAPI 提供程序之外的某种算法来加密敏感信息。 在这种情况下,您可以生成自己的自定义受保护的配置提供程序。 ProtectedConfigurationProvider 是一个抽象基类,必须继承该类才可以创建自己的自定义受保护的配置提供程序。
不管是使用标准的提供程序,还是使用自定义的提供程序,都必须确保此提供程序用 configProtectedData 配置节的 providers 节中的 add 元素进行了配置。 (请参见下一个示例。)
有关详细信息,请参见实现受保护配置提供程序。
注意
当 ASP.NET 遇到加密的配置数据时,会使用配置的提供程序透明地执行解密。 除了需确保已对所需的提供程序进行了配置外,不需要执行任何操作。
Topic
Location
实现受保护配置提供程序在 Visual Studio 中生成 ASP .NET Web 应用程序
实现受保护配置提供程序在 Visual Studio 中生成 ASP .NET Web 应用程序
实现受保护配置提供程序生成 ASP .NET Web 应用程序
System.Configuration.ProtectedConfigurationProvider 类例子
下面是上述示例所用的配置文件的摘录。
继承层次结构
System.Configuration.Provider.ProviderBase
System.Configuration.ProtectedConfigurationProvider
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
版本信息
.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。