如何取消Jar的签名?

2022-09-01 13:51:12

有没有办法取消对java jar文件的签名?我有一些尝试在开发环境中使用的已签名 jar,但我遇到了安全异常,因此我想取消这些 jar 的签名,并且可以在以后准备好部署时对它们进行签名。


答案 1

我不知道答案,但这是我要做的:

  1. 解压缩有问题的一个或多个 jar 文件(jar 只是 zip)
  2. 在 META-INF 目录中查找不是 MANIFEST-MF 的内容。
  3. 删除那些东西。
  4. 打开 MANIFEST-MF 并删除看起来与签名相关的内容。
  5. 雷贾尔。

答案 2

要从 jar 文件中删除签名,请从中删除该目录。jar文件是一个zip文件,所以在Linux上你可以这样做:META-INF

zip -d file.jar 'META-INF/*.SF' 'META-INF/*.RSA'

如果要取消签名许多 jar 文件,以下命令将对当前目录及以下目录中的每个 jar 文件执行此操作:

find . -name '*.jar' -exec zip -d '{}' 'META-INF/*.SF' 'META-INF/*.RSA' ';'

推荐