Ben*_*min 18 cryptography code-signing portable-executable trusted-timestamp
如果我通过签名设置时间戳,会发生什么?
如果我没有设置怎么办?
这是必要的吗?为什么推荐?
Eug*_*its 35
时间戳用于指定进行数字签名的时间.这是正确验证签名所必需的.
如果存在签名时间戳,则验证(验证)签名的应用程序将检查签名验证中涉及的证书是否在签名时有效.如果签名没有时间戳,则在签名验证时检查证书有效性,这并不总是可接受的.
Example:
Certificate is valid from: 1st of January, 2008
Certificate is valid to: 31st of December, 2010
Signature is made on: 4th of July, 2009
Signature is verified on: 30th of April, 2012
Run Code Online (Sandbox Code Playgroud)
使用时间戳:签名正常(在证书有效期内签名)没有时间戳:签名无效(证书在签名验证时已过期).
如果应该长期使用签名(以证明文档作者或数据发起者的真实性),即长于一天或几天,则应使用时间戳.
例如,当您向同事发送一份简短签名的备注时,不需要加盖时间戳,并且该备注应在阅读的同一天阅读和处理.当然,如果签名技术不支持时间戳,或者时间戳权限不可用,则不能使用时间戳.
另一方面,当您为广泛分发或长期存储和存档目的创建签名文档时,必须使用时间戳.在签署软件应用程序的可执行模块时也使用时间戳.
更新:时间戳也使用证书签名.此签名也使用常规规则进行验证,这意味着用于签署时间戳的证书必须在签名验证时有效.在上面的示例中,如果时间戳证书在2012年4月1日到期,则时间戳将被报告为无效,并且在签名验证期间不会计算.
如果签名证书过期且没有时间戳,则无法验证签名是否在证书有效时进行,因此以前签名的代码可能只是"停止工作".
时间戳涉及第三方(通常是您的CA)证明您在特定时间签名.无论您的证书何时到期,接收签名代码的人都可以在您签署证书时验证您的证书是否有效.