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