在启用了FIPS的IIS 8.5上运行.NET Core应用程序会导致500错误

时间:2016-04-20 09:17:08

标签: asp.net-core asp.net-core-mvc .net-core

我有一个使用Windows身份验证的网络核心Web应用程序,我在IIS 8.5下的Windows Server 2012 R2计算机上运行。当我试图达到它时,我得到:

InvalidOperationException:此实现不是Windows平台FIPS验证的加密算法的一部分。 System.Security.Cryptography.SHA256Managed..ctor()

给出app.UseBrowserLink(); &安培; app.UseDeveloperExceptionPage();在Startup.cs中使用,否则我只是得到500内部服务器错误显示空白屏幕。

如果我禁用FIPS(控制面板 - >管理工具 - >本地安全策略 - >本地策略 - >安全选项 - >“系统加密:使用符合FIPS标准的算法进行加密,散列和签名” )我可以访问该网站,Windows身份验证工作正常。

所以我的问题是为什么在IIS 8.5上托管网络核心应用程序时使用FIPS导致此错误?目前我没有要求使用FIPS,但将来可能会有所改变。

1 个答案:

答案 0 :(得分:2)

Repro app是一个ASP.NET 5 RC1应用程序,它使用dnx和dnu。 Dnu restore使用NuGet2中的代码,它使用SHA256Managed类在FIPS下触发IOE。

ASP.NET Core RC2使用的nuget V3不应该有这个问题所以当你将应用程序移植到RC2时,你应该从FIPS的角度来看很好。