我正在尝试测试 FIPS-140-2 是否已正确启用Windows 服务器 2016。是否有一个 Powershell 命令可以运行来检查该功能是否已正确启用,而不仅仅是在注册表/组策略中设置?
我不想检查注册表项或策略是否存在,实际上我想触发一个 Windows 错误,让我相信它已启用,而不是未启用 FIPS 的服务器。
谢谢!
感谢@Eric Gibson 的回答,我得出了以下结论:
$md5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
将导致
New-Object:使用“0”个参数调用“.ctor”时发生异常:“此实现不是 Windows 平台 FIPS 验证的加密算法的一部分。”
Function Test-FipsEnabled {
try {
New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
} catch {
return $true
}
return $false
}
答案1
我很确定这就是你要找的东西: https://technet.microsoft.com/en-us/library/cc750357.aspx#ID0EVE
在“系统集成商”部分下,Microsoft 指定了 FIPS 合规性中的“关键问题”。如果您尝试自动化某种审计机制,那么这是一个不错的起点。