我有一个使用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,但将来可能会有所改变。
答案 0 :(得分:2)
Repro app是一个ASP.NET 5 RC1应用程序,它使用dnx和dnu。 Dnu restore使用NuGet2中的代码,它使用SHA256Managed类在FIPS下触发IOE。
ASP.NET Core RC2使用的nuget V3不应该有这个问题所以当你将应用程序移植到RC2时,你应该从FIPS的角度来看很好。