Назад | Перейти на главную страницу

Ошибка импорта ключей RSA для передачи приложения IIS Host.config

Я занимаюсь установкой новых веб-серверов с одного из них (расширение фермы). Это серверы Windows 2008 R2 (IIS 7.5). Часть процесса копирования applicationHost.config с одного компьютера на новый заключается в том, что ключи RSA также необходимо скопировать на этот компьютер; в противном случае могут возникнуть проблемы с пулами приложений, особенно если вы используете пользователя домена в качестве пользовательского удостоверения [пула].

На ферме, которую я моделирую, я использую следующие команды для экспорта ключей .NET v4:

aspnet_regiis.exe -px "iisConfigurationKey" "c:\temp\iisConfigurationKey.xml" -pri
aspnet_regiis.exe -px "iisWasKey" "c:\temp\iisWasKey.xml" -pri

Когда я запускаю любую из этих команд, я получаю сообщение об ошибке "Контейнер ключей RSA не найден". Я пробовал это как из .NET v2 и v4, так и из Framework и Framework64 с одинаковыми результатами.

Есть ли способ определить, где хранятся ключи на этой машине, чтобы передать их? Я немного застрял, пока не смогу сделать это и не смогу расшифровать данные в applicationHost.config и снова запустить пулы приложений.

Думаю, мой другой вопрос: есть ли способ сбросить ключи на новом компьютере (или сбросить файл applicationHost.config), чтобы я мог установить новый пользовательский идентификатор в пуле приложений?

Убедитесь, что при открытии окна cmd вы делаете это как Администратор.

Команда aspnet_iisreg по-прежнему будет выполняться без прав администратора, но вы не сможете получить доступ к контейнеру ключей.

Сообщение "Контейнер ключей RSA не найден"также будет отображаться, если у вас нет доступа к контейнеру.

Как только я открыл консоль cmd от имени администратора (щелкните правой кнопкой мыши «Запуск от имени администратора»), команды в вопросе работали должным образом.