如何使用纯Java验证签名的JAR?

时间:2009-05-11 13:51:41

标签: java jar certificate code-signing

我不想使用jarsigner -verify。我的问题没有JAR util包吗? 我只想在纯Java中验证JAR。

1 个答案:

答案 0 :(得分:4)

“jarsigner”只是验证jar的java程序的一个小包装器。在JDK中有一个“tools.jar”(通常是“C:\ programs \ Java \ jdk1.6.0_13 \ lib \ tools.jar”或类似的东西)。在这个库里面有一个类“JarSigner”,它提供了所需的能力。只需将“tools.jar”放在类路径上即可!

下面是一个示例程序来演示行为

import sun.security.tools.JarSigner;

public class TestJarSigner {

 public static void main(String[] args) {
  JarSigner signer = new JarSigner();
  signer.run(new String[] { "-verify", "tools.jar" });
 }

}

输出是:

jar is unsigned. (signatures missing or not parsable)

如果您需要更深入了解签名过程,请sources are availible