Генерация пары ключей
Для генерации новой пары ключей можно использовать следующею команду: keytool -genkey -alias testkey
В результате
выполнения этой команды будет создана
новая пара ключей сохранённая в базе
данных под именем testkey. Вот что у нас
получится:
Программа keytool позволяет указывать следующие параметры:
-v
- запрос вывода сообщений о действии программы.
-alias псевдоним
- псевдоним (имя) который присваивается этой паре.
-keyalg алгоритм_ключа
- алгоритм шифрования вашей подписи - обычно по умолчанию это алгоритм SHA1 with DSA и его можно не указывать если не собираетесь изменять его, размер ключа при генерации DSA ключевой пары может быть от 512 до 1024 бит, но если вы хотите применить MD5 with RSA то укажите опцию -keyalg "RSA" Следует заметить что опция -keyalg обуславливает и опцию -sigalg - алгоритм подписи который будет использован по умолчанию для подписания jar-файла (при создании дайджестов сообщений).
-keysize длина_ключа
- размер генерируемых ключей в битах.
-keypass пароль
- пароль для данного ключа. Если пароль не будет указан в командной строке, программа предложит ввести его значение в режиме диалога. Длина пароля должна быть не менее шести символов.
-keystore хранилище
- расположение хранилища ключей.
-storepass пароль
- пароль доступа к хранилищу ключей.
-validity valDays
- срок годности вашего сертификата. По умолчанию это 180 дней, можно указать больше или меньше.
По умолчанию утилита keytool помещает открытый ключ в подписанный вами же сертификат X.509.v1.
Командой keytool
-list мы можем
посмотреть содержимое keystore:
Получение сертификата
После генерации новой пары ключей необходимо выполнить генерацию запроса CSR(Certificate Signing Request). Этот запрос отсылается в любую выбранную службу сертификации.
Для генерации CSR запроса введите следующею команду: keytool -certreq
Для нашей пары
ключей testkey команда будет выглядеть
следующим образом:
keytool
-certreq -alias testkey
При генерации CSR запроса допускаются следующие параметры:
-v
- сопровождение работы программы выдачей сообщений.
-alias псевдоним
- определение псевдонима пары ключей, для которых необходимо получить сертификат. По умолчанию применяется значение mekey.
-sigalg алгоритм_сигнатуры
- задание используемого алгоритма внесения подписи.
-file csr_файл
- имя и расположение файла, в котором помещается генерируемый запрос.
-keypass пароль
- пароль для доступа к данному ключу.
-storepass пароль
- пароль доступа к хранилищу ключей.
-keystore хранилище
- имя и расположения файла с парой ключей.
Сгенерированный CSR-запрос отсылается в выбранную службу сертификации. После проведения всех необходимых проверок и удостоверения вашей личности вам будет выдан требуемый сертификат.
В любом случае самостоятельно занесите полученный сертификат в файл и введите следующею команду: keytool -import
Следующие параметры могут быть указаны в режиме import:
-v
- сопровождение работы программы выдачей сообщений.
-alias псевдоним
- псевдоним полного имени, которое будет использоваться с данным сертификатом.
-file файл-сертификата
- имя и расположение файла, в котором сохранён полученный сертификат.
Команда: keytool -export -alias testkey -file имя_файла даст указание утилите скопировать ваш сертификат в указанный файл. Отправьте свой сертификат всем получателям, которые будут использовать подписанные вами JAR-архива.
