DpapiProtectedConfigurationProvider 类

定义

提供使用 Windows 数据保护 API (DPAPI) 来加密和解密配置数据的 ProtectedConfigurationProvider 对象。

public ref class DpapiProtectedConfigurationProvider sealed : System::Configuration::ProtectedConfigurationProvider
public sealed class DpapiProtectedConfigurationProvider : System.Configuration.ProtectedConfigurationProvider
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public sealed class DpapiProtectedConfigurationProvider : System.Configuration.ProtectedConfigurationProvider
type DpapiProtectedConfigurationProvider = class
    inherit ProtectedConfigurationProvider
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
type DpapiProtectedConfigurationProvider = class
    inherit ProtectedConfigurationProvider
Public NotInheritable Class DpapiProtectedConfigurationProvider
Inherits ProtectedConfigurationProvider
继承
DpapiProtectedConfigurationProvider
属性

示例

以下示例演示如何使用标准 DpapiProtectedConfigurationProvider 来保护或取消保护配置节。

以下配置摘录显示了应用保护之前和之后的配置部分。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="NorthwindConnectionString"
      connectionString="Data Source=webnetue2;Initial Catalog=Northwind;User ID=aspnet_test;Password=test"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <EncryptedData>
      <CipherData>                <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAcAMh0jIC1kigyFfd9AUZfQQAAAACAAAAAAADZgAAqAAAABAAAADQwbQ2DgIgIlqskE1RI9UpAAAAAASAAACgAAAAEAAAAAXlYBxi3jhM6wv4sxLhugsQAgAAgoReHZS2406dc/AyRDd6WuNr4ihHn6fbipd4tzHEmeuyS4o4fS4CmT3jMt/WjsP/kR7TF4ygwr2GG47podK79ECpVCZHAgctCauCYjE2Ls3iphKXy/pHic2o6aaClt/xPm+fb4OfODv6XjrJhJzGK2lqUPXkyJN1w2zwh6OVpDQF9N8vTyxL4eitp35/M5zYbW7e6VVAgYUOxlNxgCV5+jXpUKh/rPovopTD392u8KavqQFW1iu+gBPSPq/xeZNz+qYMKbUl+r4VTzBQg3fPlRxp1lNZmM2yRgUbkYPNaFb9ihS7GAg5/wZn8lLmThvq39eA0Vlp6hDE92iop885umELt0/NBKf5umQCqqz9EXXLbmmGc7qoLqTaYVuOmqx0LsvrJL0wSL1dSySCjmB/dNAtVUYgg02eWQNKyaLqnpMdCbTLLQ/oCKuNkL5OQ7t1yl5wQGjQhieIRzLtrMgpTSyaHbqDsRurp9Bc5mM078IAg1hXquQNKlJC/wiJ9kbHerFCbtuLGy/7nXVrFH91ud4U4ExCJEuhoTdmuql5kbqYd6Ye/bu2CftPni19nDkSJ8w4NoqMNKbK3Mi/Cd0o113HsVYlETMv1vlJWZWYP91PK9trixiY4E0G81c6IKITjHDrOJ9evdw2T1/TrvY6pzre3UXSJbFMDQVX6JoAxFk02SRZDKOZdRojeoX19lgrFAAAABzjlz3Qg2as3vn7MRQVxDfZucgE</CipherValue>
      </CipherData>
    </EncryptedData>
  </connectionStrings>
  <configProtectedData defaultProvider="RsaProtectedConfigurationProvider">
    <providers>
      <clear />
      <add keyContainerName="NetFrameworkConfigurationKey" cspProviderName=""
        useMachineContainer="true" useOAEP="false" description="Uses RsaCryptoServiceProvider to encrypt and decrypt"
        name="RsaProtectedConfigurationProvider" type="System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
      <add useMachineProtection="true" description="Uses CryptProtectData and CryptUnProtectData Windows APIs to encrypt and decrypt"
        keyEntropy="" name="DataProtectionConfigurationProvider" type="System.Configuration.DpapiProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </providers>
  </configProtectedData>
</configuration>

注解

DpapiProtectedConfigurationProvider允许你保护存储在配置文件中的敏感信息免受未经授权的访问。

通过使用 标准 DpapiProtectedConfigurationProvider ,可以在配置文件中声明提供程序和适当的设置,而不是创建此类的实例。 请参阅下一个示例。

有关受保护配置的详细信息,请参阅 使用受保护的配置加密配置信息

DpapiProtectedConfigurationProvider使用 Windows 内置加密服务,并且可以配置为特定于计算机或特定于用户帐户的保护。 特定于计算机的保护对匿名服务很有用,但提供的安全性较低。 特定于用户帐户的保护可用于使用特定用户标识运行的服务。

构造函数

DpapiProtectedConfigurationProvider()

使用默认设置初始化 DpapiProtectedConfigurationProvider 类的新实例。

属性

Description

获取一条简短的易懂描述,它适合在管理工具或其他用户界面 (UI) 中显示。

(继承自 ProviderBase)
Name

获得一个友好名称,用于在配置过程中引用提供程序。

(继承自 ProviderBase)
UseMachineProtection

获取一个值,该值用于指示 DpapiProtectedConfigurationProvider 对象是在使用特定于计算机的保护,还是在使用特定于用户帐户的保护。

方法

Decrypt(XmlNode)

对传递的 XmlNode 对象进行解密。

Encrypt(XmlNode)

对传递的 XmlNode 对象进行加密。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
Initialize(String, NameValueCollection)

使用默认设置初始化提供程序。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于

另请参阅