编码签名时出现“主题中不存在签名”错误

5
我遇到了与以下类似的问题: 如何使用 Ubuntu 签署代码 (.EXE 文件) 以 .SPC 或 .PEM 文件来自 GoDaddy? 我已经使用了 MONO signcode 工具 (https://developer.mozilla.org/en-US/docs/Signing_an_executable_with_Authenticode) 和 osslsigncode (http://sourceforge.net/projects/osslsigncode/files/osslsigncode/),可执行文件显示了一个数字证书,签名为 "Go Daddy Class 2 Certification Authority"。当我查看证书详细信息时,它说 "主题中没有签名"。我尝试了使用时间戳服务器和不使用时间戳服务器,但没有任何区别。我正在 Ubuntu Precise 上运行代码,并在 Windows 7 上进行测试。
有什么建议吗?

我遇到了同样的问题。如果我在Windows中使用signtool签署文件,我就不会遇到这个问题。 - vextorspace
可能是重复内容:http://stackoverflow.com/questions/24696021 - Cride5
我也遇到了同样的问题。在OS X上使用signcode签名。 - jviotti
3个回答

1
我最终通过使用-pkcs12 <pkcs12文件>参数而不是-cert <证书文件>-key <密钥文件>参数来使其工作。我使用的.pfx文件是从我提供给osslsigncode的完全相同的.spc和.pvk文件生成的,但出于某种原因,它可以工作,而它们不行。

1

我也遇到了同样的问题,使用更新后的GoDaddy证书。

我使用Debian v8系统签名Windows可执行文件,这是部署/发布步骤的一部分。

去年的SPC文件可以很好地工作,无论是使用osslsigncode还是Mono的signcode。

现在我会收到安全警告,“主题中没有签名”。

解决方法

我重新提交了原始CSR,在收到重新发行的证书后,我能够成功地使用osslsigncode进行签名。

使用osslsigncode verify <exe-name>进行测试。


0

错误信息“主题中未找到签名”可能是由于用于签名的私钥与证书中的公钥不匹配导致的。


在这种情况下,该如何解决问题? - Aulis Ronkainen
1
在这种情况下,使用与证书匹配的私钥(可能在更新证书时签署代码的计算机上未被替换),或者使用与私钥匹配的证书(如果密钥已被替换,但在其更新后未更换证书)。 - Emmanuel Bourg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接