我有一台启用了 FIPS 140-1(1 级)的 FDCC 兼容工作站。
现在,我无法在我的机器上运行/调试任何 VS 2005/2008 应用程序
我在浏览器上收到以下错误消息
解析器错误消息:此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。
错误指向 default.aspx.cs 文件的第 1 行
使用系统;
成功调试/运行我的应用程序的唯一方法是将以下注册表项设置为 0
HKLM\System\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
我知道有一些加密算法在 XP SP2 上不符合 FIPS,但我根本没有使用加密。
就此而言,该解决方案仅包含 default.aspx 页面和 .cs 文件中的默认代码,甚至无法运行。
所以我的问题是为什么网页无法加载,以及为什么错误指向第 1 行“使用系统;”陈述?
我的下一个问题是如何在我没有注册表编辑权限的情况下在符合 FIPS 的锁定机器上进行开发
谢谢
库德鲁尔
最佳答案
显然,除了使用非 fips 加密算法之外,仅在 webconfig 中设置 debug="true"就会导致这种情况发生在 .NET 2.0 web 应用程序中
<system.web>
<compilation debug="true">
</system.web>
另外,如果您正在使用 View 状态,那么您还需要在 web.config 的 system.web 部分中使用此键:
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>
因此,实际上您不能在符合 FIPS 的机器上以 Debug模式运行应用程序。我恳求您的组策略管理员为开发机器关闭此功能,或者至少允许您打开和关闭它,以便您仍然可以在启用 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
关于asp.net - 在符合 FDCC 的工作站上进行 VS 开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/671379/