Ошибка строки подключения после использования шифрования aspnet_regiis.exe [закрыто]

StackOverflow https://stackoverflow.com/questions/107846

Вопрос

Я зашифровал строку подключения в своем файле web.config, используя шаги, приведенные в ссылке ниже:http://www.codeproject.com/KB/database/WebFarmConnStringsNet20.aspx

Однако всякий раз, когда я вызываю свое приложение, оно выдает следующую ошибку:

Не удалось расшифровать с помощью provider "CustomProvider".Сообщение об ошибке от провайдера:Контейнер ключей RSA не удалось открыть.

Сервер, на котором я выполняю шифрование, является 64-разрядным Windows Server 2003 R2 SP2.Из-за этого я назначаю ACL для NT Authority\Network Service.И все же это по-прежнему не работает.

Надеюсь, у кого-нибудь есть какие-то идеи, что еще мне нужно проверить, чтобы это заработало.

PS.Если бы я использовал ключ rsa по умолчанию NetFrameworkConfigurationKey что касается шифрования, то строка подключения не будет иметь проблем с доступом.

Это было полезно?

Решение

Что ж, я нашел источник проблемы, и, боже, как это было неловко.В атрибуте keyContainerName я неправильно написал имя.

Вот и все.Вот что вызвало проблему.

По-видимому, шифрование будет работать, даже если вы укажете неправильное keyContainerName, что, как я ошибочно предположил, приведет к сбою.Итак, как только я расшифрую строку подключения и повторно зашифрую с помощью правильного keyContainerName, все будет работать нормально.

Кстати, обязательно расшифруйте существующую строку подключения, прежде чем исправлять keyContainerName .aspnet_regiis.exe будет жаловаться на неверные данные, потому что провайдер теперь другой.

Другие советы

Вы не забыли добавить

<configProtectedData>

в ваш web.config?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top