2016-04-20 71 views
1

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

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

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

如果我禁用FIPS(控制面板 - >管理工具 - >本地安全策略 - >本地策略 - >安全选项 - >“系统加密:使用FIPS兼容算法进行加密,哈希和签名”),我可以达到该网站和Windows身份验证工作正常。

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

+0

我也尝试配置应用程序使用匿名身份验证,但错误仍然存​​在,如果启用FIPS – mstrand

+0

你可以发布回购github,你的完整代码和project.json? – blowdart

+0

当然是https://github.com/idqfizz/CoreWebAppFIPSFail.git – mstrand

回答

2

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

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

相关问题