我在 jar 中手动添加了一些类文件。并在服务器中替换。但是服务器没有拿出这个新的jar说:java.lang.SecurityException:类“test.TestProcess2”的签名者信息与同一包中其他类的签名者信息不匹配。
我是否需要在更新后对 jar 进行签名以及如何做。
提前致谢
我在 jar 中手动添加了一些类文件。并在服务器中替换。但是服务器没有拿出这个新的jar说:java.lang.SecurityException:类“test.TestProcess2”的签名者信息与同一包中其他类的签名者信息不匹配。
我是否需要在更新后对 jar 进行签名以及如何做。
提前致谢
更新后我需要在 jar 上签名吗?
当然,签名 jar 的重点是内容不会被除您之外的其他人修改。如果您手动修改它,那么您必须辞职。
在我的例子中,我使用 Eclipse 和 Ant 来构建项目。所以每次我重建项目时,jar 都会被辞职。
<signjar jar="myapplet.jar" keystore="myKeyStore" alias="me" storepass="pass"/>
问题是您的 JAR 中的其他类与您添加的类的签名不同。添加新类后,要么不签署整个 JAR,要么退出 JAR。您可以在此处找到有关 jarsigner 工具的信息
是的。
您还可以为命令行手动签名 jar。例如,在 Windows 中,它看起来更不像这样:
"{YOUR_JDK_INSTALL_PATH}\bin\jarsigner.exe" -verbose -keystore {YOUR_KEYSTORE_PATH} -storepass {YOUR_STORE_PASS} -keypass {YOUR_KEY_PASS} {JAR_FILE}