首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >签名工具双重签名失败

签名工具双重签名失败
EN

Stack Overflow用户
提问于 2016-02-07 02:34:58
回答 2查看 1.4K关注 0票数 7

关于我在尝试使用SHA1 1/SHA1 256进行双签名时遇到的一个失败的问题。

我有一个SHA256代码签名证书已经有几年了,但是在新的一年(2016年)之前,我开始使用/fd SHA256来实现哈希算法,以满足微软对SHA1的排斥。

这很好,但当然签名散列不会在旧操作系统上验证。我不关心XP,但我仍然有点关心Vista。

我首先使用以下方法为SHA1签名:

代码语言:javascript
复制
signtool sign /fd SHA1 /f "cert.pfx" /p "password" /t http://timestamp.verisign.com/scripts/timsetamp.dll "file"

然后我尝试我的双重签名:

代码语言:javascript
复制
signtool sign /as /fd SHA256 /f "cert.pfx" /p "password" /tr http://timestamp.globalsign.com/?signature=sha2 "file"

路标工具给了我这个:

代码语言:javascript
复制
Done Adding Additional Store
SignTool Error: An unexpected internal error has occurred.
Error information: "Error: SignerSign() failed." (-2147024846/0x80070032)

现在,我可以使用一个单独的算法( SHA1或SHA256)成功地对一个文件进行签名,但是我不能添加第二个签名。我唯一的猜测是,因为我在这两种算法中使用相同的证书,所以它不喜欢这一点。是否需要为每种算法提供不同的物理证书?

我只是好奇,因为在新的一年前,我已经使用了多年的SHA256证书,并且使用了SHA1算法,它在所有操作系统上都验证得很好。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-12 22:12:04

这是来自错误匹配的dlls。signtool.exe需要正确的wintrust.dll和mssign32.dll,否则只有在双重签名时才能得到0x80070032。这个站点有8.1下载,所以您不需要完整的SDK http://ksoftware.freshdesk.com/support/solutions/articles/17170-how-do-i-use-ksign-to-digitally-sign-files-签名工具8.1在8.1.zip

票数 1
EN

Stack Overflow用户

发布于 2022-03-26 23:29:24

我也有同样的问题,SDK8.1中的签名工具(6.3.9600.17298)似乎对命令行选项的顺序非常挑剔!

如果我用signtool sign /v /f my.pfx /p 1234 /fd sha256 /as test.exe

双签名失败,此错误为:"Multiple signature support is not implemented for this filetype"

实际上,这与W10 SDK中的错误相同,因为-2147024846/0x80070032转换为(HRESULT)ERROR_NOT_SUPPORTED。

但是,如果我使用signtool sign /v /f my.pfx /p 1234 /as /fd sha256 test.exe,它就成功了!

看到我在那做了什么吗?我刚换了/as和/fd sha256的顺序!

我的意思是,这些东西只是噩梦燃料,当你在做一些重要的事情时,当它开始生产的时候,它似乎毫无原因地起不到作用。幸运的是,这次不是这样,因为我只是在测试,但我认为我是疯了,因为我第一次让它工作一次,但不是再次。

要明确的是,这是我如何使用SHA1和SHA256双符号文件的确切顺序,使用Windows8.1SDK中的signtool.exe、可用的这里 ( W10 SDK中的一个仍然不工作,而V7.1SDK中的一个根本不支持多个签名)。

  1. 用SHA1:signtool sign /v /f my.pfx /p 1234 test.exe签名
  2. 用SHA256:signtool sign /v /f my.pfx /p 1234 /as /fd sha256 test.exe签名
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35249059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档