Эта банка содержит записи, срок действия сертификата подписавшего которых истекает в течение шести месяцев.

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

jarsigner -verify -verbose [my jar]

Есть ли способ избавиться от этой ошибки? Мой код просто перестанет работать через шесть месяцев, если он не будет повторно сертифицирован?

Вот полный набор команд, используемых для генерации ключа и подписи Jar:

keytool -genkey -keystore [keystore] -alias [alias] -validity 2000
keytool -selfcert -keystore [keystore] -alias [alias] -validity 2000
jarsigner -keystore [keystore] [jar] [alias]

1 ответ

Решение

Есть ли способ избавиться от этой ошибки?

Это не ошибка, а предупреждение. Что касается того, как этого избежать, убедитесь, что срок действия сертификата превышает 6 месяцев. Для самозаверяющего сертификата это вопрос предоставления правильных параметров при генерации ключа. Здесь keytool Пример.

keytool -genkeypair -dname "cn=Mark Jones, ou=Java, o=Oracle, c=US"
  -alias business -keypass <new password for private key> -keystore /working/mykeystore
  -storepass <new password for keystore> -validity 180

Важная часть -validity 180, Например, 180 дней или около 6 месяцев. Используйте 1800 около 5 лет.

Мой код просто перестанет работать через шесть месяцев, если он не будет повторно сертифицирован?

Не совсем.

  • Пользователь в некоторых системах будет предупрежден о том, что срок действия сертификата истек, и ему будет предложено принять его. Если они это сделают, это будет работать как обычно. например, "подпись истекла":
  • Другие системы могут быть настроены на автоматическое отклонение устаревших сертификатов. На этих машинах код, скорее всего, никогда не запустится или, в редких случаях, будет загружен, но будет применена песочница.

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

Кэширование апплета во время тестирования - большая проблема. Я стараюсь избегать тестирования апплетов в браузере, пока это не станет абсолютно необходимым. Есть 3 способа тестирования апплетов, которые не будут кэшировать классы.

  1. AppletViewer
  2. Гибридный апплет / приложение
  3. Appleteer (немного лучше, чем appleter viewer в некоторых отношениях, я разработал его некоторое время назад)
Другие вопросы по тегам