|
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), определенный в . В случае успеха маркер метки времени, возвращенный TSA, сохранен наряду с подписью в файле сигнатурного блока.
-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, чтобы предоставить доступ к этой новой, дополнительной информации.