验证 JAR 文件签名

原文: https://docs.oracle.com/javase/tutorial/security/toolfilex/rstep2.html

作为 Ruth,您现在已将 Stan 的公钥证书作为“可信证书”导入exampleruthstore密钥库。您现在可以使用jarsigner工具验证 JAR 文件签名的真实性。

验证签名的 JAR 文件时,验证签名是否有效以及 JAR 文件是否未被篡改。您可以通过以下命令为sContract.jar文件执行此操作:

  1. jarsigner -verify -verbose -keystore exampleruthstore sContract.jar

您应该看到如下内容:

  1. 183 Fri Jul 31 10:49:54 PDT 1998 META-INF/SIGNLEGAL.SF
  2. 1542 Fri Jul 31 10:49:54 PDT 1998 META-INF/SIGNLEGAL.DSA
  3. 0 Fri Jul 31 10:49:18 PDT 1998 META-INF/
  4. smk 1147 Wed Jul 29 16:06:12 PDT 1998 contract
  5. s = signature was verified
  6. m = entry is listed in manifest
  7. k = at least one certificate was found in keystore
  8. i = at least one certificate was found in identity scope
  9. jar verified.

请务必使用-verbose选项运行命令以获取足够的信息以确保以下内容:

  • 合同文件是 JAR 文件中已签名且其签名已经过验证的文件(这是s表示的内容)
  • 用于验证签名的公钥是在指定的密钥库中,因此受信任(这是k表示的)。