9

我在带有 Intel Core 2 Duo E8400 3 GHz 处理器的 Windows XP Pro 版本 2002 SP 3 下运行带有 .NET 3.5 SP 1 的 Visual Studio 2008 版本 9.0.30729.1 SP。

我正在开发一个使用 Microsoft 模式和实践组的复合应用程序库 (CAL) 的 C# WPF 应用程序。

我在 XAML 中收到以下编译错误:

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

我在 Microsoft 知识库文章 935434 中找到了应该修复此问题的修补程序。但是,此修补程序的安装程序报告以下错误:

“Windows Installer 服务无法安装升级补丁,因为可能缺少要升级的程序,或者升级补丁可能会更新程序的不同版本。请确认您的计算机上存在要升级的程序,并且您有正确的升级补丁。”

该修补程序的页面将 .NET 3.0 列为先决条件。虽然我正在使用 .Net 3.5,但我的机器也安装了 .NET 3.0。因此,我希望安装此修补程序。我希望即使该修补程序针对 .NET 3.0,它仍然可以解决我的问题。

无论如何,我无法安装修补程序。有人对我如何克服我看到的“此实现不属于...”编译错误有任何替代建议吗?

谢谢,戴夫

4

2 回答 2

17

我想知道您的机器上是否打开了 FIPS 合规性检查。这是我不久前写的一篇文章,其中谈到了将其关闭以及为什么您可能会收到此错误消息。基本上,FIPS 是美国联邦政府的安全和加密标准。基于它,如果您的机器在 FIPS 合规模式下运行,某些加密算法将不会在您的机器上运行。在这种情况下,简单的解决方法是关闭 FIPS 合规性检查。正确的解决方法是选择正确的加密算法。

这是我的帖子:http ://blog.aggregatedintelligence.com/2007/10/fips-validated-cryptographic-algorithms.html 和这个:http://blog.aggregatedintelligence.com/2009/08/cryptographic-algorithms-和-net.html

于 2010-02-09T23:09:25.903 回答
8

我有几个小时在寻找这个答案。

我正在使用 Win7 64 位,我只是将这个本地策略设置为禁用:

系统加密:使用符合 FIPS 140 的加密算法,包括加密、散列和签名算法

在控制面板->管理工具->本地计算机策略->计算机配置->Windows设置->安全设置->本地策略->安全选项

好好享受!!!

于 2011-08-20T00:53:02.257 回答