2015-07-27 2 views
7

Если я создать хранилище ключей и подписать банку с этой командой:Jarsigner - Что произойдет после истечения

keytool -genkey -alias myalias -keyalg RSA -validity 365 -keystore keys/my.keystore 

jarsigner -verbose -keystore keys/my.keystore -signedjar my_signed.jar my_unsigned.jar myalias 

Тогда я бы создать сертификат, который действителен 365 дней. Что происходит с файлом jar через 365 дней? Неужели он все еще работает? Может ли кто-то еще получить подписчика, когда он использует «проверку jarsigner»? Как обновить сертификат?

+1

Хороший вопрос, быстрое предложение создать сертификат с очень коротким сроком действия и попробовать его. Мне было бы интересно увидеть ответ тоже :) –

+0

Я нашел следующий вопрос и ответ, которые предполагают, что это зависит от вас, http://stackoverflow.com/questions/5206859/java-trustmanager-behavior-on-expired-certificates –

+0

Да Я тоже об этом подумал, но сегодня я должен подписать его :) –

ответ

3

Инструмент Jarsigner имеет опцию (-tsa URL) в соответствии с http://docs.oracle.com/javase/7/docs/technotes/guides/security/time-of-signing.html

Если вы используете ВСТ вариант подписанная метка времени включена в подписи банку. Многие ЦС, которые предлагают сертификаты подписи кода, имеют такой сервер метки времени. Когда подпись банка будет проверена позже, клиент проверяет, действительно ли сертификат был действителен, когда банка была подписана. Таким образом, банку можно по-прежнему проверять, даже если год прошел. Вы должны использовать сервер времени вашего ЦС, так как после этого может быть проверена подпись метки времени (цепочка сертификатов уже включена - с момента написания кода с сертификатом из этого числа)

Смежные вопросы