0

在对可执行文件进行代码签名时,只要证书有效(如果没有时间戳),可执行文件将被视为来自受信任的来源。我想知道我是否可以减少这个时间跨度。

我浏览了Signtool的命令行选项,但找不到减少有效期的选项。但是,这可能只是意味着,微软不支持这一点。

我的预期用途:

  • 用于测试目的

  • 用于演示目的(开发人员培训)

  • 只是一个想法:因为无论如何我都在签署可执行文件,所以这将是提供有时间限制的演示许可证的不错选择。应用程序将简单地检查自己的有效期。

4

1 回答 1

0

好吧,您需要为应用程序的每个版本颁发新证书(具有新的日期范围)。这根本不实用。

但是,您可以做的是检查签署可执行文件的日期/时间(时间戳)。然后,您可以将此时间戳与您的应用程序的最大“允许”日期进行比较。如果“时间戳 + 最长试用天数”大于当前日期 - 好的,正常运行。如果不是 - 使用“试用期已过期”中止。

您可以在此处此处查看代码示例。基本上,您对 GetDateOfTimeStamp/GetTimeStampSignerInfo 感兴趣。

于 2015-11-02T16:50:53.527 回答