Как найти издателя подписанного файла Jar?

У меня есть несколько файлов JAR, которые подписаны. Я могу проверить подпись с помощью jarsigner. Как найти издателя файла jar? Я хотел бы проверить, подписан ли файл jar соответствующим доверенным сертификатом.


person Srikar Durgi    schedule 30.01.2020    source источник


Ответы (1)


Краткий ответ: используйте 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.

Конечно, о «соответствии» полномочий подписи может судить только человек.

person Stephen C    schedule 30.01.2020