检测是否通过.NET C#强制实施FIPS

时间:2019-01-09 23:24:38

标签: c# .net fips

是否可以从.NET框架中确定Windows计算机上是否正在实施FIPS策略?

2 个答案:

答案 0 :(得分:0)

评论中的@ ta-speot-is已经回答了该问题,如果有人忽略了该评论,则将其添加为答案。

要了解是否启用了FIPS,我们只需检查.Net Framework 4.0和更高版本中可用的布尔标志CryptoConfig.AllowOnlyFipsAlgorithms

答案 1 :(得分:-1)

您可以使用此代码检查是否启用了FIPS:

public static object getKey(string Name)
{
    RegistryKey uac = Registry.LocalMachine.OpenSubKey(@"System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy", true);
    if (uac == null)
    {
        uac = Registry.LocalMachine.CreateSubKey(@"System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy");
    }
    return uac.GetValue(Name);
}

只需将“ Enabled”键传递给它,它将基于启用或禁用返回1或0。