Я ищу метод, использующий только PowerShell, для отображения цепочки сертификатов для подписанных файлов. В частности, для получения Root-сертификата.
Поскольку мне нужно получить список, от каких корневых сертификатов, отличных от Microsoft, зависят определенные исполняемые файлы (в установленном программном обеспечении). Это связано с базовыми рекомендациями по ОС, в которых используется процедура PKI в Microsoft KB293781. Где на конкретные компьютеры должны ставиться только определенные Root-сертификаты. Например, часто используемый «Первичный ЦС VeriSign класса 3 — G5» следует использовать только при необходимости.
Get-AuthenticodeSignature перечисляет только эмитента. Например: Get-AuthenticodeSignature C:\windows\system32\MRT.exe
Такие инструменты, как "SysInternals SigCheck", могут это сделать sigcheck.exe -i C:\windows\System32\mrt.exe
, и эта информация может быть проанализирована в дальнейшем. Также эту информацию могут получить другие инструменты, такие как SignTool.exe
из Windows SDK и AnalyzePESig
от Дидье Стивенса.
Но можно ли это сделать, используя только PowerShell? Возможно, используя WinVerifyTrust API в Windows. https://msdn.microsoft.com/en-us/library/windows/desktop/aa382384(v=vs.85).aspx http://support2.microsoft.com/kb/323809/en-us
Привет, Текк