任何想法为什么MD5CryptoServiceProvider没有抛出FIPS合规性错误.我正在使用Win7和3.5框架.MS文档说它不符合FIPS标准,但是我没有像其他一些算法那样得到异常.
--Update--
我从控制台应用程序获得FIPS异常,但不是我的ASP.Net应用程序
我的公司在 .Net Framework 3.5 中使用 ASP.NET 创建了项目,并使用 Windows Web Server 2008 r2 来托管该项目。
在 Web 服务器中,我们启用了“系统加密:使用符合 FIPS 的算法进行加密、散列和签名”的设置
之后,应用程序不会运行。它显示以下错误
Parser Error Message: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
[InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.]
System.Security.Cryptography.RijndaelManaged..ctor() +7715396
System.Web.Configuration.MachineKeySection.ConfigureEncryptionObject() +232
System.Web.Configuration.MachineKeySection.EnsureConfig() +156
System.Web.Configuration.MachineKeySection.GetEncodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32& length) +37
System.Web.UI.ObjectStateFormatter.Serialize(Object stateGraph) +166
System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Serialize(Object state) +4
System.Web.UI.Util.SerializeWithAssert(IStateFormatter formatter, Object stateGraph) +37
System.Web.UI.HiddenFieldPageStatePersister.Save() +79
System.Web.UI.Page.SavePageStateToPersistenceMedium(Object state) …Run Code Online (Sandbox Code Playgroud) 我想在 asp .net x64 应用程序中禁用 fips。在 web.config 我添加
<runtime>
<enforceFIPSPolicy enabled = "false">
</runtime>
Run Code Online (Sandbox Code Playgroud)
我将调试设置为 false。
但是我的应用程序不起作用。我应该在 < configSections > 中声明运行时部分吗?如果是,那么它是否是一条正确的线路
<section name="runtime" type="System.Configuration.IgnoreSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
Run Code Online (Sandbox Code Playgroud)