【发布时间】:2020-01-30 19:45:06
【问题描述】:
我有几个签名的 jar 文件。我可以使用 jarsigner 验证签名。如何找到 jar 文件的发布者?我想检查 jar 文件是否由适当的受信任证书签名。
【问题讨论】:
标签: java security sign java-security
我有几个签名的 jar 文件。我可以使用 jarsigner 验证签名。如何找到 jar 文件的发布者?我想检查 jar 文件是否由适当的受信任证书签名。
【问题讨论】:
标签: java security sign java-security
简答:使用jarsigner -verify -verbose -certs some.jar。
-verbose 和 -certs,jarsigner -verify 的输出将包含 JAR 文件中每个签名者的证书信息。如果使用了 X509 证书,则该信息包括签名者的专有名称信息。
以下是手册页中的一些示例输出:
jarsigner -keystore /working/mystore -verify -verbose -certs myTest.jar
198 Fri Sep 26 16:14:06 PDT 1997 META-INF/MANIFEST.MF
199 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.SF
1013 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.DSA
208 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.SF
1087 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.DSA
smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class
X.509, CN=Test Group, OU=Java Software, O=Oracle, L=CUP, S=CA, C=US (javatest)
X.509, CN=Jane Smith, OU=Java Software, O=Oracle, L=cup, S=ca, C=us (jane)
s = signature was verified
m = entry is listed in manifest
k = at least one certificate was found in keystore
jar verified.
当然,签字权的“适当性”只能由人来判断。
【讨论】: