暗号化を適用すると、次のエラー(asp.net Webサイト)が表示されます。"RSAキーコンテナを開くことができませんでした" ACL許可後もエラー(一部のユーザー向け)
パーサーエラーメッセージ:プロバイダー 'RsaProtectedConfigurationProvider'を使用して解読できませんでした。プロバイダからのエラーメッセージ:RSAキーコンテナを開くことができませんでした。
注:下記の手順をご覧ください。
注:Windows認証を有効にし、ASP.NET偽装を有効にします。IIS7を使用しています。これは、Windows Server 2008で実行されています。アクセスは、ユーザーが許可されたADグループの一部であるかどうか(設定ファイルにリストされます)に基づいて制御されます。
興味深いのは、group1のユーザーが(location1から)アクセスするときにこのエラーが発生することです。 group2のユーザー(locatiob2から)がアクセスしようとすると、エラーは発生しません。
修正方法についてのご意見はありますか?
私たちは、展開ドキュメントから以下の手順に従っています。
- 管理者モードでコマンドウィンドウを実行します。
- ディレクトリの変更コマンド(cd)を使用して、C:\ Windows \ Microsoft.Net \ Framework \ v4.0.30319 \フォルダに移動します(Windows Server 2008では、cmdと入力してCtrl + Shift + Enterを押します)。
- 次のコマンドを入力して、RSA鍵コンテナを作成します。以下の(RSAキーコンテナへのアクセスのためにACLを追加する)とプレスがます。aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY \ネットワークサービス"
- タイプを入力し、次の
- タイプ-expます。aspnet_regiis -pc "NetFrameworkConfigurationKey" (強調表示されたテキストをサービスが展開されている場所に置き換えた後)Enterキーを押して、ServiceのWeb.Configの接続文字列を暗号化します。 aspnet_regiis.exe -pef「connectionStrings」「C:\ MyWCF \ ServiceName」
- 強調表示されたテキストをWebサイトが展開されている場所に置き換えて入力し、Enterキーを押してWebサイトのWeb.Configの接続文字列を暗号化します。 aspnet_regiis.exe -pef "connectionStrings" "C:\ MyWeb \ WebsiteName"
- 強調表示されたテキストをWebサイトのweb.configファイルが存在する場所に置き換えた後に入力し、enterキーを押してsessionStateを暗号化しますウェブサイトのWeb.Configの値。 aspnet_regiis.exe -pef "system.web/sessionState" "C:\ MyWeb \ WebsiteName"
- 接続文字列とSessionState値が暗号化されていることを確認します。
- Machine.ConfigのconfigProtectedDataセクションで以下の詳細を確認してください。
•defaultProvider = "RsaProtectedConfigurationProvider"
は•keyContainerName = "NetFrameworkConfigurationKeyは"
注ことを確認していることを確認してください:のmachine.configのデフォルトの場所はC:\ WINDOWS \ Microsoft.NET \ Frameworkの\ v4.0.30319 \ Config
リファレンス:http://stackoverflow.com/questions/2921589/the-rsa-key-container-could開かれていない – Lijo