none
<applicationSettings>の暗号化 RRS feed

  • 質問

  • windowsフォームのプログラムのapp.config ファイルの例だが、以下 <value>abcde123456</value> この部分を暗号化する方法はあるのだろうか。

        <applicationSettings>
            <ProtectedConfiguration.My.MySettings>
                <setting name="Password" serializeAs="String">
                    <value>abcde123456</value>
                </setting>
            </ProtectedConfiguration.My.MySettings>
        </applicationSettings>

    マイクロソフトの方、情報を公開してほしい。もしヘルプにあるならどこですか。
    2007年8月30日 10:27

すべての返信

  • 前回の質問の回答では解決していないのですか?

    app.configファイルの中のパスワードの保護について

    http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=2057796&SiteID=7

     

    現在の状況がよく分かりませんので、想像で回答します。

    違っていたらごめんなさい。

     

    <状況(推定)>

    1.サンプルをコピって実行。

    2.サンプルのapp.configが暗号化されることを確認

    3.自作のアプリに組み込んでみた。

    4.<connectionStrings>のタグは暗号かされるものの、<application.Settings>のタグは暗号化されていない。

     

    上記の状況だと仮定すると、サンプルのコードでは対象のセクションにConnectionStringsを指定しているため

    <application.Settings>のタグを対象セクションにしてやれば良いと思います。

     

    [サンプル]

            Dim connStrings As ConfigurationSection = _
            config.ConnectionStrings

    [変更後]

            Dim connStrings As ConfigurationSection = _
            config.AppSettings

    2007年9月1日 6:52
  • そもそも、ユーザに知られたくないパスワードをハードコーディングしているというだけで、実装が間違っています。

    これでは、パスワードを暗号化しても、カジュアルハッキングを防止する程度の意味しかもちません。

    考え直しましょう。

    2007年9月1日 8:25

  • <applicationSettings>の暗号化はまだやっていないが、<connectionStrings>の暗号化は分かった。

    Windowsインストーラでインストールパッケージを作ることも出来た。

    もちろん、インストール後のプログラムは、ILDASMで覗き見されても大丈夫だ。

    接続文字列は構成ファイルのなかの最重要情報であるならば、その暗号化は必須の手続きではないか。

    だとするならば、Visual Studio 2005 のヘルプの最も目に付く場所にその手順をチュートリアルとして詳しく説明しなければならないはずだ。

    今回の問題解決で最も重要だったのはプログラムではなく、手続きだった。

    VB6でも同じようなことがあった。Makeのときどのファイルをどこに含めるかの問題だ。これは知識であって、プログラム技術ではなかった。

    知っているかいないかであった。知る限りにおいてその情報はヘルプにはなかった。
    2007年9月6日 6:29
  •  keiri さんからの引用

    もちろん、インストール後のプログラムは、ILDASMで覗き見されても大丈夫だ。

    それでは、まったく安全ではありません。

    2007年9月14日 12:41