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

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

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

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

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

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

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


person alextansc    schedule 20.09.2008    source источник


Ответы (2)


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

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

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

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

person alextansc    schedule 21.09.2008
comment
отметьте это как ответ, чтобы оно исчезло из неотвеченных материалов - person JohnIdol; 07.02.2009
comment
Готово. До сегодняшнего дня я не осознавал, что теперь SO позволяет владельцу вопроса задать свой собственный ответ. - person alextansc; 16.03.2009
comment
Может быть полезным - person Kiquenet; 17.03.2014

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

<configProtectedData>

к вашему web.config?

person Per Hornshøj-Schierbeck    schedule 20.09.2008