我有一个带有旧签名的.jar
文件,并希望使用新签名重新签名。可能吗?
如果可能:怎么做?
答案 0 :(得分:15)
如果签名不是您拥有的签名,则需要先解开jar。
像这样(假设unix,否则转换为dos):
jar xvf JarName.jar
rm -rf META-INF
jar cvf JarName.jar *
现在你需要运行jarsigner来签署jar
jarsigner -keystore /yourkeystoredirectory/mystore -storepass yourpass
-keypass yourkeypasswd JarName.jar keyname
如果您没有密钥库,可以使用keytool创建密钥库。
答案 1 :(得分:1)
您可以提取类文件并使用签名重新包装它们
答案 2 :(得分:1)
我在https://www.chemaxon.com/forum/viewpost35555.html#35555
上找到了更好的解决方案可以在oracle文档中找到更全面的文档: https://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#Signed_JAR_File(例如,META-INF文件夹中可能有“.DSA”文件,以“SIG-”开头的文件)