如何签署代码签名工作?

时间:2012-02-03 11:43:02

标签: security code-signing trusted-timestamp

我目前不了解会签如何运作。

我在考虑是否可以操作文件并使用包括假签名的原始密钥重新签名?

我正在使用例如:

signtool.exe sign /f "mycert.pfx" /t "http://timestamp.verisign.com/scripts/timstamp.dll" /v "MyApp.exe"

因此,我将获得带有contersign的已签名应用程序。但是这有什么作用呢? “timestamp”服务器是否对当前时间戳进行简单签名?如果我理解正确,将允许重播攻击。所以我可以在过去签署一个文件。

如何保护contersign?

1 个答案:

答案 0 :(得分:2)

在您的特定情况下,它根本不是会签。 Authenticode时间戳包含在原始签名的PKCS#7包中作为属性。这是一个带时间戳的签名(摘要)。服务器使用其证书对摘要和时间值进行签名。

因此,重放攻击没有空间(或感觉) - 如果您更改数据,您将获得不同的时间戳数据包,如果您想用新时间戳替换相同数据的旧时间戳,您可以重新签名并重新设置数据的时间戳,而不是使用时间戳。