接続情報の暗号化
DB接続に関する情報を暗号化したいということで調べてみました。
app.configの暗号化というキーワードで検索の結果gsf_zero1さんのブログより
id:gsf_zero1:20070812:p3接続文字列の暗号化の記事を発見、それにならい
app.config内ConnectionStringsに記述して、それをQuillから参照させようとしておりましたが、
残念ながらできず...
半ばあきらめてやけになってquillセクションを指定してみたら
何のことはなく暗号化できることが分かりました。
手順はgsf_zero1の記事に詳しくありますのでそちらをご覧ください。
<configuration> <configSections> <section name="quill" type="Seasar.Quill.Xml.QuillSectionHandler, Seasar.Quill" /> </configSections> ・・・ <configuration> <quill> <dataSources> <dataSource name="ds"> <provider>Firebird</provider> <connectionString> "ServerType=1;User=ユーザー;Password=パスワード; Database=C:\Firebird\データベース.FDB" </connectionString> <class>Seasar.Extension.Tx.Impl.TxDataSource</class> </dataSource> </dataSources> <assemblys> <assembly> FirebirdSql.Data.FirebirdClient, Version=2.1.0.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c </assembly> </assemblys> </quill>
1.こんなapp.configをweb.configにりネーム
2.aspnet_regiisを実行
aspnet_regiis -pef "quill" .
を実行します。
ただこれを実行すると
Quillのための構成セクションハンドラを作成中にエラーが発生しました。 ファイルまたはアセンブリ'Seasar.Quill'、またはその依存関係の1つが読み込めませんでした。
とエラーになってしまいます。なんか良く分からなかったので仕方なく
<!-- <section name="quill" type="Seasar.Quill.Xml.QuillSectionHandler, Seasar.Quill" /> -->
と一旦コメントにして実行したら無事成功しました。
3.再びweb.configをapp.configにリネーム
さっきコメントにした部分を元に戻して終了です。
アプリケーション側では特に復号化とかの処理を書かなくてもちゃんとDB接続できました。