使ASP.NET Web应用程序符合FIPS标准?

时间:2010-06-25 17:21:18

标签: asp.net fips

我需要了解如何使ASP.NET Web应用程序符合FIPS标准。为了简单起见,我在VS 2008中创建了一个新的Web应用程序。我在我的开发机器上启用了FIPS,因为使用Web应用程序的客户端将是一个强制执行FIPS的联邦机构。

我甚至无法编译新的Web应用程序 - 因为它给了我错误:

此实现不是Windows平台FIPS验证的加密算法的一部分。

我已阅读文档并将以下元素添加到web.config文件中:

<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>

<enforceFIPSPolicy enabled="false" /> (also tried <enforceFIPSPolicy enabled="0" />)

但我仍然遇到这个错误。同样,在尝试使用我的实际解决方案之前,我想让它与一个全新的Web应用程序一起使用。

我正在使用.NET 3.5 SP1作为框架。

非常感谢任何帮助。

感谢。

克里斯

2 个答案:

答案 0 :(得分:2)

如果代码中包含任何非FIPS兼容算法的引用,即使从未实际使用/可达,也会导致FIPS合规性错误。例如,仅声明MD5CryptoServiceProvider变量而不实例化它将导致错误。这包括其他引用的.NET程序集,因此请确保没有引用的dll也可能使用非fips兼容算法。

这是一个方便的网站,列出了.NET http://blog.aggregatedintelligence.com/2007/10/fips-validated-cryptographic-algorithms.html中的所有FIPS和非FIPS算法

答案 1 :(得分:0)

使新的.NET应用程序符合FIP标准有两件事。

1)在您的机器密钥设置中,使用3DES进行解密,使用SHA1进行验证,如问题中所述。 (有一个STIG表示你应该使用SHA1。https://www.stigviewer.com/stig/iis_7.0_web_site/2014-03-25/finding/V-26026

2)确保代码未处于调试模式。 web.config的编译部分和页面指令都应该有debug =&#34; false&#34;。调试=&#34;真&#34;在.Net甚至可以运行第一行代码之前,它将启动FIPs合规性错误。

对于Visual Studio来编译代码,您可能需要在visual studio上禁用fips。

2010年视觉研究:

  • 从中打开Devenv.exe.config C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE(如果您使用的是x64操作系统) 或C:\ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ on x86 OS

  • 查找</runtime>代码并在该行上方添加以下内容:

    <enforceFIPSPolicy enabled="false"/> 
    
  • 经过上述修改后,devenv配置如下:

    <configuration> 
    <runtime> 
    . 
    . 
    . 
    <enforceFIPSPolicy enabled="false"/> 
    </runtime> 
    </configuration> 
    
  • 重新启动Visual Studio

https://blogs.msdn.microsoft.com/brijs/2010/08/10/issue-getting-this-implementation-is-not-part-of-the-windows-platform-fips-validated-cryptographic-algorithms-exception-while-building-outlook-vsto-add-in-in-vs-2010/

资料来源:https://msdn.microsoft.com/en-us/library/w8h3skw9(v=vs.100).aspx

https://blogs.msdn.microsoft.com/webtopics/2009/07/20/parser-error-message-this-implementation-is-not-part-of-the-windows-platform-fips-validated-cryptographic-algorithms-when-net-page-has-debugtrue/

http://forums.asp.net/t/1778719.aspx?+FIPS+validated+cryptographic+algorithms+3DES+machinekey+solution+didnt+work