ScA*_*er2 6 c# encryption fips visual-studio-2010
我在Windows 7中启用了FIPS兼容模式,但现在我的代码无法编译,并出现以下错误:
Source file 'whatever.cs' could not be opened ('This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.')
Run Code Online (Sandbox Code Playgroud)
我正在使用SHA1(散列)和TripleDes(加密)加密.我也尝试过SHA512和AES(256位密钥).
我不能让项目继续构建,但我需要编译它以使用FIPS兼容算法.
符合FIPS的算法:
哈希算法
HMACSHA1
MACTripleDES
SHA1CryptoServiceProvider
对称算法(使用相同的密钥进行加密和解密)
DESCryptoServiceProvider
TripleDESCryptoServiceProvider
非对称算法(使用公钥进行加密,使用私钥进行解密)
DSACryptoServiceProvider
的RSACryptoServiceProvider
因此,您需要使用SHA1CryptoServiceProvider并TripleDESCryptoServiceProvider符合FIPS标准
尝试制作一个空白的C#应用程序并进行编译,它应该因为同样的原因而失败.最终问题是Visual Studio,而不是您的代码.按照此处的说明将其添加到IDE的配置文件(Devenv.exe.config/ VCSExpress.exe.config/ vbexpress.exe.config):
<enforceFIPSPolicy enabled="false"/>
Run Code Online (Sandbox Code Playgroud)
这并不意味着您的应用程序未在FIPS兼容模式下运行,这意味着Visual Studio现在不是.不兼容的代码仍将编译,但如果它尝试执行,您将收到System.InvalidOperationException异常.
我想,但不确定,VS用于在库中生成某些哈希的算法实际上并不符合FIPS标准.
| 归档时间: |
|
| 查看次数: |
13045 次 |
| 最近记录: |