如何使用 SHA256 在 Linux 中签署 EXE?

How to sign EXE in Linux with SHA256?

我需要能够在 Linux 中签署一个 EXE。按照 https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Signing_an_executable_with_Authenticode 中列出的说明,我能够使用 Mono 完成它。但是,我 运行 遇到了问题——显然 Mono 的符号代码只支持 md5 和 sha1 哈希算法。我正在尝试使用 sha256 进行签名。任何人都知道我如何完成这项工作?

谢谢!

我无法找到如何使用 Mono 的签名代码执行此操作,但这可以使用 https://sourceforge.net/projects/osslsigncode/files/osslsigncode/ 来完成——签名时使用 -h sha2 参数。

根据单声道文档,支持以下算法: sha1 | md5 | sha2 | sha256 | sha384 | sha512

所以来自 Mozilla 的调整示例如下所示:

signcode \
 -spc authenticode.spc \
 -v authenticode.pvk \
 -a sha256 -$ commercial \
 -n My\ Application \
 -i http://www.example.com/ \
 -t http://timestamp.verisign.com/scripts/timstamp.dll \
 -tr 10 \
 MyApp.exe```