Java 如何找到signedJar文件的发布者?

Java 如何找到signedJar文件的发布者?,java,security,sign,java-security,Java,Security,Sign,Java Security,我有几个已签名的jar文件。我能够使用jarsigner验证签名。如何找到jar文件的发布者?我想检查jar文件是否由适当的可信证书签名。简短回答:使用jarsigner-verify-verbose-certs some.jar -verbose和-certs,jarsigner-verify的输出将包括JAR文件中找到的每个签名者的证书信息。如果使用了X509证书,则信息包括签名者的可分辨名称信息 以下是从手册页面获取的一些示例输出: jarsigner -keystore /working

我有几个已签名的jar文件。我能够使用jarsigner验证签名。如何找到jar文件的发布者?我想检查jar文件是否由适当的可信证书签名。

简短回答:使用
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.
当然,签署机构的“适当性”只能由一个人来判断