验证签名的 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 文件视为未签名。