验证签名的 JAR 文件

通常,已签名的 JAR 文件的验证将由 Java™运行时环境负责。您的浏览器将验证下载的签名 Servlets。使用解释器的\-jar选项调用的已签名应用程序将由运行时环境验证。

但是,您可以使用jarsigner工具自己验证签名的 JAR 文件。例如,您可能需要执行此操作,以测试已准备好的已签名的 JAR 文件。

用于验证签名的 JAR 文件的基本命令是:

jarsigner -verify jar-file

此命令将验证 JAR 文件的签名,并确保自签名以来,归档文件中的文件没有更改。如果验证成功,您将看到以下消息:

jar verified.

如果您try验证未签名的 JAR 文件,则会出现以下消息:

jar is unsigned. (signatures missing or not parsable)

如果验证失败,则会显示相应的消息。例如,如果自对 JAR 文件进行签名以来 JAR 文件的内容已更改,则try验证该文件时,将显示类似以下的消息:

jarsigner: java.lang.SecurityException: invalid SHA1 
signature file digest for test/classes/Manifest.class

Note:

如果已签名的 JAR 文件使用java.home/lib/security/java.security文件(其中java.home是您安装 JRE 的目录)中jdk.jar.disabledAlgorithms安全属性中指定的任何算法,则 JDK 将已签名的 JAR 文件视为未签名。