首页>技术支持>常见问题问答 >能否演示一下代码签名证书过期后时间戳所起的作用?

能否演示一下代码签名证书过期后时间戳所起的作用?

这是许多用户经常提出的问题。首先,让我们了解一下时间戳的作用: 任何数字证书都是有有效期的, WoSign代码签名证书支持 1-3 年有效期。 然而,您的软件的生命周期一般都会更长,为了避免签名证书到期后需要重签软件和重新发布, 必须使用免费提供的时间戳服务,WoSign提供免费时间戳服务。当您对代码签名时,代码产生的哈希值将发送给 WoSign 时间戳服务器进行时间戳反签名。这样,当用户下载签名代码后, IE 浏览器将进行鉴别:
(1) 用已经吊销的代码签名证书签名的代码不会被信任;
(2) 用有效的代码签名证书签名的代码,即使代码签名证书已经到被吊销,但代码仍然是可以信任的。这意味着您不用担心代码签名证书吊销后需要重新签名代码。
时间戳服务是WoSign代码签名证书免费配套服务,是为了方便软件开发商可以不用担心由于代码签名证书过期而影响在有效期内已经签名的代码的正常的使用,也就是说,在代码签名证书有效期内签名的代码永远不会过期。 WoSign免费时间戳URL为: http://timestamp.digicert.com

还是眼见为实吧!为了让大家了解时间戳的好处,我们可以以 VeriSign 的代码签名证书的时间戳为例来说明时间戳的作用。请大家访问赛门铁克的 AutoFix 工具页面时会下载一些 ActiveX 控件来诊断用户电脑上的杀毒软件的问题。当然会显示如下图 1 所示的提示:

代码签名证书过期

请大家注意第 1 个红线显示此代码是 2005 年 6 月 21 日签名的,点击发行者的证书 ( 第 2 个红线 ) 就可以查看代码签名证书的详细信息,如下图 2 所示:

代码签名证书过期

可以看出此代码签名证书的有效期从 2004 年 11 月 9 日到 2005 年 11 月 22 日,而今天是 2006 年 5 月 12 日,也就是说:此代码签名证书已经过期,但由于此代码是在 2005 年 6 月 21 日签名的,也就是在证书有效期内签名的,所以,即使此证书已经过期,但仍然不影响其正常使用,也不会提示签名证书已经过期。

如果点击“安装证书”,会自动把此证书安装到 IE 的“其他人”证书类,再点击该证书,则会显示该证书已经过期,如下图 3 所示:

代码签名证书过期

这样就验证了此代码签名证书确实已经过期,但您已经看到,丝毫不影响其正常使用。这就是时间戳的作用,只要此代码是在证书有效期内签名的,而且在签名时加上了时间戳,则,您可以放心地发布,而不用担心签名证书是否已经过期。

而某些代码签名证书服务提供商并没有把此好功能告诉用户您,当然是出于商业目的,希望您不断地按时续费,即使您不再需要代码签名证书签名新的代码。而 WoSign 之所以给大家讲清楚时间戳的功能和作用,是希望大家能明明白白地根据自己的需要选购代码签名证书的服务有效期,真正为用户着想,真正保护用户的切身利益。

最后,让我们来看看没有使用时间戳而代码签名证书已经过期的情况是什么样的,如下图4所示,为Windows 2000中运行签名证书已经过期的CAB文件时的警告:无法验证该内容的可靠性,因此无法信任,原因是证书已经过期:

代码签名证书过期

如下图5所示,为Windows XP中运行签名证书已经过期的CAB文件时的警告:为帮助保护您的安全,IE已经停止从此站点安装ActiveX控件到您的计算机,也就是说,对于XP来讲,签名证书过期后的处理是等同于没有签名而直接阻止运行。

代码签名证书过期

通过以上已经使用时间戳和没有时间戳的比较,您可以看出时间戳的作用,所以,我们建议您用好我们免费提供的时间戳服务。当然,由于时间戳验证过程需要到WoSign时间戳服务器上去做验证,如果您的ActiveX控件是用在不能连接互联网的内部网上使用,那就不能使用时间戳了,只能建议您购买3年期代码签名证书,并在代码签名证书到期前按时续费。