PE文件数字签名验证
Verification of the digital signature of a PE file
通过 signtool 检查文件时,我得到一个哈希值,在解码证书时,得到另一个哈希值。我错过了什么?
命令:
signtool verify /a /ph /pa /v .\EmptyExe.exe
文件哈希 (sha256):9FCC67FA3FAA88BCDED22E9FCF6AE1D6D62A95A79A1C777743052DF16F63DADC
解码八位字节字符串:
0001f...f003031300d06096086480165030402010500042066cea53b15089957fc4ca86e419e2058f562e17a802e23e7d5154d2e71412e1a
已解析的字符串:https://lapo.it/asn1js/#MDEwDQYJYIZIAWUDBAIBBQAEIGbOpTsVCJlX_EyobkGeIFj1YuF6gC4j59UVTS5xQS4a
据我观察,在对不同的文件进行签名时,只有3个字段发生变化:hash、messageDigest、encoded hash。
messageDigest 字段中存储了什么?
messageDigest
包含 PKCS#7 消息内容的哈希值,后者又包含签名数据(PE,在给定情况下)的哈希值。
通过 signtool 检查文件时,我得到一个哈希值,在解码证书时,得到另一个哈希值。我错过了什么?
命令:
signtool verify /a /ph /pa /v .\EmptyExe.exe
文件哈希 (sha256):9FCC67FA3FAA88BCDED22E9FCF6AE1D6D62A95A79A1C777743052DF16F63DADC
解码八位字节字符串:
0001f...f003031300d06096086480165030402010500042066cea53b15089957fc4ca86e419e2058f562e17a802e23e7d5154d2e71412e1a
已解析的字符串:https://lapo.it/asn1js/#MDEwDQYJYIZIAWUDBAIBBQAEIGbOpTsVCJlX_EyobkGeIFj1YuF6gC4j59UVTS5xQS4a
据我观察,在对不同的文件进行签名时,只有3个字段发生变化:hash、messageDigest、encoded hash。 messageDigest 字段中存储了什么?
messageDigest
包含 PKCS#7 消息内容的哈希值,后者又包含签名数据(PE,在给定情况下)的哈希值。