首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从 PE 到 PKCS#7:深入理解 Windows PE 数字签名机制

从 PE 到 PKCS#7:深入理解 Windows PE 数字签名机制

作者头像
稻草小刀
发布于 2026-10-08 16:20:20
发布于 2026-10-08 16:20:20
1130
举报
概述
大约十年前我写 PESignAnalyzer 时,最初的目标其实很直接:给定一个 Windows PE 文件,希望能够知道它由谁签署、使用了什么算法、对应什么证书、证书链是什么,以及签名有没有时间戳。
文章被收录于专栏:小刀志小刀志

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、从一个 EXE 文件开始:数字签名到底在哪里
  • 二、从 CryptQueryObject 到 SignerInfo:让 CryptoAPI 解析标准结构
  • 三、从 SignerInfo 到 X.509:证书关联不等于证书链验证
  • 四、Nested Signature、Counter Signature 与 RFC 3161
    • 4.1 Nested Signature
    • 4.2 旧式 Counter Signature
    • 4.3 RFC 3161
  • 五、Authenticode Hash:为什么不能直接 SHA-256 整个文件
  • 六、Catalog Signature:不使用 CryptCATAdmin 如何自动查找
  • 七、从“读取信息”到“分层验证”
  • 八、不使用 WinTrust,是否就等于重新实现 Windows Trust?
  • 九、回头看 PESignAnalyzer:几个值得保留的工程边界
    • 9.1 标准格式交给成熟库,平台特有结构做有限补充
    • 9.2 所有来自文件的长度和偏移都必须验证
    • 9.3 解析结果和验证结果必须分开
    • 9.4 未知状态不能被压缩成成功或失败
    • 9.5 “不使用 WinTrust”是一项实现约束,不是等价性声明
  • 结语
  • 参考资料
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档