稻草小刀
从 PE 到 PKCS#7:深入理解 Windows PE 数字签名机制
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
稻草小刀
社区首页
>
专栏
>
从 PE 到 PKCS#7:深入理解 Windows PE 数字签名机制
从 PE 到 PKCS#7:深入理解 Windows PE 数字签名机制
稻草小刀
关注
发布于 2026-10-08 16:20:20
发布于 2026-10-08 16:20:20
113
0
举报
概述
大约十年前我写 PESignAnalyzer 时,最初的目标其实很直接:给定一个 Windows PE 文件,希望能够知道它由谁签署、使用了什么算法、对应什么证书、证书链是什么,以及签名有没有时间戳。
文章被收录于专栏:
小刀志
小刀志
本文系转载,
前往查看
如有侵权,请联系
cloudcommunity@tencent.com
删除。
windows
#Windows
#PE文件
#数字签名
#证书
#安全
目录
一、从一个 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 归档