2

開発中は接続文字列を保護する必要があります。サーバーでは、問題なく動作する DPAPI を使用します。多くのマシンで接続文字列を復号化する必要があるため、DPAPI は開発中のオプションではありません。

dev に使用されるユーザー名/パスワードの一部はかなり機密性が高く、それらが流出することは望ましくありません。すべての開発者がそれらを復号化できるのは問題ありません。他の誰かが開発構成ファイルを手に入れた場合、その人が接続文字列を復号化できないようにしたいだけです。外部の制約により、機密性の高いユーザー名/パスワードの代わりにすべてのサービス アカウントを使用することはできません。

私の最初の傾向は、RSA プロバイダーを使用して、証明書を暗号化し、開発マシンにインストールすることです。

私の質問は次のとおりです。

1) この問題にどのように取り組みますか?

2) RSA アプローチを採用している場合、これよりも最新のドキュメントはありますか?

ありがとう

4

1 に答える 1

2

さらに調査を重ねた後、RSAアプローチを採用しました。ここでさらに更新されたドキュメントを見つけました。この道を進む場合は、そのリンクに関連するすべてのRSAを必ず読んでください。以下は、誰かが興味を持っている場合に使用した手順です...

-初めてのみ

-キーコンテナを作成し、エクスポート可能にします

aspnet_regiis -pc "MyKeys" -exp

-このセクションを構成ファイルに追加します

<configProtectedData>
  <providers>
    <add name="RsaProvider"
         type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,&#xD;&#xA;                    Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,&#xD;&#xA;                    processorArchitecture=MSIL"


         keyContainerName="MyKeys"
         useMachineContainer="true" />
  </providers>
</configProtectedData>

-接続文字列を暗号化する

aspnet_regiis -pef "connectionStrings" "C:\Working\MyApplication" -prov RsaProvider

-設定ファイルを配ります

-復号化する

aspnet_regiis -pdf "connectionStrings" "C:\Working\MyApplication"

-キーをエクスポートします(keys.xmlを作成します)

aspnet_regiis -pc "MyKeys" -exp

-他のマシンで

-keys.xmlをどこかに保存します

-キーをインポートします。名前(例:MyKeys)が同じであることを確認してください

aspnet_regiis -pi "MyKeys" keys.xml

-keys.xmlを削除します!!!!!!!!!!!!!!

-Webアプリの一部として実行している場合は、サービスアカウントにアクセス許可を付与します

例えばaspnet_regiis -pa "PcscDev" "ASPNET"

于 2010-09-24T22:57:12.847 に答える