SignerSign() 失败。(-2146869243/0x80096005)

Dav*_*ius 12 delphi code-signing signtool

我几个月来一直在为编译的应用程序签名,并且有一个调用 Windows 10 SDK 签名工具的脚本。它在两台不同的计算机上运行良好,我的证书有效。今天,我刚刚开始收到带有上面列出的错误编号的“意外内部错误”。我尝试禁用防病毒软件,这在这种情况下有所帮助但对我的无效。

我的应用程序是用 Delphi 编写的,但我认为这并不重要,因为在 Visual Studio 下的Microsoft开发人员社区上报告了同样的问题。我一直在使用 SDK 的 10.0.18362.0 版,但在收到此错误后,发现有更新并尝试使用 10.0.19041.0 版但出现相同的错误。

还有其他人有这个问题吗?有什么建议?

Jon*_*n R 29

同样在这里。问题是 commodoca.com 时间戳服务器的消亡。

我改用 DigiCert:

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\signtool.exe" sign /tr http://timestamp.digicert.com ...
Run Code Online (Sandbox Code Playgroud)

更新 2(困惑钉住它)commodoca.com 实际上仍然可以正常工作,您只需要在 signtool.exe 命令中添加一个 /td sha256 开关,如下所示:

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\signtool.exe" sign /tr http://timestamp.comodoca.com /td sha256 ...
Run Code Online (Sandbox Code Playgroud)

似乎 DigiCert 正在限制他们给出的时间戳数量,所以我不得不切换回来。顺便说一句,您仍然可以使用来自任何证书颁发机构的任何数字证书,不必来自 DigiCert 即可使用他们的时间戳服务器。

  • 以下是我刚刚发现的更多信息:需要使用 /?td=sha256 :https://timestamp.comodoca.com/?td=sha256 - 自 2020 年 5 月 30 日起,SHA1 服务器已被弃用(所有 SHA1 根都有现已过期) (5认同)
  • 唯一需要的更改是对signtool 使用参数字符串“/td sha256”。timestamp.comodoca.com 的任何后缀(例如之前的一些评论中提到的 /?td=sha256)似乎都是不必要的。 (5认同)

小智 5

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\signtool.exe" 符号 /tr http://timestamp.sectigo.com/?td=sha256 /td sha256 ... .

/?td=sha256 实际工作,但建议使用他们的新域名http://timestamp.sectigo.com 并需要添加额外的参数 /td sha256