是否可以使用较新的证书重新签名Java applet?

时间:2012-06-03 01:17:17

标签: java code-signing jarsigner

我有一个签名的Java小程序,证书刚刚过期。我有一个新的证书,但我不确定我能找到原始的,未签名的applet jar文件。有什么办法可以把签名的jar用新的证书取代旧的证书吗?感谢。

2 个答案:

答案 0 :(得分:1)

你无法包装它。

但是,您应该只需使用其他证书重新签名JAR即可。无论如何,签署JAR都不会对其进行加密。它只是向清单部分添加了东西。

这不是安全问题。重新签名的证书与原始证书不同,最终用户必须再次接受它。 (我认为你不能避免这种情况......因为成为一个安全问题!)


无论如何,简单的方法是尝试重新签名已签名的applet JAR,看看它是否有效,以及当你尝试以用户身份运行它时它的行为。

答案 1 :(得分:0)

为解决类似情况,我删除了META-INF/*.SFMETA-INF/*.RSA下的所有签名文件,并再次签名。 META-INF/MANIFEST.MF现在既包含旧的(未使用的)SHA-1哈希行,又包含新的SHA-256;其余的旧密码似乎没有问题:jarsigner -verify -verbose报告新签名后一切正常。