0

我在 jar 中手动添加了一些类文件。并在服务器中替换。但是服务器没有拿出这个新的jar说:java.lang.SecurityException:类“test.TestProcess2”的签名者信息与同一包中其他类的签名者信息不匹配。

我是否需要在更新后对 jar 进行签名以及如何做。

提前致谢

4

3 回答 3

1

更新后我需要在 jar 上签名吗?

当然,签名 jar 的重点是内容不会被除您之外的其他人修改。如果您手动修改它,那么您必须辞职。

在我的例子中,我使用 Eclipse 和 Ant 来构建项目。所以每次我重建项目时,jar 都会被辞职。

<signjar jar="myapplet.jar" keystore="myKeyStore" alias="me" storepass="pass"/>
于 2013-01-30T15:17:38.360 回答
1

问题是您的 JAR 中的其他类与您添加的类的签名不同。添加新类后,要么不签署整个 JAR,要么退出 JAR。您可以在此处找到有关 jarsigner 工具的信息

于 2013-01-30T15:19:23.697 回答
1

是的。

您还可以为命令行手动签名 jar。例如,在 Windows 中,它看起来更不像这样:

"{YOUR_JDK_INSTALL_PATH}\bin\jarsigner.exe" -verbose -keystore {YOUR_KEYSTORE_PATH} -storepass {YOUR_STORE_PASS} -keypass {YOUR_KEY_PASS} {JAR_FILE}

于 2013-01-30T15:40:33.507 回答