如果签名jar(带有时间戳)的证书过期,会发生什么

时间:2016-03-01 17:45:31

标签: java jar-signing

我在2年前签了一个带有时间戳的jar(小程序)。证书即将到期。会发生什么?是否会向用户发出警告,它是否会起作用?它会停止工作吗?

我没有向applet添加任何特定代码来处理时间戳。签名时我只包含-tsa网址。

编辑:它继续工作。

2 个答案:

答案 0 :(得分:5)

在Java 5 SE之前,签名证书已过期的签名jar将不再有效或无法使用。

使用Java 5 SE及更高版本,签名证书过期的签名jar将继续有效。但是,过期的证书不能用于签署任何进一步的jar。

From Oracle's docs

  

在J2SE 5.0之前,jarsigner生成的签名不包含有关生成签名的信息。在没有其他可用信息的情况下,系统/部署者(包括Java插件的用户)经常根据签名证书的有效性对签名的JAR文件进行有效性评估。当签名证书过期时,系统/部署者会断定签名以及JAR文件已过期。由于签名证书通常每年到期,因此强制他们每年重新签署已部署的JAR文件,从而导致客户出现重大问题。

     

从J2SE 5.0开始,jarsigner可以生成包含时间戳的签名,从而使系统/部署者(包括Java插件)能够在签名证书仍然有效时检查JAR文件是否已签名。此外,在J2SE 5.0中添加了API,以允许应用程序获取时间戳信息。

答案 1 :(得分:2)

当时间戳证书保持有效时,它将起作用。

将显示无警告(启动小程序时的常规安全警告除外)。

一旦时间戳证书过期或被撤销,您签名的jar将变为不受信任。