Перейти к содержимому
ecdsa.com

Authenticode

Формат подписи кода Microsoft для исполняемых файлов, драйверов, установщиков и скриптов Windows: структура PKCS #7 SignedData над хешем файла, которая встраивается в таблицу сертификатов PE и обычно снабжается меткой времени.
Другие написанияAuthenticodesigntoolPE signatureWIN_CERTIFICATE

В файлах PE подпись хранится в структуре WIN_CERTIFICATE, на которую указывает каталог безопасности (security directory); подписываемый хеш (дайджест Authenticode) не охватывает поле контрольной суммы, запись каталога безопасности и саму подпись. Подписать файл можно командой signtool sign /fd SHA256 /tr, после которой указывают URL сервера меток времени и /td SHA256, а проверить подпись — командой signtool verify /pa или командлетом PowerShell Get-AuthenticodeSignature. Подписи можно вкладывать друг в друга (двойная подпись SHA-1 и SHA-256 для старых систем).

Windows SmartScreen накапливает репутацию отдельно для каждого сертификата и каждого файла; драйверам режима ядра дополнительно нужна аттестационная подпись Microsoft или подпись WHQL. В 2013 году обнаружилось, что к подписанным файлам можно дописывать неаутентифицированные данные и подпись при этом остаётся верной (MS13-098, 2013); это привело к появлению необязательной, более строгой проверки. Инспектор Authenticode разбирает подписи и метки времени локально.

Стандарты и ссылки

Все термины