ホームページ >バックエンド開発 >C#.Net チュートリアル >asp.net web.config の暗号化と復号化の方法
コマンド ライン ツール aspnet_regiis.exe を使用する
aspnet_regiis.exe コマンド ライン ツールを使用して、Web.config ファイルの構成部分を暗号化および復号化することもできます。このツールは「%WINDOWSDIR%Microsoft.NetFrameworkversion」にあります。ディレクトリ。 Web.config ファイル内のセクションを暗号化するには、以下に示すように、このコマンド ライン ツールで DPAPI マシン キーを使用できます:
特定の Web サイトの Web.config ファイルを暗号化する一般的な形式:
aspnet_regiis.exe -pef section physical_directory -prov provider
または:
aspnet_regiis.exe -pe section -app virtual_directory -prov provider
特定の Web サイトの Web.config ファイルを暗号化する具体的な例:
aspnet_regiis.exe -pef "connectionStrings" "C:\Inetpub\wwwroot\MySite" -prov "DataProtectionConfigurationProvider"
または:
aspnet_regiis.exe -pe "connectionStrings" -app "/MySite" -prov "DataProtectionConfigurationProvider"
特定の Web サイトの Web.config ファイルを復号化する一般的な形式:
aspnet_regiis.exe -pdf section physical_directory
または:
aspnet_regiis.exe -pd section -app virtual_directory
特定の Web サイトの Web 構成ファイルの具体的な例:
aspnet_regiis.exe -pdf "connectionStrings" "C:\Inetpub\wwwroot\MySite"
または:
aspnet_regiis.exe が machine.config ファイルの暗号化/復号化を実行するように指定することもできます。
【ヒント】ASP.NET バージョン 1.x で構成設定を暗号化する
ASP.NET バージョン 1.x で構成設定を保護するには、開発者は機密設定を暗号化して Web サーバーのレジストリに保存する必要があり、「強力な」ファイルに保存されます。重要なマナー。 (ASP.NET 2.0 のように) 暗号化されたコンテンツを保存するのではなく、構成ファイルには、暗号化された値を保存するレジストリ キーへの参照が含まれるだけです。例:
<identity impersonate="true" userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,userName" password="registry:HKLM\SOFTWARE\MY_SECURE_APP\identity\ASPNET_SETREG,password" />
Microsoft は、機密構成情報を暗号化し、それを「強力な」レジストリ エントリに移動するための aspnet_setreg.exe コマンド ライン ツールを開発者に提供しています。残念ながら、このツールは特定の構成設定に対してのみ機能します。一方、ASP.NET 2.0 では、あらゆる構成セクションを暗号化できます。
ASP.NET 1.x アプリケーションでの aspnet_setreg.exe の使用の詳細については、MSDN の KB#32990 を参照してください。残念ながら、このコマンド ライン プログラムでは、構成設定の事前定義されたセクションのみを暗号化でき、データベース接続文字列や自分で追加したその他の機密情報を暗号化することはできません。
暗号化の例:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pdf connectionStrings I:\代码仓库\wt_Projects\WebSites\WebSite
asp.net web.config の暗号化および復号化方法に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。