3

構成セクションの暗号化に問題があります。外部サプライヤーからのパッケージを使用し、web.config は次のように構成されています。

web.config

<appSettings file="customSettings.config">
  <add key="generic_setting" value="true"/>
  <add key="another_generic_setting" value="false"/>
</appSettings>

customSettings.config

<appSettings>
  <add key="company_db_username" value="sa"/>
  <add key="company_db_password" value="secret"/>
</appSettings>

WiX を使用してインストール パッケージ (msi) を作成し、これを組織に展開できるようにします。私たちが実行する 1 つのカスタム アクションは、appSettings セクションの暗号化です。上記の状況では、残念ながら web.config ファイルのセクションのみを暗号化し、customSettings.config はそのままにしておきます。

configSource 属性は file 属性よりも暗号化で少しうまく機能することに気付きましたが、両方のファイルからの要素の結合はサポートしていません。これで、カスタム アクション内のすべてを暗号化する前に、customSettings.config の要素をプログラムで web.config にマージできましたが、これに対するよりクリーンなソリューションがあるかどうか疑問に思っていました。

4

1 に答える 1

1

暗号化している情報がDBのユーザー名とパスワードである例に基づいて、1つの代替手段は、Windows認証を使用してDBに初めて接続することです。最初のユーザーの権限は非常に制限されています。

その接続を使用して、アイテム レベルの DB 暗号化を使用して以前に保存した、より高い特権のアカウントの資格情報/接続文字列を取得します (OPEN SYMMETRIC KEY および ENCRYPTBYKEY を参照)。

于 2011-12-26T13:41:11.903 に答える