DpapiProtectedConfigurationProvider Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Udostępnia obiekt ProtectedConfigurationProvider, który używa interfejsu API ochrony danych systemu Windows (DPAPI) do szyfrowania i odszyfrowywania danych konfiguracji.
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
- Dziedziczenie
- Atrybuty
Przykłady
W poniższym przykładzie pokazano, jak używać standardowej DpapiProtectedConfigurationProvider do ochrony lub wyłączania ochrony sekcji konfiguracji.
Poniższe fragmenty konfiguracji pokazują sekcję konfiguracji przed zastosowaniem ochrony i po jej zastosowaniu.
Ostrzeżenie
Firma Microsoft nie zaleca bezpośredniego podawania nazwy użytkownika i hasła, ponieważ jest to niezabezpieczony wzorzec. Jeśli to możliwe, należy użyć bezpieczniejszych przepływów uwierzytelniania, takich jak tożsamości zarządzane dla zasobów platformy Azurelub uwierzytelniania systemu Windows dla programu 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>
Uwagi
DpapiProtectedConfigurationProvider umożliwia ochronę poufnych informacji przechowywanych w pliku konfiguracji przed nieautoryzowanym dostępem.
Używasz standardowej DpapiProtectedConfigurationProvider, deklarując dostawcę i odpowiednie ustawienia w pliku konfiguracji, a nie tworząc wystąpienia tej klasy. Zapoznaj się z następnym przykładem.
Aby uzyskać więcej informacji na temat konfiguracji chronionej, zobacz Szyfrowanie informacji o konfiguracji przy użyciu konfiguracji chronionej.
DpapiProtectedConfigurationProvider korzysta z wbudowanych usług kryptograficznych systemu Windows i można je skonfigurować pod kątem ochrony specyficznej dla komputera lub konta użytkownika. Ochrona specyficzna dla maszyny jest przydatna w przypadku usług anonimowych, ale zapewnia mniejsze bezpieczeństwo. Ochrona specyficzna dla konta użytkownika może być używana z usługami, które działają z określoną tożsamością użytkownika.
Konstruktory
DpapiProtectedConfigurationProvider() |
Inicjuje nowe wystąpienie klasy DpapiProtectedConfigurationProvider przy użyciu ustawień domyślnych. |
Właściwości
Description |
Pobiera krótki, przyjazny opis odpowiedni do wyświetlania w narzędziach administracyjnych lub innych interfejsach użytkownika. (Odziedziczone po ProviderBase) |
Name |
Pobiera przyjazną nazwę używaną do odwoływania się do dostawcy podczas konfiguracji. (Odziedziczone po ProviderBase) |
UseMachineProtection |
Pobiera wartość wskazującą, czy obiekt DpapiProtectedConfigurationProvider korzysta z ochrony specyficznej dla komputera lub konta użytkownika. |
Metody
Decrypt(XmlNode) |
Odszyfrowuje przekazany obiekt XmlNode. |
Encrypt(XmlNode) |
Szyfruje przekazany obiekt XmlNode. |
Equals(Object) |
Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
Initialize(String, NameValueCollection) |
Inicjuje dostawcę z ustawieniami domyślnymi. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |