web-dev-qa-db-ja.com

Web.Configの暗号化

デプロイメントの暗号化設定ファイル.NET および デプロイメントの暗号化設定ファイル の複製


Web.configファイルの情報を暗号化するための最良のアプローチとツールは何ですか?

22
TheVillageIdiot

これには2つの方法があると思います。

[〜#〜] dpapi [〜#〜] または [〜#〜] rsa [〜#〜] を使用してaspnet_regiisを使用する、または プログラムで実行する

プログラムによる方法は、特にapp.configも暗号化する場合に便利です。

これを使用した私の経験から、カスタム構成セクションを作成する場合、そのセクションのクラスを含むDLLをGACにインストールします。私が作業していたプロジェクトでは、基本的に次のスクリプトを作成しましたアプローチ:

  • Config DLLをGACにコピーします。
  • 暗号化を実行します。
  • GACからconfig DLLを削除します。

接続文字列を暗号化しているだけの場合は問題ありません。また、マシン全体で暗号化するのか、特定のユーザーアカウントで暗号化するのかを覚えておく必要があります。シナリオによっては、どちらのオプションも役立つ場合があります。簡単にするために、マシン全体の暗号化にこだわりました。私が提供したリンクは、両方のアプローチのメリットを説明しています。

8
RichardOD

プログラミングせずにweb.configファイルを暗号化するコマンドを次に示します...

暗号化用

aspnet_regiis -pef "Section" "Path exluding web.config"

解読用

aspnet_regiis -pdf "Section" "Path exluding web.config"

このコマンドから、すべてのセクションを暗号化または復号化できます。

15
Jalpesh Vadgama
4
Irwin

フレームワークディレクトリでaspnet_regiisツールを使用します。

                                        -- CONFIGURATION ENCRYPTION OPTIONS --

pe section            Encrypt the configuration section. Optional arguments:
                      [-prov provider] Use this provider to encrypt.
                      [-app virtual-path] Encrypt at this virtual path. Virtual path must begin with a forward slash.
                      If it is '/', then it refers to the root of the site. If -app is not specified, the root
                      web.config will be encrypted.
                      [-site site-name-or-ID] The site of the virtual path specified in -app. If not specified, the
                      default web site will be used.
                      [-location sub-path] Location sub path.
                      [-pkm] Encrypt/decrypt the machine.config instead of web.config.

pd section            Decrypt the configuration section. Optional arguments:
                      [-app virtual-path] Decrypt at this virtual path. Virtual path must begin with a forward slash.
                      If it is '/', then it refers to the root of the site. If -app is not specified, the root
                      web.config will be decrypted.
                      [-site site-name-or-ID] The site of the virtual path specified in -app. If not specified, the
                      default web site will be used.
                      [-location sub-path] Location sub path.
                      [-pkm] Encrypt/decrypt the machine.config instead of web.config.
2
x0n

ここから始めて、簡単に理解でき、MSDNで詳しく説明されたステップバイステップガイド: How To:Encrypt Configuration Sections in ASP.NET 2.0 Using DPAPI

1
Remus Rusanu

aspnet_regiis.exeコマンドラインツールを使用します

%WINDOWSDIR%\ Microsoft.Net\Framework\versionディレクトリにあるaspnet_regiis.exeコマンドラインツールを使用して、Web.configファイルのセクションを暗号化および復号化することもできます。

ここを見て: http://aspnet.4guysfromrolla.com/articles/021506-1.aspx

0
jinsungy