web-dev-qa-db-ja.com

プロバイダー「RsaProtectedConfigurationProvider」を使用してセクション「connectionStrings」を暗号化できませんでした

プロバイダー「RsaProtectedCo nfigurationProvider」を使用してセクション「connectionStrings」を暗号化できませんでした。プロバイダーからのエラーメッセージ:オブジェクトは既に存在します。

私は http://msdn.Microsoft.com/en-us/library/2w117ede.aspx のガイドに従いましたが、RSAキーコンテナーへのASP.NET IDアクセスを許可するには、ステップ3で、私のアイデンティティはworkgroup\usernameであると言っていますが、web.configファイルに偽装はしていません

私のマシンでasp_regiisを使用してweb.configを暗号化してから、Visual Studioを使用してデバッグすると、このエラーが発生しました

27
user1663380

RsaProtectedConfigurationProviderを使用するには、コマンドプロンプトまたはVisual Studio 管理者としてを起動する必要があります。

DataProtectionConfigurationProviderの場合、管理者権限で実行する必要はありません。

57
Steven Muhr

RsaProtectedConfigurationProviderを使用して独自のプロバイダーを作成し、管理者権限なしでweb.xmlを暗号化できます。

  1. キーストアを作成します。

    aspnet_regiis -pc "MyKeyStore" -exp

  2. すべてのユーザーに読み取りアクセスを許可します。

    aspnet_regiis -pa "MyKeyStore" "Domain/User"

  3. プロバイダーセクションをweb.configに配置する

    <configProtectedData>
    <providers>
        <add name="MyRSAProvider" type="System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"keyContainerName="MyKeyStore"useMachineContainer="true" />
    </providers>
    </configProtectedData>
    
  4. 構成セクションを暗号化します。

    aspnet_regiis -pef "configSection" "c:\ pathToWebConf" -prov "MyRSAProvider"

出典:

RSAキーコンテナーとプロバイダーの作成

暗号化設定

1
Ritzelprimpf

これは、サーバー全体でWebアプリをCドライブから別のドライブに移動しようとしたときに発生しました。

ドライブCのweb.configセクションを暗号化して別のドライブに移動したため、プロバイダーが妨害され、セクションが既に存在すると信じているため、セクションの暗号化に失敗しました。

私はまだそれを修正しようとしています。

0
justdan23