アルゴリズムは、Windowsに組み込まれたライブラリまたはマイクロソフトが出荷する製品によって提供され、苦情処理アルゴリズムと非苦情処理アルゴリズムの両方を含んでいます。
ライブラリに組み込まれているライブラリにコードを呼び出すと、それらのライブラリにはWindows設定のチェックが含まれており、それらのライブラリが設定されていると例外がスローされます。あなたがサードパーティの実装を使用するか、アルゴリズムのウィンドウの実装の独自のを書く場合は、非FIPSの苦情アルゴリズムを使用していることを検出しませんSha256Managed
public SHA256Managed()
{
#if FEATURE_CRYPTO
if (CryptoConfig.AllowOnlyFipsAlgorithms)
throw new InvalidOperationException(Environment.GetResourceString("Cryptography_NonCompliantFIPSAlgorithm"));
Contract.EndContractBlock();
#endif // FEATURE_CRYPTO
_stateSHA256 = new UInt32[8];
_buffer = new byte[64];
_W = new UInt32[64];
InitializeState();
}
の内側にここ
は、チェックの一例ですその設定が設定されているシステムで実行します。
マイクロソフトからお寄せいただきありがとうございます。「FIPSモード以外の理由は何ですか?」(https://blogs.technet.microsoft.com/secguide/2014/04/07/)どうしてもお勧めではありません)」 –