DpapiProtectedConfigurationProvider Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce un oggetto ProtectedConfigurationProvider che usa l'API Windows protezione dati (DPAPI) per crittografare e decrittografare i dati di configurazione.
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
- Ereditarietà
- Attributi
Esempio
Nell'esempio seguente viene illustrato come usare il DpapiProtectedConfigurationProvider standard per proteggere o rimuovere la protezione di una sezione di configurazione.
Gli estratti di configurazione seguenti mostrano la sezione di configurazione prima e dopo l'applicazione della protezione.
Avvertimento
Microsoft non consiglia di specificare direttamente il nome utente e la password, perché si tratta di un modello non sicuro. Se possibile, usare flussi di autenticazione più sicuri, ad esempio Managed Identities for Azure resources o autenticazione di Windows per 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>
Commenti
Il DpapiProtectedConfigurationProvider consente di proteggere le informazioni riservate archiviate in un file di configurazione da accessi non autorizzati.
Per usare il DpapiProtectedConfigurationProvider standard, dichiarare il provider e le impostazioni appropriate nel file di configurazione anziché creare un'istanza di questa classe. Fare riferimento all'esempio successivo.
Il DpapiProtectedConfigurationProvider usa i servizi di crittografia predefiniti di Windows e può essere configurato per la protezione specifica del computer o dell'account utente. La protezione specifica del computer è utile per i servizi anonimi, ma offre una minore sicurezza. La protezione specifica dell'account utente può essere usata con i servizi eseguiti con un'identità utente specifica.
Costruttori
| Nome | Descrizione |
|---|---|
| DpapiProtectedConfigurationProvider() |
Inizializza una nuova istanza della classe DpapiProtectedConfigurationProvider utilizzando le impostazioni predefinite. |
Proprietà
| Nome | Descrizione |
|---|---|
| Description |
Ottiene una breve descrizione descrittiva adatta per la visualizzazione negli strumenti di amministrazione o in altre interfacce utente. (Ereditato da ProviderBase) |
| Name |
Ottiene il nome descrittivo utilizzato per fare riferimento al provider durante la configurazione. (Ereditato da ProviderBase) |
| UseMachineProtection |
Ottiene un valore che indica se l'oggetto DpapiProtectedConfigurationProvider utilizza una protezione specifica del computer o specifica dell'account utente. |
Metodi
| Nome | Descrizione |
|---|---|
| Decrypt(XmlNode) |
Decrittografa l'oggetto XmlNode passato. |
| Encrypt(XmlNode) |
Crittografa l'oggetto XmlNode passato. |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| Initialize(String, NameValueCollection) |
Inizializza il provider con le impostazioni predefinite. |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |