在线时间戳在代码签名中起什么作用?

比特拓荒牛
• 阅读 524

代码签名为可执行文件提供完整性证明,确保它们未被修改或损坏。许多现代操作系统需要代码签名机制,以保护其用户免受未知来源或没有真实性保证的软件代码的侵害。与HTTPS类似,证书颁发机构创建的受信任证书颁发给软件开发者,由软件开发者使用证书签署软件代码。添加时间戳的代码签名,在代码签名证书过期后,数字签名仍然可以被有效识别。

为什么在代码签名中添加时间戳?

代码签名最重要的部分之一是时间戳,这是签名过程的一部分。添加时间戳的代码签名,在代码签名证书过期后,数字签名仍然可以被有效识别。

如果软件由于代码签名证书过期而停止运行,请考虑对用户的影响以及如何修正它。您是否能够推送更新,或者该机制也会因签名过期而中断?在紧急情况下开发和部署补丁需要多少费用?如果您的软件停止工作,您的用户是否会遭受自己的业务影响?

由于过期签名的影响很大,因此充分理解和记录代码签名过程非常重要,并且始终为软件添加时间戳以保持数字签名长期有效。

时间戳不仅是软件持续可用性的最佳实践,而且还提供了安全优势。如果由于密钥泄露而需要吊销证书,则在吊销日期之前签名的任何内容都将继续有效,任何新签名都将无效。

时间戳如何发挥作用?

时间戳会保留软件上的签名,允许操作系统和其他软件在代码签名证书过期后接受签名。评估签名时,时间戳允许根据签名时间(而不是执行软件的当前时间)检查签名的有效性。

如果没有时间戳,将根据当前日期评估签名。您可能在几年前分发了软件,在这种情况下,您的证书将过期,签名将不再有效。这将阻止用户运行您的软件,并且根据平台的不同,可能无法规避这一点。

例如,代码签名证书在整个 2017 年(2017 年 1 月 1 日至 2017 年 12 月 31 日)有效,并且您在 2017 年 11 月对可执行文件进行了签名并加盖了时间戳。用户下载可执行文件并在今天运行它,而不是检查代码签名证书当前是否有效,而是检查时间戳并评估它在 11 月是否有效。它看到证书当时有效,并且签名被接受。

请注意,每次用户运行可执行文件时都会检查可执行文件上的签名。这意味着,如果您的证书过期并且没有时间戳,该软件将突然停止为您的所有用户工作。

对于大多数软件,您将其分发给用户并希望它尽可能长时间地工作 - 这使得时间戳成为签名过程的重要组成部分,以便您的软件可以继续使用多年。

时间戳本身由您的 CA 签名并受到保护,使其能够抵御篡改或欺骗,并且具有加密安全性。将时间戳视为副签名。

代码签名过程中如何添加时间戳?

(1)使用时间戳工具!在许多工具中,例如沃通的WoSignCode代码签名工具,为Windows平台代码签名提供了一个便捷操作的可视化界面,支持代码签名过程中添加时间戳。

在线时间戳在代码签名中起什么作用?

(2)获取在线时间戳服务地址。购买沃通代码签名证书,可提供支持微软的Authenticode技术的时间戳服务网址,以及支持国际标准RFC3161的时间戳服务网址,方便用户快速签署代码文件、添加时间戳。

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
Java日期时间API系列31
  时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数,是所有时间的基础,其他时间可以通过时间戳转换得到。Java中本来已经有相关获取时间戳的方法,Java8后增加新的类Instant等专用于处理时间戳问题。 1获取时间戳的方法和性能对比1.1获取时间戳方法Java8以前
高防加速CDN 高防加速CDN
2年前
为什么安装了SSL证书,网站还是显示不安全?
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。SSL证书就是遵守SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。由于http明文方式
Stella981 Stella981
3年前
Linux CA
CA(CertificateAuthority)证书颁发机构主要负责证书的颁发、管理以及归档和吊销。证书内包含了拥有证书者的姓名、地址、电子邮件帐号、公钥、证书有效期、发放证书的CA、CA的数字签名等信息。证书主要有三大功能:加密、签名、身份验证。1.什么是CA认证?CA认证,即CA认证机构,为电子签名相关各方提供真实性、可靠性验证
Wesley13 Wesley13
3年前
HTTPS安全通信过程
一、两对公私钥1、CA公私钥:CA公钥:预装在操作系统,内置在浏览器中。备注:微软等公司会根据一些权威安全机构的评估选取一些信誉很好并且通过一定的安全认证的证书发布机构,把这些证书发布机构的证书默认安装在操作系统中,并且设置为操作系统信任的数字证书。CA私钥:由CA机构保管,不会外泄。2、服务公私钥:服
Stella981 Stella981
3年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Easter79 Easter79
3年前
SSL Certificate Signed Using Weak Hashing Algorithm 和SSL Medium Strength Cipher Suites Supported的...
这两天有个项目被扫描器报了几个中危,都是SSL证书的问题。记录一下解决方案吧。第一个问题:SSLCertificateSignedUsingWeakHashingAlgorithm这里的原因是因为使用弱算法签名的证书。解决方案查了下总结下来是换算法。操作步骤:  1、从证书颁发机构安装服务器的身份验证证书  2、在注册表H
Stella981 Stella981
3年前
SSL Certificate Signed Using Weak Hashing Algorithm 和SSL Medium Strength Cipher Suites Supported的...
这两天有个项目被扫描器报了几个中危,都是SSL证书的问题。记录一下解决方案吧。第一个问题:SSLCertificateSignedUsingWeakHashingAlgorithm这里的原因是因为使用弱算法签名的证书。解决方案查了下总结下来是换算法。操作步骤:  1、从证书颁发机构安装服务器的身份验证证书  2、在注册表H
Wesley13 Wesley13
3年前
Java基础学习总结(16)——Java制作证书的工具keytool用法总结
一、keytool的概念  keytool是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。在JDK 1.4以后的版本中都包含了这一工具,它的位置为%JAVA\_HOME%\\bin\\keytool.exe,如下图所示:
Stella981 Stella981
3年前
Node.js 中使用 ECDSA 签名遇到的坑
文/Fenying最近有个朋友问我关于Node.js下使用ECDSA的问题,主要是使用Node.js的Crypto模块无法校验网络传输过来的签名结果。在踩坑无数后,终于搞清楚了原因。坑0x00:签名输出格式在排除了证书、消息不一致的可能之后,我开始对比使用Node.js签名的结果与网络传输过来的签
私有云如何配置自签名证书?在 Android 9.0 及之后版本发生 SSL handshake timed out 异常怎么解决?
"描述(来源参考:https://www.rongcloud.cn/?utmsourceSEO&utmtermjishitongxun)本文档仅适用于私有云,且需要使用自签证书(自签名证书)绕过自签名配置的客户。Android9.0及之后版本,融云SDK开
融云IM即时通讯 融云IM即时通讯
8个月前
融云IM干货丨如何为App Key配置HTTPS证书?
为AppKey配置HTTPS证书主要涉及以下几个步骤:生成密钥对和自签名证书:使用openssl工具生成密钥对和自签名证书,这是配置HTTPS的基础。可以通过以下命令生成:opensslgenrsaoutmykey.pem2048opensslreqnew
比特拓荒牛
比特拓荒牛
Lv1
十步杀一人,千里不留行。——李白
文章
2
粉丝
0
获赞
0