为什么即使删除文件,jar签名仍然有效?

时间:2016-05-26 14:00:12

标签: java jar jarsigner jar-signing

当我从已签名的jar文件中删除文件时,其签名仍然有效。此外,当我篡改jar文件中的文件时,虽然它无法验证签名,但它仍然通过java -jar运行。

重现的步骤:

  1. 下载示例jar https://docs.oracle.com/javase/tutorialJWS/samples/deployment/dynamictree_webstartJWSProject/DynamicTreeDemo.jar
  2. 看到它的签名有效jarsigner -verify DynamicTreeDemo.jar
  3. 从jar中删除html文件
  4. 看到它的签名是有效jarsigner -verify DynamicTreeDemo.jar
  5. 更改jar中html中的内容
  6. 看到它的签名 不再有效jarsigner -verify DynamicTreeDemo.jar
  7. 但是它通过java -jar DynamicTreeDemo.jar
  8. 运行没有任何问题

    问题是为什么?

    我希望它在步骤4中无效,并且在步骤7中会出现安全异常。

0 个答案:

没有答案