有没有一种方法可以使用过期的证书对二进制文件进行签名?

时间:2019-01-15 14:54:05

标签: certificate digital-signature signtool

我正在使用signtool对我的exe和dll文件进行签名。为了进行测试,我想找到一种使用过期证书的方法。可能吗?如果不能使用signtool,我也可以使用其他工具。 顺便说一句。我不想更改系统日期,因为稍后我想尝试添加时间戳。

这是命令以及与signTool一起使用的参数来对我的文件进行签名:

signTool sign /f expiredCert.pfx /p "pass" /v test.dll

结果我得到:

SignTool Error: No certificates were found that met all the given criteria.

2 个答案:

答案 0 :(得分:0)

我正在回答自己的问题,因为事实证明,最简单的方法是操纵系统时间。这对我来说很麻烦,因为这在我的开发机上被阻止了,所以我必须在具有关闭时间同步功能的virtualbox机器上进行此操作。将系统时间更改为证书有效期内的日期后,我可以对文件进行签名。后来我什至可以使用外部服务添加时间戳。如果您决定签出文件属性中的“数字签名”选项卡,Windows当然会立即抱怨这一事实,但这是我想要实现的测试目标。

答案 1 :(得分:0)

如您所述,可以签名,但要真正签名(身份验证码),如此处https://support.globalsign.com/code-signing/ev-code-signing-windows-7-and-8

为代码加时间戳非常重要,而且非常重要 推荐您签署的每段代码。此时间戳将 允许您签名的文件在 证书本身已过期。

您需要为其加时间戳。我怀疑您是否可以将时间戳记在时间戳记证书到期时过期(恕我直言,恕我直言)。