2010-06-25 87 views
1

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

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

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

0

有两件事情做出new.NET应用程序符合FIPS。

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 =“false”。在.Net甚至可以运行第一行代码之前,Debug =“true”将启动FIPs合规性错误。

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

对于视觉studion 2010:

  • 开放Devenv.exe.config从 C:\ Program Files文件(x86)的\微软的Visual Studio 10.0 \ Common7 \ IDE,如果你是在x64操作系统 或C :\ Program Files \ Microsoft Visual Studio 10。0 \ Common7 \ IDE \ 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