Я пытаюсь проверить, правильно ли включен FIPS-140-2 с Windows Server 2016. Есть ли команда Powershell, которую я мог бы запустить, чтобы проверить, правильно ли включена функция, а не просто задана в реестре / групповой политике?
Я не хочу проверять наличие раздела реестра или политики, я действительно хочу вызвать ошибку Windows, которая заставит меня поверить, что он включен по сравнению с сервером без поддержки FIPS.
Спасибо!
Благодаря ответу @Eric Gibson я придумал:
$md5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
приведет к
New-Object: исключение, вызывающее «.ctor» с аргументом (ами) «0»: «Эта реализация не является частью проверенных FIPS криптографических алгоритмов платформы Windows».
Function Test-FipsEnabled {
try {
New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider
} catch {
return $true
}
return $false
}
Я почти уверен, что это то, что вы ищете: https://technet.microsoft.com/en-us/library/cc750357.aspx#ID0EVE
В разделе «Системные интеграторы» Microsoft указывает, где «резина встречается с дорогой» в соответствии с требованиями FIPS. Если вы пытаетесь автоматизировать какой-то механизм аудита, это хорошее место для начала.