DOBON.NET DOBON.NETプログラミング掲示板過去ログ

App.Configの複号化・暗号化(.NET FrameWork1.1)

環境/言語:[Widnwos2000 ]
分類:[.NET]

お世話になっております。
構成ファイルについて御相談させて頂きます。

現在、VB.NET2003を用いて開発作業を行っておりますが
DBの接続文字列に関して、コードで管理するのでなく、構成ファイルで管理するように
変更しようと考えております。

それで色々と調べてみたところによると
aspnet_regiis.exeツールを使って、App.Configをweb.configに変更して
コマンドプロンプロでコマンドをたたけば、項目の暗号化を行え、複号化も簡単にできるという事がわかったのですが。。。

この暗号化・複号化する機能は.FrameWork2.0からサポートしているようなのです。
.FrameWork1.1で、App.Configの内容を隠蔽化するような方法はあるのでしょうか?
それとも、DBの接続に関する情報を構成ファイルで管理する以外の方法はあるのでしょうか?

お分かりになる方がいらっしゃいましたら、宜しく御願いします
質問の内容はWebアプリ(Web.config)なんですか?それともWindowsアプリ(App.config, exename.exe.config)なんですか?
Webアプリであれば漏えいする可能性を防いでおけばそのまま書いておいても問題はないですよね?
WindowsアプリであればWindows認証を利用しましょうってのがお決まりの解答。
あとは自前で暗号化してしまうとか。
2007/01/12(Fri) 11:03:19 編集(投稿者)
2007/01/12(Fri) 11:03:06 編集(投稿者)

おはようございます。
返信が遅れて申し訳ありません。

中博俊様へ
>質問の内容はWebアプリ(Web.config)なんですか?それともWindowsアプリ(App.config, exename.exe.config)なんですか?
Windowsアプリケーションです。やりたい事が……

現在、DBサーバ(Oracle)へのログインIDによって
スキーマを変更しているので、AppConfigに記載したログインIDで
本番とテストを御手軽に変更したいのが目的で、そのID等を知られたくないので
暗号化・複合化を考えてます。

それで、暗号化・複合化について調べてみると

App.Configを暗号化するには
.NET FrameWorks 2.0のaspnet_regiisでApp.Configを一時的にWeb.configに名称を変えて
先のツールで暗号化・複合化を行えると、どこかに書いてありましたので。。。

利用形態としては
VB.NET2003プログラムを、あるサーバにおいて
クライアントにバッチファイルで起動させるC/S形式をとっております。。
もしAppConfigにDBサーバへのログインIDとパスワード、接続文字列を暗号化無しで書き込んで
万が一にも、ユーザーにわかってしまうと事なので…。

>Windows認証
Windows認証ですか…簡単に調べてみたのですが。。。
IISを導入して、設定しないといけないのですね。。。
その方法はかなり…苦しいです。

>自前で暗号化
という事は、何らかの規則でできたジェネレータを自前で作成して
そのジェネレータで暗号化した文字列をAppConfigに記載。

DBサーバへ、ログインするときに
その暗号化したIDをアプリ側で複合化するという手法でしょうか?


その他
簡単な方法があれば、教えてください。御願いします…
根本的な解決方法ではありませんが…
中博俊様、先日の御回答ありがとう御座います。

最終的に、APPCONFIGでフラグを持たせて
Aだったら本番、Bだったら開発という形で接続を分ける方法にしました。
違うスキーマを見るときは、接続ユーザーに対して権限を持たせます。

本当にありがとう御座います。
また宜しく願いします。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板