Authenticode - 使用外部工具对文件的哈希进行签名

问题描述 投票:0回答:0

我尝试使用 MS 的 signtool 来使用外部工具对可执行文件的哈希进行签名。

不幸的是,注入符号哈希的选项

/di
不起作用。
没有错误消息,但是当我检查文件的属性时,出现消息“主题中没有签名”,证书存在但似乎没有签名。

我已经关注了vcsjones.dev关于带有Authenticode签名的自定义密钥来自帖子How to embed hash in exe file with signtool.exe.

  • 计算哈希并添加公共证书:
    signtool sign /dg "C:\scratch\dir" /fd SHA256 /f public-cert.cer notepad.exe
  • 解码 base64 哈希(我也尝试过不解码)
  • 使用外部工具对散列进行签名 (RSA 1.5 - 4096 - SHA256)
  • 在 base64 中编码签名(我也尝试过不编码)
  • 注入签名(添加.signed文件)
    signtool sign /di "C:\scratch\dir" notepad.exe

我认为问题出在我的外部工具返回的签名上,但没有 MS 签名格式的规范,如标头、DER 编码、RFC 等。(来自 MS 的 PE 文件的验证码规范文档给出了整个结构签名但不是签名本身)。

我从 3 周开始尝试不同的排列,非常感谢任何帮助。

file hash exe digital-signature authenticode
© www.soinside.com 2019 - 2024. All rights reserved.