baltun
Администратор
- Сообщения
- 12.351
- Реакции
- 3.103
- Баллы
- 1.833
Для хранения ключей и сертификатов Java использует специальное хранилище, которое по сути своей является бинарным файлом. Обычно этот файл называется keystore.jks для хранения сертификатов пользователя и ключей или truststore.jks для хранения доверенных сертификатов.
Управляется всё это добро при помощи специальной утилиты keytool, основные команды с которой я и опишу в данной статье.
Создание хранилищ, ключей и CSR.
Создание Java keystore и пары ключей.
Создание CSR для существующего alias'а
Создание keystore и самоподписанного сертификата
Импортирование сертификатов.
Импортирование корневого или промежуточного сертификата
Импортирование подписанного сертификата пользователя в существующее хранилище
Экспортирование сертификатов.
Простмотр данных о сертификате или хранилища.
Просмотр данных об отдельном сертификате
Вывести список сертификатов в хранилище
Вывести данные о конкретном сертификате в хранилище
Удаление сертификатов из хранилища.
Изменение паролей.
Изменение пароля хранилища
Изменение пароля приватного ключа
Изменение алиеса в хранилище.
Следует отметить, что это лишь список команд для основных типичных сценариев использования утилиты. Более подробно о keytool и keystore можно почитать в официальной документации на сайте Oracle.
Управляется всё это добро при помощи специальной утилиты 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