6

Windows 7でFIPS準拠モードを有効にしましたが、コードのコンパイルに失敗し、次のエラーが発生します。

Source file 'whatever.cs' could not be opened ('This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.')

私はSHA1(ハッシュ)とTripleDes(暗号化)暗号化を使用しています。SHA512とAES(256ビットキー)も試しました。

プロジェクトをこれ以上ビルドすることはできませんが、FIPS準拠のアルゴリズムを使用するようにプロジェクトをコンパイルする必要があります。

4

3 に答える 3

9

これには、FIPS準拠のアルゴリズムのリストがあります。より完全なリストはここにあります

FIPS準拠のアルゴリズム:

ハッシュアルゴリズム

HMACSHA1

MACTripleDES

SHA1CryptoServiceProvider

対称アルゴリズム(暗号化と復号化に同じキーを使用)

DESCryptoServiceProvider

TripleDESCryptoServiceProvider

非対称アルゴリズム(暗号化には公開鍵を使用し、復号化には秘密鍵を使用します)

DSACryptoServiceProvider

RSACryptoServiceProvider

したがって、FIPSに準拠する必要がありSHA1CryptoServiceProviderますTripleDESCryptoServiceProvider

于 2011-02-17T20:57:49.393 に答える
8

空のC#アプリを作成してコンパイルしてみてください。同じ理由で、失敗するはずです。最終的に問題は、コードではなくVisualStudioにあります。ここの指示に従って、これをIDEの構成ファイル(Devenv.exe.config/ VCSExpress.exe.config/ vbexpress.exe.config)に追加します。

<enforceFIPSPolicy enabled="false"/>

これは、アプリがFIPS準拠モードで実行されていないことを意味するのではなく、VisualStudioが現在実行されていないことを意味します。非準拠のコードは引き続きコンパイルされますが、実行しようとするとSystem.InvalidOperationException例外が発生します。

VSがライブラリで特定のハッシュを生成するために使用するアルゴリズムは、実際にはFIPSに準拠していないと思いますが、確かではありません。

于 2011-02-17T21:39:19.163 に答える
0

IDEで開いているすべてのファイルを閉じてからビルドすることもできます。誰かが最近MicrosoftConnectでこの問題を書いた:connect.microsoft.com/VisualStudio/feedback/details/644602/…– indiv

これは、Visual Studio 2010でも機能しました。私の場合、開いているすべてのファイルを閉じて、VisualStudioを再起動する必要がありました。

于 2013-01-03T18:22:23.533 に答える