4

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

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

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

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

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

使用系统;

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

HKLM\System\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy

我知道在 XP SP2 上有一些不符合 FIPS 的加密算法,但我根本没有使用加密。就此而言,该解决方案仅包含 .cs 文件中带有默认代码的 default.aspx 页面,即使该页面也无法运行。

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

我的下一个问题是在我没有注册表编辑权限的情况下,如何在符合 FIPS 的锁定机器上进行开发

谢谢库德鲁尔

4

3 回答 3

2

显然,除了使用非 fips 加密算法之外,仅在 webconfig 中使用 debug="true" 可能会导致在 .NET 2.0 Web 应用程序中发生这种情况

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

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

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

所以实际上你不能在符合 FIPS 的机器上以调试模式运行应用程序。我恳请您的组策略管理员为开发机器关闭此功能,或者至少允许您打开和关闭它,以便您仍然可以在启用 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-算法-当-net-page-has-debug-true.aspx

于 2010-02-20T21:17:00.223 回答
1

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

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

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

希望有帮助。

于 2010-03-25T13:04:16.863 回答
0

似乎有一个与使用 MD5 的 WFC 相关的修补程序。

于 2009-03-22T19:30:44.437 回答