あなたの説明から、エクスポート可能な RSA プロバイダーを介して web.config を暗号化することに関していくつかの問題が発生していますよね?
RSA 暗号化リファレンスによると、いくつかのローカル テストを実行しました。RSA プロバイダーを介して web.config セクションを暗号化し、他のマシンに移動する通常のプロセスは次のとおりです。
====================== ステップ1
コンピューター レベルの RSA キー コンテナーを作成します: aspnet_regiis -pc "MyTestKeys" -exp
ステップ2
RSA 暗号化キーへの読み取りアクセスを許可します。
aspnet_regiis -pa "MyTestKeys" "NT AUTHORITY\NETWORK SERVICE"
ステップ 3
構成ファイルを暗号化します: aspnet_regiis -pef "connectionStrings" "Web サイト フォルダーの物理パス" -prov MyRSAProvider
次の手順を使用して、コンテナをエクスポートし、他のマシンにインポートして戻します
ステップ 4
マシン レベルの RSA キー コンテナーをエクスポートします: aspnet_regiis -px "MyTestKeys" "c:\Config-Key.xml" -pri
ステップ 5
Config-Key.xml を 2 台目のサーバーの c:\ にコピーします。
ステップ 6
2 番目のサーバーにマシン レベルの RSA キー コンテナーをインポートします: aspnet_regiis -pi "MyTestKeys" "c:\Config-Key.xml"
ステップ 7
RSA 暗号化キーへの読み取りアクセスを許可します: aspnet_regiis -pa "MyTestKeys" "NT AUTHORITY\NETWORK SERVICE"
ステップ 8
暗号化された web.config を 2 番目のサーバーにコピーします
========================
あなたが言及した手順に基づいて、あなたが従ったプロセスのほとんどは正しいはずです. これまでのところ、次のことを確認することをお勧めします。
- カスタム RSA プロバイダーの設定をチェックして、ターゲット マシンにも正しくコピーされ、マシン コンテナーを使用するように設定されているかどうかを確認します。
========構成セクションの暗号化=======
type="System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
- 上記の手順と同様に、RSA キー コンテナーを作成した後、"aspnet_regiis -pa" を使用して、(ASP.NET アプリケーションを実行する) 特定のアカウントにキー コンテナーへの十分なアクセス許可があることを確認する必要があります。通常、VS 2008/VS 2005 テスト サーバーを使用して ASP.NET アプリケーションを実行する場合、ログオン ユーザー (おそらく管理者) を使用しますが、IIS で ASP.NET を実行する場合 (または、別の異なるプロセス アカウントを使用している他のサーバー)、特定のプロセス アカウントにアクセス許可が付与されていることを確認する必要があります。
それらをチェックして、問題がそれらの一部によるものかどうかを確認できます。
敬具 Sanjay Manju suman