VS开发符合FDCC标准的工作站

时间:2009-03-22 18:07:48

标签: asp.net fips

我有一个兼容FDCC的工作站,启用了FIPS 140-1(1级)。

现在,我无法在我的机器上运行/调试任何VS 2005/2008应用程序

我在浏览器上收到以下错误消息

分析程序错误消息:此实现不是Windows平台FIPS验证的加密算法的一部分。

错误指向default.aspx.cs文件的第1行

使用系统;

成功调试/运行我的应用程序的唯一方法是将以下注册表项设置为0

HKLM \ System \ CurrentControlSet \ Control \ Lsa \ fipsalgorithmpolicy

据我所知,有一些加密算法在XP SP2上不符合FIPS标准,但我根本不使用加密技术。 就此而言,该解决方案仅包含default.aspx页面,默认代码位于.cs文件中,甚至无法运行。

所以我的问题是为什么网页无法加载,以及为什么错误指向第1行“使用System;”声明?

我的下一个问题是如何开发符合FIPS标准的锁定机器,我对注册表没有编辑权

由于 kudlur

3 个答案:

答案 0 :(得分:2)

显然,除了使用非fips加密算法之外,只需在webconfig中使用debug =“true”就可以在.NET 2.0 Web应用程序中发生这种情况

<system.web>
    <compilation debug="true">
</system.web>

另外,如果您使用的是viewstate,那么您还需要在web.config的system.web部分中使用此密钥:

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

因此,实际上您无法在符合FIPS标准的计算机上以调试模式运行应用程序。我请求你的组策略管理员为dev机器关闭它,或者至少允许你打开和关闭它,这样你仍然可以测试运行fips强制执行。这可以追溯到关于在没有完全管理员权限的机器上进行开发的争论,这是没有管理员权限的那种障碍和烦恼的一个主要例子......但我离题了。

这里有一些关于这个FIPS事情的参考文章:

http://blogs.msdn.com/shawnfa/archive/2005/05/16/417975.aspx

http://blogs.msdn.com/shawnfa/archive/2008/03/14/disabling-the-fips-algorithm-check.aspx

http://support.microsoft.com/default.aspx?scid=kb;EN-US;811833

http://support.microsoft.com/kb/911722

http://blogs.iis.net/webtopics/archive/2009/07/20/parser-error-message-this-implementation-is-not-part-of-the-windows-platform-fips-validated-cryptographic-algorithms-when-net-page-has-debug-true.aspx

答案 1 :(得分:1)

我们在我们的位置遇到过同样的问题。简而言之,Web表单中的viewstate数据使用AES算法的RijndaelManaged实现进行加密,该算法不符合FIPS标准。最简单的解决方案是将以下(或类似)行添加到指定3DES加密的web.config文件中。 3DES符合FIPS标准。

&lt; machineKey validationKey =“AutoGenerate,IsolateApps”decryptionKey =“AutoGenerate,IsolateApps”validation =“3DES”decryption =“3DES”/&gt;

您可以在http://csrc.nist.gov/groups/STM/cavp/index.html获得有关各种FIPS兼容算法的更多信息。

希望有所帮助。

答案 2 :(得分:0)