При применении шифрования мы получаем следующую ошибку (на веб-сайте asp.net).«Контейнер ключей RSA не может быть открыт» Ошибка даже после разрешения ACL (для некоторых пользователей)
Сообщение об ошибке Parser: не удалось расшифровать использование поставщика RsaProtectedConfigurationProvider. Сообщение об ошибке от поставщика: Контейнер ключей RSA не открывается.
Примечание: Пожалуйста, ознакомьтесь с приведенными ниже инструкциями, которые мы выполнили. (Мы получили разрешение ACL для NT Authority \ Network Service на NetFrameworkConfigurationKey)
Примечание: Мы используем проверку подлинности Windows Enabled и ASP.NET олицетворения Включено в IIS7. Он работает в Windows Server 2008. Управление доступом зависит от того, является ли пользователь частью разрешенной группы AD (которая будет указана в файле конфигурации).
Интересная часть состоит в том, что эта ошибка возникает, когда пользователи группы 1 (из местоположения1) обращаются к ней. Когда пользователи группы2 (из locatiob2) пытаются получить к нему доступ, ошибка не возникает.
Любые мысли о том, как их исправить?
Мы выполнили следующие шаги из нашего документа развертывания.
- Запуск командного окна в режиме администратора. (В Windows Server 2008 введите cmd и нажмите CTRL + SHIFT + ENTER)
- Перейдите в папку C: \ Windows \ Microsoft.Net \ Framework \ v4.0.30319 \ using команда каталога изменений (cd).
- Введите следующую команду для создания контейнера ключей RSA. aspnet_regiis -pc "NetFrameworkConfigurationKey" -exp
- Введите следующую (добавить ACL для доступа к RSA Key Container) и нажмите клавишу ввода aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT Authority \ Network Service"
- Введите следующую (после замены выделенного текста на место развертывания службы) и нажмите клавишу ввода для шифрования строки соединений в Web.Config службы. aspnet_regiis.exe -pef "connectionStrings" "C: \ MyWCF \ ServiceName"
- Введите следующее (после замены выделенного текста местоположением, где расположен веб-сайт) и нажмите клавишу ввода, чтобы зашифровать строку подключений в Web-сайте Web.Config , aspnet_regiis.exe -pef "connectionStrings" "C: \ MyWeb \ WebsiteName"
- Введите следующее (после замены выделенного текста на место, где доступен файл web.config для веб-сайта) и нажмите enter, чтобы зашифровать sessionState значения в Web.Config веб-сайта. aspnet_regiis.exe -pef "system.web/sessionState" "C: \ MyWeb \ WebsiteName"
- Убедитесь, что строки подключения и значения SessionState зашифрованы.
- Проверьте следующую информацию в разделе configProtectedData в Machine.Config.
• Убедитесь, что 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 -not-be-open – Lijo