Spec-Zone .ru
спецификации, руководства, описания, API
|
Вы используете Инструмент Подписания и Проверки JAR, чтобы подписать файлы JAR. Вы вызываете Инструмент Подписания и Проверки JAR при использовании команды jarsigner, таким образом, мы обратимся к этому как "Jarsigner" для краткости
Чтобы подписать файл JAR, у Вас должен сначала быть закрытый ключ. Закрытые ключи и их связанные сертификаты с открытым ключом сохранены в защищённых паролем базах данных, названных keystores. keystore может удержать клавиши многих потенциальных подписывающих лиц. Каждый ключ в keystore может быть идентифицирован псевдонимом, который обычно является именем подписывающего лица, которому принадлежит ключ. У ключа, принадлежащего Рите Джонс, мог бы быть псевдоним "rita", например.
Каноническая форма команды для того, чтобы подписать файл JAR
jarsigner jar-file alias
В этой команде:
Инструмент Jarsigner запросит Вас пароли для keystore и псевдонима.
Эта каноническая форма команды предполагает, что keystore, который будет использоваться, находится в файле под названием .keystore в Вашем корневом каталоге. Это создаст файлы сигнатурного и сигнатурного блока с именами x.SF и x.DSA соответственно, где x является первыми восемью буквами псевдонима, все преобразованные в верхний регистр. Эта основная команда перезапишет исходный файл JAR с подписанным файлом JAR.
Практически, можно хотеть использовать эту команду в соединении с один или больше этих опций, которые должны предшествовать пути jar-file:
Опция | Описание |
---|---|
url -keystore | Определяет keystore, который будет использоваться, если Вы не хотите использовать базу данных значения по умолчанию .keystore. |
Пароль -storepass | Позволяет Вам вводить пароль keystore на командной строке, а не запрашиваться это. |
Пароль -keypass | Позволяет Вам вводить пароль своего псевдонима на командной строке, а не запрашиваться это. |
Файл -sigfile | Определяет базовое имя для.SF и.DSA файлов, если Вы не хотите, чтобы базовое имя было взято от Вашего псевдонима. файл должен быть составлен только прописных букв (A-Z), цифр (0-9), дефиса (-), и подчеркивание (_). |
Файл -signedjar | Определяет имя подписанного файла JAR, который будет сгенерирован, если Вы не хотите, чтобы исходный файл без знака был перезаписан с подписанным файлом. |
Давайте смотреть на несколько примеров подписания файла JAR с инструментом Jarsigner. В этих примерах мы примем:
Под этими предположениями Вы могли использовать эту команду, чтобы подписать файл JAR под названием app.jar:
jarsigner -keystore mykeys -storepass abc123 app.jar johndoe
Вы будете запрошены keystore пароль. Поскольку эта команда не использует опцию -sigfile.SF и.DSA файлы, которые это создает, был бы назван JOHNDOE.SF и JOHNDOE.DSA. Поскольку команда не использует опцию -signedjar, получающийся подписанный файл перезапишет оригинальную версию app.jar.
Давайте смотреть на то, что произошло бы, если бы Вы использовали различную комбинацию опций:
jarsigner -keystore mykeys -sigfile SIG -signedjar SignedApp.jar app.jar johndoe
На сей раз Вы были бы запрошены ввести пароли и для keystore и для Вашего псевдонима, потому что пароли не определяются на командной строке. Файлы сигнатурного и сигнатурного блока назвали бы SIG.SF и SIG.DSA, соответственно, и подписанным файлом JAR, SignedApp.jar будет помещен в текущий каталог. Исходный файл JAR без знака остался бы неизменным.
Полные ссылочные страницы для Инструмента Подписания и Проверки JAR являются онлайновыми: Сводка Средств обеспечения безопасности