構成セクションの暗号化と複合化

更新 : 2007 年 11 月

ASP.NET IIS 登録ツール (Aspnet_regiis.exe) を使用すると、Web 構成ファイルのセクションを暗号化または複号化できます。ASP.NET は、Web.config ファイルを処理する際に、暗号化された構成要素を自動的に複号化します。

zhhddkxy.alert_note(ja-jp,VS.90).gifメモ :

Aspnet_regiis.exe ツールは、%windows%\Microsoft.NET\Framework\versionNumber フォルダにあります。

System.Configuration 名前空間の保護された構成クラスを使用して Web 構成ファイルのセクション、実行可能ファイル (.exe) のための構成ファイルのセクション、またはマシンレベルとアプリケーションレベルの構成ファイルのセクションを暗号化および複号化することもできます。詳細については、SectionInformation クラスの ProtectSection メソッドを参照してください。Web.config ファイルのセクションの参照については、WebConfigurationManager クラスを参照してください。Web.config 以外のファイルのセクションの参照については、ConfigurationManager クラスを参照してください。

Web 構成セクションの暗号化

構成ファイルの内容を暗号化するには、–pe オプションと暗号化する構成要素の名前を指定して Aspnet_regiis.exe ツールを使用します。

–app オプションを使用して Web.config ファイルの暗号化の対象となるアプリケーションを指定し、-site オプションを使用してアプリケーションが属している Web サイトを指定します。Web サイトは、インターネット インフォメーション サービス (IIS) メタベースのサイト番号を使用して指定します。サイト番号は、ServerVariables コレクションの INSTANCE_META_PATH サーバー変数から取得できます。たとえば、IIS がインストールされている場合、"Default Web Site" という Web サイトはサイト 1 として作成されます。このサイトから提供されるページの INSTANCE_META_PATH サーバー変数は、"/LM/W3SVC/1" を返します。-site オプションを指定しない場合は、サイト 1 が使用されます。

–prov オプションを使用して、暗号化と復号化を実行する ProtectedConfigurationProvider の名前を指定します。-prov オプションを使用してプロバイダを指定しなければ、defaultProvider として構成されているプロバイダが使用されます。

zhhddkxy.alert_note(ja-jp,VS.90).gifメモ :

カスタム キー コンテナを指定する RsaProtectedConfigurationProvider インスタンスを使用する場合は、Aspnet_regiis.exe ツールを実行する前にキー コンテナを作成する必要があります。詳細については、「保護された構成 RSA キー コンテナのインポートとエクスポート」を参照してください。

次のコマンドは、SampleApplication アプリケーションの Web.config ファイルの connectionStrings 要素を暗号化します。-site オプションは指定されていないため、アプリケーションは Web サイト 1 に属していると見なされます (IIS で最も一般的な Default Web Site)。暗号化は、マシン構成ファイルに指定されている RsaProtectedConfigurationProvider を使用して実行されます。

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"

アプリケーションのページまたはその他の ASP.NET リソースが要求されると、ASP.NET は、ASP.NET とアプリケーション コードが使用する情報を複号化するために保護された構成セクションのプロバイダを呼び出します。

zhhddkxy.alert_note(ja-jp,VS.90).gifメモ :

Web.config ファイルのセクションを複号化および暗号化するために、ASP.NET プロセスには適切な暗号キー情報を読み込むアクセス許可が必要です。詳細については、「保護された構成 RSA キー コンテナのインポートとエクスポート」を参照してください。

Web 構成セクションの複号化

構成ファイルの内容を複号化するには、-pd スイッチと複号化する構成要素の名前を指定して Aspnet_regiis.exe ツールを使用します。–app スイッチと -site スイッチを使用して、Web.config ファイルを複号化するアプリケーションを指定します。ProtectedConfigurationProvider の名前は保護された構成セクションの configProtectionProvider 属性から読み込まれるため、この情報を指定するために –prov スイッチを使用する必要はありません。

次のコマンドは、SampleApplication アプリケーションの Web.config ファイルの connectionStrings 要素を複号化します。

aspnet_regiis -pd "connectionStrings" -app "/SampleApplication"

参照

処理手順

チュートリアル : 保護された構成を使用した構成情報の暗号化

概念

保護された構成プロバイダの指定

その他の技術情報

保護された構成を使用した構成情報の暗号化