跳到主要内容
ecdsa.com

Authenticode

Microsoft 用于 Windows 可执行文件、驱动程序、安装程序和脚本的代码签名格式:对文件哈希签名的 PKCS #7 SignedData,嵌入 PE 证书表中,通常带有时间戳。
其他写法AuthenticodesigntoolPE signatureWIN_CERTIFICATE

对于 PE 文件,签名存放在安全目录所引用的 WIN_CERTIFICATE 结构中;被签名的哈希(即 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 查看器可在本地解析签名和时间戳。

标准与参考资料

全部术语