Функция генерации машинного ключа не существует в последней версии IIS

Отвечая на один из недавних question на SO, я столкнулся с этой аномалией.

Этот msdn blog предлагает использовать IIS для генерации машинного ключа, который выглядит более безопасным для меня в качестве используемого инструмента Microsoft. Однако, похоже, эта функция поддерживается только до IIS 7 или менее.

Я не нахожу его на своем ящике IIS 8.5. Я проверил IIS 7.5 и его там нет. Тем не менее, я нашел его в IIS 6.1 на коробке соавторов.

Мне интересно:

  • Он все еще существует в последних версиях IIS, если да, как его использовать?

  • Если он удален из последней версии IIS, какой предложенный подход от Microsoft для создания достаточно безопасного машинного ключа?

  • Безопасно ли использовать эти настраиваемые генераторы?

    а. Генератор ключей машины (онлайн)

    б. ASP.NET machineKey Generator (инструмент, который вы можете изменить)

Ответ 1

См. https://support.microsoft.com/kb/2915218#AppendixA для получения информации о том, как сгенерировать элемент <machineKey>. Там есть script, который вы можете скопировать и вставить в окно Powershell.

Напоминание: используйте только созданные вами ключи на своей машине. Никогда не используйте онлайн-генератор.

Ответ 2

Сделайте копию файла administration.config в C:\Windows\System32\inetsrv\config. Затем в <moduleProviders> node в разделе <!-- ASP.NET Modules--> удалите MachineKey node. Затем запустите iisreset. Повторно открыть IIS и посмотреть, присутствует ли область ASP.NET. Если это так, верните MachineKey node в файл administration.config (или просто повторно установите исходный файл конфигурации) и снова запустите iisreset.

Ответ 3

Как упоминалось в @ryanulit, вы можете просто скопировать script прямо в окно PowerShell

Шаги:

  • Открыть окно PowerShell (в любом месте в порядке)
  • Скопируйте script из ссылки Microsoft и вставьте в окно PowerShell и нажмите enter
  • Тип Generate-MachineKey -validationAlgorithm SHA1
  • Что это. Описание вашего машинного ключа появится в окне. образец образа PowerShell с моего ПК

Script Ссылка из Microsoft http://support.microsoft.com/kb/2915218#AppendixA