В Java 1.5 добавлен улучшение для поддержки временных меток подписи. Идея, насколько я могу судить, заключается в том, что подписанные файлы jar не должны становиться недействительными только потому, что срок действия сертификата подписи кода истек, если файлы были подписаны, пока сертификат был действителен. Теоретически это означает, что нам не нужно повторно подписывать и повторно развертывать наши приложения каждый год по истечении срока действия сертификата. К сожалению, на основе этих двух веток форума, похоже, есть проблемы в реализации:
http://forums.sun.com/thread.jspa?threadID=744677
http://forums.sun.com/thread.jspa?threadID=5309004
Я собираюсь начать тестирование, но мне было интересно, успешно ли это сделал кто-нибудь, без должен импортировать сертификат с меткой времени на клиенте (что нарушит всю цель)?




К сожалению, в настоящее время эта функция кажется совершенно бесполезной. При подписании jar-файла легко добавить метку времени, просто добавьте этот параметр в команду jarsigner:
-tsa https://timestamp.geotrust.com/tsa
Это URL-адрес сервера меток времени Thawte. К сожалению, сертификат CA с метками времени Thawte не включен в список доверенных сертификатов CA среды выполнения Java, поэтому он фактически бессмыслен. То есть, если вы загружаете апплет после истечения срока действия сертификата подписи кода, вы получаете диалоговое окно с предупреждением о «ненадежности» вместо «доверенного».
Существует своего рода «обходной путь», опубликованный здесь, но он работает путем встраивания сертификата CA Thawte с метками времени в сам апплет и запуска keytool на клиенте для импорта сертификата. Я не вижу, как это будет работать, поскольку пользователь уже видел диалоговое окно подписанного кода до того, как этот код может быть запущен.
Я буду искать решение, но не надеюсь. Я не могу себе представить, почему годный для использования сертификат CA с отметками времени не был включен в среду выполнения Java после всего этого времени.
Корневой сертификат Thawte TSA был добавлен в файл Sun JRE cacerts в версиях 6u10 и 5.0u18.
Джейсон, вы должны подать RFE в BugParade, аналогично bugs.sun.com/view_bug.do?bug_id=4212494 Sun не исправит это, если вы этого не сделаете.