В настоящее время команда, в которой я работаю, работает над миграцией серверов в двух средах (обе имеют БД и веб-сервер). Мы переходим с Windows Server 2008R2 на Windows Server 2016. Это совершенно новые экземпляры, которые находятся в состоянии ожидания.
Мы закончили с одной средой и начали тестирование нашего сайта, размещенного на хостинге. на обоих серверах (одна - среда тестирования, другая - производство). Большая часть всего функционирует, как и ожидалось, с одним исключением в среде тестирования.
Узел, который мы размещаем, является пользовательским. Net приложением, созданным с использованием MVC4 и C#. Он также имеет ссылку на приложение IBM Cognos для создания отчетов.
При тестировании у меня была одна область приложения. Net для тестирования, которая меня немного беспокоила. Это приложение является более старой частью сайта, которая генерирует файл PDF на основе данных в базе данных Access.
Приложение завершилось выдачей следующей ошибки: " Ошибка: эта реализация не часть проверенной криптографии c * платформы Windows платформы FIPS. Когда приложение сгенерировало ошибку, дополнительных подробностей не было зарегистрировано.
Ранее я видел эту ошибку в локальной среде разработки. Как я с этим справился, тогда изменил запись реестра Windows на следующее:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa \ FIPSAlgorithmPolicy Enabled = 0
Однако в нашей среде тестирования, а также на производстве это невозможно. Мы должны оставить Enabled = 1.
У нашего сервера 2008R2 с этим проблем не было, но серверу 2016 года это не нравится. На данный момент я добавил запись в web.config, чтобы разрешить это, но безрезультатно. Это запись следующего:
<system.web>
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>
...
</system.web>
Я изменил файл MSBuild.exe.config также следующим образом:
<configuration>
<runtime>
<enforceFIPSPolicy enabled = "false" />
</runtime>
</configuration>
Ни одно из изменений не повлияло на конец. На данный момент я рисую бланк. Есть ли способ отключить FIPS для приложения?