Spec-Zone .ru
спецификации, руководства, описания, API
|
До J2SE 5.0, подпись, сгенерированная jarsigner
содержавший никакая информация о w курице подпись была сгенерирована. Без другой доступной информации, systems/deployers (включая пользователей Плагина Java) часто базировал их оценку законности файла JAR со знаком на законности сертификата подписания. Когда сертификат подписания истекает, systems/deployers приходят к заключению, что подпись, и следовательно, файл JAR, истекла. Поскольку сертификаты подписания обычно истекают ежегодно, это вызвало клиентов существенные проблемы, вынуждая их оставить развернутые файлы JAR ежегодно.
Запуск в J2SE 5.0, jarsigner
может генерировать подписи, которые включают метку времени, таким образом включая systems/deployer (включая Плагин Java), чтобы проверить, был ли файл JAR подписан, в то время как сертификат подписания был все еще допустим. Кроме того, API были добавлены в J2SE 5.0, чтобы позволить приложениям получать информацию о метке времени.
В следующий раз улучшения и дополнения поддерживаются в версии 5.0 платформы JavaSE:
jarsigner
инструмент может теперь генерировать и сохранить метку времени подписи, подписывая файл JAR. Кроме того, jarsigner
поддерживает альтернативные механизмы подписания. Это поведение является дополнительным и управляется пользователем во время подписания через опции, описанные ниже. jarsigner
инструмент, чтобы поддерживать метки времени подписи: -tsa url
"-tsa http://example.tsa.url"
появляется на командной строке, подписывая файл JAR тогда, метка времени сгенерирована для подписи. URL, http://example.tsa.url
, идентифицирует расположение Властей Добавления метки времени (TSA). Это переопределяет любой URL, найденный через -tsacert
опция. -tsa
опция не требует, чтобы сертификат TSA с открытым ключом присутствовал в keystore. Генерировать метку времени, jarsigner
связывается с TSA, используя Протокол Метки времени (TSP), определенный в
-tsacert alias
"-tsacert alias"
появляется на командной строке, подписывая файл JAR тогда, метка времени сгенерирована для подписи. alias
идентифицирует сертификат TSA с открытым ключом в keystore, который является в настоящий момент в действительности. Сертификат записи исследуется на Подчиненное информационное расширение Доступа, которое содержит URL, идентифицирующий расположение TSA. Сертификат TSA с открытым ключом должен присутствовать в keystore при использовании -tsacert
.
-altsigner class
Определяет, что используется альтернативный механизм подписания. Полностью определенное имя класса идентифицирует файл класса, который расширяется com.sun.jarsigner.ContentSigner abstract class
. Путь к этому файлу класса определяется -altsignerpath
опция. Если -altsigner
опция используется, jarsigner
использует механизм подписания, обеспеченный указанным классом. Иначе, jarsigner
использует его механизм подписания значения по умолчанию. Например, чтобы использовать механизм подписания, обеспеченный названным классом com.sun.sun.jarsigner.AuthSigner
, используйте jarsigner
опция "-altsigner com.sun.jarsigner.AuthSigner"
-altsignerpath classpathlist
Определяет путь к файлу класса (имя файла класса определяется с -altsigner
опция, описанная выше), и любые файлы JAR это зависит от. Если файл класса находится в файле JAR, то это определяет путь к тому файлу JAR, как показано в примере ниже. Абсолютный путь или путь относительно текущего каталога могут быть определены. Если classpathlist
содержит разнообразные пути или файлы JAR, они должны быть разделены двоеточием (:
) на Солярисе и точке с запятой (;
) на Windows. Эта опция не необходима, если класс уже находится в пути поиска.
Пример определения пути к файлу фляги, который содержит файл класса:
-altsignerpath /home/user/lib/authsigner.jar
Отметьте, что имя файла JAR включается.
Пример определения пути к файлу фляги, который содержит файл класса:
-altsignerpath /home/user/classes/com/sun/tools/jarsigner/
Отметьте, что имя файла JAR опускается.
Сертификат TSA должен быть доступным от keystore Плагина или хранилищ сертификата, когда Плагин проверяет файла JAR, содержащего метку времени подписи.
Плагин возвращается к 1.4.x поведение, если подпись не содержит метку времени.
Два новых класса были добавлены к пакету java.security. Этими классами является CodeSigner, который поддерживает информацию, связанную с подписывающим лицом, и Меткой времени, которая представляет информацию, связанную с меткой времени подписи.
Новые методы были добавлены к классу java.security.CodeSource и классу java.util.jar.JarEntry, чтобы предоставить доступ к этой новой, дополнительной информации.