c# - FIPS 验证加密算法的问题

标签 c# .net wpf windows-xp fips

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

我正在开发一个 C# WPF 应用程序,它使用 Microsoft Patterns & Practices 组的复合应用程序库 (CAL)。

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

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

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

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

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

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

谢谢, 戴夫

最佳答案

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

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

关于c# - FIPS 验证加密算法的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2104331/

相关文章:

c# - 为什么 .NET 4.6 特定代码在针对较旧版本的框架时会编译?

c# - 使用 LINQ 创建 JSON

c# - 如何使用与使用网络浏览器相同的行为在 C# 中下载网页?

c# - 如何在 .NET 中为 XAttribute 设置命名空间前缀?

wpf - WPF 的 MVC 框架

c# - 内存未在 WPF Image 中释放

c# - 从 C# 模块抛出异常

c# - 二维数组到一维数组 C#

c# 表单最小化/最大化按钮不见了?

c# - 如何删除 DataContractSerializer 的冗长内容