如果程序签名过期会怎样?

Mic*_* S. 16 signature certificate

签名过期后程序还能安装吗?还是需要重新签?

use*_*686 19

这取决于签名格式。

当相应的证书到期或被撤销时,基本签名(例如在 PGP 中)不再有效,因为您无法知道签名是在到期之前还是之后进行的——因为签名是在签名者自己的计算机上进行的,他们可以很容易地为它设置一个自定义日期。

(例如,如果您发现签名密钥被盗并在星期二撤销它,那么星期五的签名必须是无效的——但无论谁偷了它,都可以将签名的日期回溯到星期一。)

但是,某些格式(例如 Authenticode(用于 Windows 和 UEFI))使用时间戳来避免此问题。您下载的大多数 .exe 文件都带有时间戳 - 也就是说,签名本身由外部时间戳服务会签名,该服务始终包含准确的时间。如果存在这样的时间戳,则签名可以永远保持有效,因为您知道证书在签名有效。

例如,这里有一个属于 Office 2003的文件,其签名证书在当年晚些时候过期,但签名由 VeriSign 加盖时间戳并保持有效。

(当然,对于常规应用程序,即使签名无效,您也可以完全绕过检查并安装程序,就好像它根本没有签名一样 - 时间戳对于驱动程序和其他必须签名的文件。)


har*_*ymc 8

签名的目的是表明程序在签名后没有被篡改。以任何方式修改它,例如通过插入恶意软件,都会破坏保护签名。

签名并不意味着证明一个程序是安全的,只是它自签名以来没有被修改。

即使签名已经过期,这并不意味着它不能再被信任,只要开发者保存了那个私钥的安全,这样文件就不能被修改来伪造签名。开发人员只是没有更新他的密钥,也没有使用新密钥重新签名。

如果证书来自受人尊敬的证书颁发机构 (CA),那么在颁发之前会验证开发者的身份,并将详细信息存储在证书本身中。这些细节在颁发证书时是正确的,现在和当时一样可信。

答:该程序可以安全地安装和使用,并且可以信任该签名(除非在一些特殊的已发布的情况下)。