Я разрабатывал сайт ASP.NET на более старой машине рабочий XP домой. Я недавно получил нового Win 7 пк и переместил все мои файлы проекта через. Когда я пытаюсь выполнить проект, я получаю это сообщение об ошибке:
"Failed to decrypt using provider 'MyRsaProtectedConfigurationProvider'. Error message from the provider: The RSA key container could not be opened."
Я понял, что зашифровал части своего web.config файла с помощью a RSA encryption
. Это - то, где проблема теперь заключается. Я не уверен, как получить тот ключ, работающий снова так, чтобы я мог использовать его на своей новой машине. Я экспортировал ключ из более старой машины и импортировал его использование:
aspnet_regiis -pi "RSAProviderName" "C:\RSA_configkey.xml"
Это было импортировано успешно. Я затем выполнил проект, но то же сообщение об ошибке подошло. Я полагал, что это могла бы быть вещь разрешения, таким образом, я работал:
aspnet_regiis -pa "RSAProviderName" "\Desktop" -full
Это было также успешно, но я все еще получаю ошибку. От чтения вокруг, я видел, что люди используют "ASPNET" вместо "\Desktop" (Рабочий стол является моим названием машины). Однако, когда я пытаюсь использовать "ASPNET", я добираюсь:
No mapping between account name and security IDs was done. <Exception from HRESULT = 0x80070534
Я не могу работать над проектом, пока это не фиксируется, таким образом, любая справка очень ценится.Спасибо!
Если у вас все еще есть доступ к старой машине, вы всегда можете расшифровать раздел конфигурации на этой машине, затем скопировать незашифрованный файл конфигурации на новую машину (и, при необходимости, повторно зашифровать файл на старой машине).
В Windows 7 учетная запись, под которой по умолчанию запускаются пулы приложений IIS, скорее всего, будет ApplicationPoolIdentity (в отличие от ASPNET). Для предоставления прав попробуйте сделать следующее:
aspnet_regiis -pa RSAProviderName "IIS APPPOOL\DefaultAppPool" -full
Кстати, если вы все-таки решите продолжить копирование ключа со старой машины на новую, вам следует убедиться, что при экспорте вы экспортируете и данные закрытого ключа:
aspnet_regiis -px RSAProviderName C:\RSA_configkey.xml -pri
И, как вариант, сделать данные ключа экспортируемыми во время импорта:
aspnet_regiis -pi RSAProviderName C:\RSA_configkey.xml -exp