【问题标题】:Reducing the lifetime of a code signed EXE减少代码签名的 EXE 的生命周期
【发布时间】:2015-01-28 21:43:09
【问题描述】:

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

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

我的预期用途:

  • 用于测试目的

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

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

【问题讨论】:

标签: certificate code-signing authenticode


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    相关资源
    最近更新 更多