次の方法で共有


DpapiProtectedConfigurationProvider クラス

定義

Windows データ保護 API (DPAPI) を使用して構成データの暗号化と復号化を行う ProtectedConfigurationProvider オブジェクトを提供します。

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
継承
DpapiProtectedConfigurationProvider
属性

次の例は、標準の DpapiProtectedConfigurationProvider を使用して構成セクションを保護または保護解除する方法を示しています。

次の構成の抜粋は、保護が適用される前と後の構成セクションを示しています。

警告

セキュリティで保護されていないパターンであるため、ユーザー名とパスワードを直接指定することはお勧めしません。 可能な場合は、Azure リソースのマネージド ID の 、SQL Server の Windows 認証 など、より安全な認証フローを使用します。

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

注釈

DpapiProtectedConfigurationProvider を使用すると、構成ファイルに格納されている機密情報を未承認のアクセスから保護できます。

標準 DpapiProtectedConfigurationProvider を使用するには、このクラスのインスタンスを作成するのではなく、構成ファイルでプロバイダーと適切な設定を宣言します。 次の例を参照してください。

保護された構成の詳細については、「保護された構成を使用した構成情報の暗号化 」を参照してください。

DpapiProtectedConfigurationProvider は Windows 組み込みの暗号化サービスを使用し、マシン固有またはユーザー アカウント固有の保護用に構成できます。 コンピューター固有の保護は匿名サービスに役立ちますが、セキュリティは低くなります。 ユーザー アカウント固有の保護は、特定のユーザー ID で実行されるサービスで使用できます。

コンストラクター

DpapiProtectedConfigurationProvider()

既定の設定を使用して、DpapiProtectedConfigurationProvider クラスの新しいインスタンスを初期化します。

プロパティ

Description

管理ツールやその他のユーザー インターフェイス (UI) での表示に適した簡単でわかりやすい説明を取得します。

(継承元 ProviderBase)
Name

構成時にプロバイダーを参照するために使用されるフレンドリ名を取得します。

(継承元 ProviderBase)
UseMachineProtection

DpapiProtectedConfigurationProvider オブジェクトがコンピューター固有またはユーザー アカウント固有の保護を使用しているかどうかを示す値を取得します。

メソッド

Decrypt(XmlNode)

渡された XmlNode オブジェクトを復号化します。

Encrypt(XmlNode)

渡された XmlNode オブジェクトを暗号化します。

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
Initialize(String, NameValueCollection)

既定の設定でプロバイダーを初期化します。

MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください