Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

Поддержка Метки времени подписи

Введение

Этот документ описывает улучшения, которые были добавлены в J2SE 5.0, чтобы поддерживать метки времени подписи.

До J2SE 5.0, подпись, сгенерированная jarsigner содержавший никакая информация о том, когда подпись была сгенерирована. Без другой доступной информации, systems/deployers (включая пользователей Плагина Java) часто базировал их оценку законности подписанного файла JAR на законности сертификата подписания. Когда сертификат подписания истекает, systems/deployers приходят к заключению, что подпись, и следовательно, файл JAR, истекла. Поскольку сертификаты подписания обычно истекают ежегодно, это вызвало клиентов существенные проблемы, вынуждая их оставить развернутые файлы JAR ежегодно.

Запуск в J2SE 5.0, jarsigner может генерировать подписи, которые включают метку времени, таким образом включая systems/deployer (включая Плагин Java), чтобы проверить, был ли файл JAR подписан, в то время как сертификат подписания был все еще допустим. Кроме того, API были добавлены в J2SE 5.0, чтобы позволить приложениям получать информацию о метке времени.

В следующий раз улучшения и дополнения поддерживаются в версии 5.0 платформы JavaSE:

Улучшения Jarsigner

jarsigner инструмент может теперь генерировать и сохранить метку времени подписи, подписывая файл JAR. Кроме того, jarsigner поддерживает альтернативные механизмы подписания. Это поведение является дополнительным и управляется пользователем во время подписания через опции, описанные ниже.

Опции Метки времени Jarsigner

Следующие опции были добавлены к jarsigner инструмент, чтобы поддерживать метки времени подписи:

-tsa url

Если "-tsa http://example.tsa.url" появляется на командной строке, подписывая файл JAR тогда, метка времени сгенерирована для подписи. URL, http://example.tsa.url, идентифицирует расположение Властей Добавления метки времени (TSA). Это переопределяет любой URL, найденный через -tsacert опция. -tsa опция не требует, чтобы сертификат TSA с открытым ключом присутствовал в keystore.

Генерировать метку времени, jarsigner связывается с TSA, используя Протокол Метки времени (TSP), определенный в RFC 3161. В случае успеха маркер метки времени, возвращенный TSA, сохранен наряду с подписью в файле сигнатурного блока.

-tsacert alias

Если "-tsacert alias" появляется на командной строке, подписывая файл JAR тогда, метка времени сгенерирована для подписи. alias идентифицирует сертификат TSA с открытым ключом в keystore, который является в настоящий момент в действительности. Сертификат записи исследуется на Подчиненное информационное расширение Доступа, которое содержит URL, идентифицирующий расположение TSA.

Сертификат TSA с открытым ключом должен присутствовать в keystore при использовании -tsacert.

Альтернативные Опции Подписания

Определение Альтернативного Механизма Подписания

-altsigner class Определяет, что используется альтернативный механизм подписания. Полностью определенное имя class идентифицирует файл class, который расширяется com.sun.jarsigner.ContentSigner abstract class. Путь к этому файлу class определяется -altsignerpath опция. Если -altsigner опция используется, jarsigner использует механизм подписания, обеспеченный указанным class. Иначе, jarsigner использует его механизм подписания значения по умолчанию.

Например, чтобы использовать механизм подписания, обеспеченный названным class com.sun.sun.jarsigner.AuthSigner, используйте jarsigner опция "-altsigner com.sun.jarsigner.AuthSigner"

Определение Пути к Альтернативному Механизму Подписания

-altsignerpath classpathlist Определяет путь к файлу class (имя файла class определяется с -altsigner опция, описанная выше), и любые файлы JAR это зависит от. Если файл class находится в файле JAR, то это определяет путь к тому файлу JAR, как показано в примере ниже.

Абсолютный путь или путь относительно текущего каталога могут быть определены. Если classpathlist содержит разнообразные пути или файлы JAR, они должны быть разделены двоеточием (:) на Солярисе и точке с запятой (;) на Windows. Эта опция не необходима, если class уже находится в пути поиска.

Пример определения пути к файлу фляги, который содержит файл class:

-altsignerpath /home/user/lib/authsigner.jar

Отметьте, что имя файла JAR включается.

Пример определения пути к файлу фляги, который содержит файл class:

-altsignerpath /home/user/classes/com/sun/tools/jarsigner/

Отметьте, что имя файла JAR опускается.

Улучшения Плагина Java

В J2SE 5.0, Плагин Java был улучшен, чтобы проверить метки времени подписи (при наличии), проверяя файлов JAR. Плагин Java больше не будет представлять диалоговое окно, когда он встретится с или отменяемым сертификатом с истекшим сроком, проверяя подписанной фляги, при условии, что метка времени подписи подтверждает, что подпись была сгенерирована до даты аннулирования или истечения.

Сертификат TSA должен быть доступным от keystore Плагина или хранилищ сертификата, когда Плагин проверяет файла JAR, содержащего метку времени подписи.

Плагин возвращается к 1.4.x поведение, если подпись не содержит метку времени.

Улучшения API

Безопасность и API JAR были улучшены, чтобы позволить приложениям получить доступ к информации о метке времени.

Два новых класса были добавлены к пакету java.security. Этими классами является CodeSigner, который поддерживает информацию, связанную с подписывающим лицом, и Меткой времени, которая представляет информацию, связанную с меткой времени подписи.

Новые методы были добавлены к java.security.CodeSource class и java.util.jar.JarEntry class, чтобы предоставить доступ к этой новой, дополнительной информации.


Oracle и/или его филиалы Авторское право © 1993, 2012, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами