ProtectedConfigurationSection クラス
アセンブリ: System.Configuration (system.configuration.dll 内)
構文
configProtectedData 構成ファイル セクションの providers 要素には、保護されたデータ プロバイダのコレクションが格納されます。
メモ |
---|
Aspnet_regiis.exe ツールを使用して、構成セクションを暗号化および復号化できます。詳細については、保護された構成を使用した構成情報の暗号化 のトピックを参照してください。 |
次の構成ファイルの抜粋に、保護されているデータ プロバイダを宣言によって指定する方法を示します。
<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>
ProtectedConfigurationSection クラスを使用して、configProtectedData 構成ファイル セクションに含まれる値にプログラムによってアクセスする方法を次のコード例に示します。
Imports System Imports System.IO Imports System.Configuration ' Shows how to use ProtectedConfigurationSection. Class UsingProtectedConfigurationSection Shared Sub GetDefaultProvider() Try ' Get the application configuration. Dim config As Configuration = _ ConfigurationManager.OpenExeConfiguration( _ ConfigurationUserLevel.None) ' Get the protected configuration section. Dim pcSection _ As ProtectedConfigurationSection = _ CType(config.GetSection( _ "configProtectedData"), _ System.Configuration.ProtectedConfigurationSection) ' Get the current DefaultProvider. Console.WriteLine( _ "Protected configuration section default provider:") Console.WriteLine("{0}", _ pcSection.DefaultProvider) Catch e As ConfigurationErrorsException Console.WriteLine(e.ToString()) End Try End Sub 'GetDefaultProvider Shared Sub GetProviderCollection() Try ' Get the application configuration. Dim config As Configuration = _ ConfigurationManager.OpenExeConfiguration( _ ConfigurationUserLevel.None) ' Get the protected configuration section. Dim pcSection _ As ProtectedConfigurationSection = _ CType(config.GetSection( _ "configProtectedData"), _ System.Configuration.ProtectedConfigurationSection) Console.WriteLine( _ "Protected configuration section providers:") Dim ps As ProviderSettings For Each ps In pcSection.Providers Console.WriteLine(" {0}", ps.Name) Next ps Catch e As ConfigurationErrorsException Console.WriteLine(e.ToString()) End Try End Sub 'GetProviderCollection Public Shared Sub Main() GetDefaultProvider() GetProviderCollection() End Sub 'Main End Class 'UsingProtectedConfigurationSection
using System; using System.IO; using System.Configuration; namespace Samples.Aspnet { // Shows how to use ProtectedConfigurationSection. class UsingProtectedConfigurationSection { static void GetDefaultProvider() { try { // Get the application configuration. Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); // Get the protected configuration section. ProtectedConfigurationSection pcSection = (System.Configuration.ProtectedConfigurationSection) config.GetSection("configProtectedData"); // Get the current DefaultProvider. Console.WriteLine( "Protected configuration section default provider:"); Console.WriteLine(" {0}", pcSection.DefaultProvider); } catch (ConfigurationErrorsException e) { Console.WriteLine(e.ToString()); } } static void GetProviderCollection() { try { // Get the application configuration. Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); // Get the protected configuration section. ProtectedConfigurationSection pcSection = (System.Configuration.ProtectedConfigurationSection) config.GetSection("configProtectedData"); Console.WriteLine( "Protected configuration section providers:"); foreach (ProviderSettings ps in pcSection.Providers) { Console.WriteLine(" {0}", ps.Name); } } catch (ConfigurationErrorsException e) { Console.WriteLine(e.ToString()); } } public static void Main() { GetDefaultProvider(); GetProviderCollection(); } } }
System.Configuration.ConfigurationElement
System.Configuration.ConfigurationSection
System.Configuration.ProtectedConfigurationSection
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- ProtectedConfigurationSection クラスのページへのリンク