DpapiProtectedConfigurationProvider Clase

Definición

Proporciona un objeto ProtectedConfigurationProvider que usa la API de protección de datos de Windows (DPAPI) para cifrar y descifrar los datos de configuración.

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

Ejemplos

En el ejemplo siguiente se muestra cómo usar el DpapiProtectedConfigurationProvider estándar para proteger o desproteger una sección de configuración.

Los siguientes extractos de configuración muestran la sección de configuración antes y después de aplicar la protección.

Advertencia

Microsoft no recomienda proporcionar el nombre de usuario y la contraseña directamente, ya que es un patrón inseguro. Siempre que sea posible, use flujos de autenticación más seguros, como identidades administradas para recursos de Azureo autenticación de Windows para SQL Server.

<?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>

Comentarios

El DpapiProtectedConfigurationProvider permite proteger la información confidencial almacenada en un archivo de configuración frente al acceso no autorizado.

Use el DpapiProtectedConfigurationProvider estándar declarando el proveedor y la configuración adecuada en el archivo de configuración en lugar de crear una instancia de esta clase. Consulte el ejemplo siguiente.

Para obtener más información sobre la configuración protegida, vea Información de cifrado de configuración mediante la configuración protegida.

El DpapiProtectedConfigurationProvider usa los servicios criptográficos integrados de Windows y se puede configurar para la protección específica de la máquina o específica de la cuenta de usuario. La protección específica de la máquina es útil para los servicios anónimos, pero proporciona menos seguridad. La protección específica de la cuenta de usuario se puede usar con servicios que se ejecutan con una identidad de usuario específica.

Constructores

DpapiProtectedConfigurationProvider()

Inicializa una nueva instancia de la clase DpapiProtectedConfigurationProvider mediante la configuración predeterminada.

Propiedades

Description

Obtiene una breve descripción fácil de mostrar en herramientas administrativas u otras interfaces de usuario (UIs).

(Heredado de ProviderBase)
Name

Obtiene el nombre descriptivo que se usa para hacer referencia al proveedor durante la configuración.

(Heredado de ProviderBase)
UseMachineProtection

Obtiene un valor que indica si el objeto DpapiProtectedConfigurationProvider usa protección específica de la máquina o específica de la cuenta de usuario.

Métodos

Decrypt(XmlNode)

Descifra el objeto XmlNode pasado.

Encrypt(XmlNode)

Cifra el objeto XmlNode pasado.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Initialize(String, NameValueCollection)

Inicializa el proveedor con la configuración predeterminada.

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también