Проверка цифровой подписи EXE/MSI в Windows

Гайд Опубликовано: 03.10.2025 Проверено: 03.10.2025 Автор: Sysadmin

Soft-Personal Проверка цифровой подписи EXE/MSI в Windows Коротко Два быстрых пути: через Свойства файла → «Цифровые подписи» и через PowerShell командой Get-AuthenticodeSignature. Понимаем, кому подписан файл и доверять ли. Связанные материалы: Пров...

Soft-Personal
Проверка цифровой подписи EXE/MSI в Windows
Коротко
Два быстрых пути: через Свойства файла → «Цифровые подписи» и через PowerShell командой Get-AuthenticodeSignature. Понимаем, кому подписан файл и доверять ли.

Связанные материалы:
Проверка хеша (SHA-256) •
VirusTotal: как читать результаты •
GPG: проверка PGP-подписи •
Чек-лист безопасной установки •
Что понадобится

Windows 10/11 — проверка доступна «из коробки» (вкладка «Цифровые подписи»).

PowerShell — для подробной проверки (Get-AuthenticodeSignature).
Опционально: Windows SDK (signtool.exe) и Sysinternals SigCheck.

Возможности

Определить издателя (Publisher) и статус подписи (действительна/повреждена/истекла).
Проверить цепочку сертификатов до корневого центра и наличие отметки времени (timestamp).
Понять, стоит ли запускать установщик или искать официальный источник.

Быстрый старт

Через Проводник: ПКМ по EXE/MSI → Свойства → вкладка Цифровые подписи → выберите подпись → Сведения → Просмотр сертификата. Проверьте «Кем выдан», «Кому выдан», период действия.
Через PowerShell:
Get-AuthenticodeSignature "C:\Путь\к\файлу.exe"
Оцените SignerCertificate.Subject, TimeStamperCertificate, Status (Valid/NotTrusted/HashMismatch/UnknownError).
Через signtool (опционально):
signtool verify /pa "C:\Путь\к\файлу.exe"
signtool verify /pa /v "C:\Путь\к\файлу.exe"

Что смотреть в сертификате

Издатель (Subject): совпадает с брендом/доменом офсайта?
Цепочка сертификатов: корневой центр доверенный, нет ли «Untrusted/Unknown»?
Отметка времени: корректный timestamp — подпись валидна на момент подписания.
Алгоритм: SHA-256 (а не устаревший SHA-1).
Дата выпуска vs релиз-ноты: разумно коррелируют.

Статусы подписи — что значит и что делать

Статус
Что значит
Действия

Valid
Подпись корректна, цепочка и (обычно) timestamp в порядке.
Сверьте издателя с офсайтом, при желании проверьте хеш.

NotSigned
Файл не подписан.
Качать только с офсайта, дополнительно проверить хеш и VirusTotal.

NotTrusted
Нет доверия к цепочке (корень/промежуточные).
Проверьте обновления корневых сертификатов Windows; сравните с официальной сборкой.

HashMismatch
Подпись не сходится с содержимым.
Не запускать. Снова скачать с офсайта и сверить SHA-256.

Expired / нет timestamp
Сертификат истёк и нет метки времени.
Лучше взять свежий дистрибутив с актуальной подписью.

PowerShell: массовая проверка в папке
# Проверить подпись всех EXE/MSI в папке и показать краткий отчёт
Get-ChildItem -Path "C:\Downloads" -Include *.exe,*.msi -File |
ForEach-Object {
$sig = Get-AuthenticodeSignature $_.FullName
[PSCustomObject]@{
File = $_.Name
Status = $sig.Status
Publisher = $sig.SignerCertificate.Subject
Timestamp = $sig.TimeStamperCertificate.Subject
}
} | Format-Table -Auto
Signtool: мини-шпаргалка
signtool verify /pa "C:\Path\file.exe"
signtool verify /pa /v "C:\Path\file.exe"
signtool verify /kp "C:\Path\driver.sys"

Для обычных приложений используйте /pa; для драйверов — /kp.
Sysinternals SigCheck
SigCheck (portable): показывает подпись и репутацию файла.
sigcheck64.exe -q -m "C:\Path\file.exe"
sigcheck64.exe -i "C:\Path\file.exe"

Безопасность
Важно: цифровая подпись подтверждает автора и целостность, но не «полезность» софта.
Решение принимается в комплексе: официальный источник → подпись → хеш → VirusTotal → SmartScreen/Defender.