http://msdn.microsoft.com/ja-jp/library/dx0f3cf2%28v=vs.80%29.aspx
1. Windows のコマンドラインで、ASP.NET IIS 登録ツール (aspnet_regiis.exe) を実行
path %path%;%systemroot%\Microsoft.NET\Framework\(versionNumber) aspnet_regiis -pe "connectionStrings" -app "/SampleApplication"
標準出力で、暗号化された接続文字列を含むweb.configが表示される。
2. ASP.NET を実行しているユーザー アカウントまたは ID を特定
<%@ Page Language="VB" %> <% Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name) %>
3. ASP.NET を実行するユーザー アカウントまたは ID へ、暗号キーへの読み取りアクセス権を渡す
例:NETWORK SERVICE アカウントに、コンピュータ レベルの "NetFrameworkConfigurationKey" RSA キー コンテナへのアクセスを許可する例を次に示します。
aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE"
以上で、web.configファイルに格納された接続文字列の暗号化は終了である
4. 暗号化された Web.config ファイルの内容を復号化する
web.configファイルに格納された接続文字列の復号が行いたい場合、以下の処理を実施する。
aspnet_regiis -pd "connectionStrings" -app "/SampleApplication"
ファイル名をweb.configに変更して、後でapp.configに戻してやるという手順をとれば、App.Config内の接続文字列を暗号化できるらしい。
http://blogonos.wordpress.com/2006/08/17/app-config%E5%86%85%E3%81%AE%E6%8E%A5%E7%B6%9A%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E6%9A%97%E5%8F%B7%E5%8C%96%E3%81%99%E3%82%8B/
aspnet_regiis -pe "connectionStrings" -f "(web.configのあるフォルダ)"