Ошибка строки подключения после использования шифрования aspnet_regiis.exe [закрыто]
-
01-07-2019 - |
Вопрос
Я зашифровал строку подключения в своем файле 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?