Из вашего описания вы столкнулись с некоторыми проблемами при шифровании
web.config через экспортируемого провайдера RSA, верно?
Согласно справочнику по шифрованию RSA, я провел несколько локальных тестов,
обычный процесс шифрования раздела web.config через провайдера RSA и
перейти к другой машине, как показано ниже:
======================
Шаг 1
Создание контейнера ключей RSA на уровне машины:
aspnet_regiis -pc "MyTestKeys" -exp
Шаг 2
Предоставить доступ для чтения к ключу шифрования RSA:
aspnet_regiis -pa "MyTestKeys" "NT AUTHORITY \ NETWORK SERVICE"
Шаг 3
Зашифровать файл конфигурации:
aspnet_regiis -pef "connectionStrings" "физический путь веб-сайта
папка "-пров MyRSAProvider
экспортировать контейнер и импортировать его обратно на другой компьютер, используя
следующие шаги
Шаг 4
Экспорт контейнера ключей RSA на уровне машины:
aspnet_regiis -px "MyTestKeys" "c: \ Config-Key.xml" -pri
Шаг 5
Скопировать Config-Key.xml в c: \ на 2-м сервере
Шаг 6
Импорт контейнера ключей RSA на уровне машины на 2-м сервере:
aspnet_regiis -pi "MyTestKeys" "c: \ Config-Key.xml"
Шаг 7
Предоставить доступ на чтение к ключу шифрования RSA:
aspnet_regiis -pa "MyTestKeys" "NT AUTHORITY \ NETWORK SERVICE"
Шаг 8
Скопировать зашифрованный файл web.config на второй сервер
========================
Исходя из упомянутых вами шагов, я думаю, что большая часть процесса, который вы
следует правильно. Пока я хотел бы предложить вам проверить
следующие вещи:
- Проверьте настройки своего собственного провайдера RSA, чтобы увидеть, правильно ли это
также скопировано на целевой компьютер и настроено на использование контейнера Machine
======== зашифровать раздел конфигурации =======
Тип = "System.Configuration.RsaProtectedConfigurationProvider, System.Configur
a, Версия = 2.0.0.0, Культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a "/>
- Как описано выше, после создания контейнера ключей RSA необходимо
используйте "aspnet_regiis -pa", чтобы убедиться, что определенная учетная запись (которая будет
запустить приложение ASP.NET) имеет достаточные права доступа к
ключевой контейнер. Как правило, при использовании тестового сервера VS 2008 / VS 2005 для запуска
Приложение ASP.NET, вы используете пользователя входа в систему (который, вероятно,
Администратор), однако, если вы запускаете ASP.NET в IIS (или после перехода на другой
сервер, который использует другую учетную запись другого процесса), вам нужно сделать
убедитесь, что определенная учетная запись процесса получила разрешение.
Вы можете проверить их, чтобы выяснить, связана ли проблема с некоторыми из них.
С уважением,
Санджай Манджу Суман