Полезные команды keystore

baltun

Администратор
Сообщения
10.735
Реакции
2.544
Баллы
2.003
Для хранения ключей и сертификатов Java использует специальное хранилище, которое по сути своей является бинарным файлом. Обычно этот файл называется keystore.jks для хранения сертификатов пользователя и ключей или truststore.jks для хранения доверенных сертификатов.

Управляется всё это добро при помощи специальной утилиты keytool, основные команды с которой я и опишу в данной статье.

Создание хранилищ, ключей и CSR.
Создание Java keystore и пары ключей.
Код:
keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -storepass password

Создание CSR для существующего alias'а
Код:
keytool -certreq -alias mydomain -keystore keystore.jks -storepass password -file mydomain.csr

Создание keystore и самоподписанного сертификата
Код:
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360

Импортирование сертификатов.
Импортирование корневого или промежуточного сертификата
Код:
keytool -import -trustcacerts -alias root -file CA.crt -keystore keystore.jks -storepass password

Импортирование подписанного сертификата пользователя в существующее хранилище
Код:
keytool -import -trustcacerts -alias mydomain -file mydomain.crt -keystore keystore.jks -storepass password

Экспортирование сертификатов.
Код:
keytool -export -alias mydomain -file mydomain.crt -keystore keystore.jks -storepass password

Простмотр данных о сертификате или хранилища.
Просмотр данных об отдельном сертификате
Код:
keytool -printcert -v -file mydomain.crt

Вывести список сертификатов в хранилище
Код:
keytool -list -v -keystore keystore.jks -storepass password

Вывести данные о конкретном сертификате в хранилище
Код:
keytool -list -v -keystore keystore.jks -storepass password -alias mydomain

Удаление сертификатов из хранилища.
Код:
keytool -delete -alias mydomain -keystore keystore.jks -storepass password

Изменение паролей.
Изменение пароля хранилища
Код:
keytool -storepasswd -new new_storepass -keystore keystore.jks -storepass password

Изменение пароля приватного ключа
Код:
keytool -keypasswd -alias client -keypass old_password -new new_password -keystore client.jks -storepass password

Изменение алиеса в хранилище.
Код:
keytool -changealias -alias "current_alias" -destalias "new_alias" -keystore keystore_name
Следует отметить, что это лишь список команд для основных типичных сценариев использования утилиты. Более подробно о keytool и keystore можно почитать в официальной документации на сайте Oracle.
 
Назад
Верх Низ