DpapiProtectedConfigurationProvider Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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) |