# 验证签名的 JAR 文件

> 原文： [https://docs.oracle.com/javase/tutorial/deployment/jar/verify.html](https://docs.oracle.com/javase/tutorial/deployment/jar/verify.html)

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

但是，您可以使用`jarsigner`工具自行验证签名的 JAR 文件。您可能希望这样做，例如，测试您已准备好的已签名 JAR 文件。

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

```
jarsigner -verify jar-file

```

此命令将验证 JAR 文件的签名，并确保存档中的文件自签名后未发生更改。如果验证成功，您将看到以下消息：

```
jar verified.

```

如果您尝试验证未签名的 JAR 文件，则会出现以下消息：

```
jar is unsigned. (signatures missing or not parsable)

```

如果验证失败，则会显示相应的消息。例如，如果自 JAR 文件签名以来 JAR 文件的内容已更改，则在尝试验证文件时将产生类似于以下内容的消息：

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

```

* * *

**Note:** The JDK treates a signed JAR file as unsigned if the signed JAR file uses any algorithm that's specified in the `jdk.jar.disabledAlgorithms` Security Property in the `_java.home_/lib/security/java.security` file (where `_java.home_` is the directory where you installed your JRE).

* * *