Jarsigner: «Этот jar содержит записи, цепочка сертификатов которых не проверена». - PullRequest
6 голосов
/ 08 ноября 2011

Я получаю следующую ошибку на самозаверяющей банке:

jar verified.

Warning:
This jar contains entries whose certificate chain is not validated.

Re-run with the -verbose and -certs options for more details.

Я подписал банку так:

"C:\Program Files\Java\jdk1.7.0\bin\jarsigner" -keystore myKeyStore myJar.jar myAlias

У моей банки есть 2 точки входа: Одна для javaвеб-запуск, и один для апплета.

  • Если я запускаю jar-файл в режиме веб-запуска java, это не имеет места.
  • Но если я запускаю флягу как апплет,В какой-то момент я получаю строгое предупреждение безопасности, когда пытаюсь получить доступ к растровому ресурсу, встроенному в jar.

Использование параметров -verbose и -certs показывает много строк.И я ничего не понимаю в этом.Это вывод: output.txt (часть из 6307 строк, приведенных ниже).

s     157850 Tue Nov 08 12:57:44 CET 2011 META-INF/MANIFEST.MF

      X.509, O=keyja.com
      [certificate is valid from 17/08/11 17:32 to 24/07/11 17:32]
      [CertPath not validated: null]

      112909 Tue Nov 08 12:57:44 CET 2011 META-INF/KEYJA_CO.SF
        1108 Tue Nov 08 12:57:44 CET 2011 META-INF/KEYJA_CO.RSA
sm       180 Tue Nov 08 12:16:40 CET 2011 com/keyja/client/a/a/a/k.class

      X.509, O=keyja.com
      [certificate is valid from 17/08/11 17:32 to 24/07/11 17:32]
      [CertPath not validated: null]

sm       252 Tue Nov 08 12:16:40 CET 2011 com/keyja/client/a/a/a/r.class
...
(around 6000 lines of other output along the same lines)

  s = signature was verified 
  m = entry is listed in manifest
  k = at least one certificate was found in keystore
  i = at least one certificate was found in identity scope

jar verified.

Warning: 
This jar contains entries whose certificate chain is not validated.

Как подписать файл jar?

Ответы [ 3 ]

1 голос
/ 09 ноября 2011

Спасибо, Эндрю Томпсон.Я подписал файл JAR и нашел ошибку.Лучше без знака, вы правы в этом, потому что подписывание не имеет смысла, поскольку мне не нужно выходить из песочницы.

Для записи, ошибка заключалась в использовании библиотеки jnlp.jar.Чтобы заставить его работать, я запустил апплет, используя код jnlp / applet вместо стандартного тега.

1 голос
/ 08 ноября 2011

Мне кажется, всего одна строка отвечает на ваш вопрос. И если вы посмотрите поближе, вы увидите это. Вот оно


[сертификат действителен с 17.08.11 17:32 по 24.07.11 17:32]

Как я могу надеяться, вы знаете, что сегодня не 24 июля, поэтому вам просто нужно заново подписать ваше приложение

0 голосов
/ 13 сентября 2013

У меня точно такая же проблема.

В новых версиях Java 7 и Java 6 произошли изменения. Идентификатор ошибки: 6861062 java classes_security Отключить MD2 при проверке цепочки сертификатов.

При подписании файла Jara у меня было несколько предупреждений и при выполнении команды: jarsigner MyTools.jar -verify -verbose -certs

У меня было сообщение: X.509, OU = публичный первичный центр сертификации класса 3, O = "VeriSign, Inc.", C = US [Сертификат действителен с 29.01.96 по 01:00 до 02.08.28 01:59] [CertPath не подтвержден: проверка ограничений алгоритма не удалась: MD2withRSA ]

Мое решение: - используйте другую версию JDK для подписи и JRE Plugin. - Обновите сертификат безопасности, чтобы не использовать этот алгоритм.

Надеюсь, это поможет вам.

Привет

...