检测是否通过 .NET C# 强制执行 FIPS
Detecting if FIPS is being enforced via .NET C#
有没有办法从 .NET 框架确定 windows 计算机上是否正在执行 FIPS 策略?
您可以使用此代码检查是否启用了 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" 键输入其中,它就会根据启用或禁用 [=16=] 1 或 0。
@ta-speot-is 已经在评论中回答了,如果有人忽略了该评论,请将其添加为答案。
要知道是否启用了 FIPS,我们只需检查 .Net Framework 4.0 及更高版本中可用的布尔标志 CryptoConfig.AllowOnlyFipsAlgorithms
。
有没有办法从 .NET 框架确定 windows 计算机上是否正在执行 FIPS 策略?
您可以使用此代码检查是否启用了 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" 键输入其中,它就会根据启用或禁用 [=16=] 1 或 0。
@ta-speot-is 已经在评论中回答了,如果有人忽略了该评论,请将其添加为答案。
要知道是否启用了 FIPS,我们只需检查 .Net Framework 4.0 及更高版本中可用的布尔标志 CryptoConfig.AllowOnlyFipsAlgorithms
。