Java Keytool — это утилита для управления ключами и сертификатами. Она позволяет пользователям управлять своими собственными парами открытых/закрытых ключей и сертификатами . Она также позволяет пользователям кэшировать сертификаты. Java Keytool хранит ключи и сертификаты в так называемом хранилище ключей. По умолчанию хранилище ключей Java реализовано в виде файла. Он защищает закрытые ключи паролем. Хранилище ключей Keytool содержит закрытый ключ и любые сертификаты, необходимые для завершения цепочки доверия и установления надежности основного сертификата.
Каждый сертификат в хранилище ключей Java связан с уникальным псевдонимом. При создании хранилища ключей Java вы сначала создадите файл .jks, который изначально будет содержать только закрытый ключ. Затем вы сгенерируете CSR, и на его основе будет сгенерирован сертификат. Затем вы импортируете сертификат в хранилище ключей, включая все корневые сертификаты. Java Keytool также имеет несколько других функций, которые позволяют просматривать сведения о сертификате или перечислять сертификаты, содержащиеся в хранилище ключей, или экспортировать сертификаты.
Эти команды позволяют создать новый файл хранилища ключей Java Keytool, создать CSR и импортировать сертификаты. Любые корневые или промежуточные сертификаты необходимо будет импортировать перед импортом основного сертификата для вашего домена.
Команды Java Keytool для создания и импорта
Эти команды позволяют создать новый файл хранилища ключей Java Keytool, создать CSR и импортировать сертификаты. Любые корневые или промежуточные сертификаты необходимо будет импортировать перед импортом основного сертификата для вашего домена.
Создайте хранилище ключей Java и пару ключей
keytool -genkey -alias kuzevanov.ru -keyalg RSA -keystore /etc/pki/java/cacerts -keysize 2048
Создайте запрос на подпись сертификата (CSR) для существующего хранилища ключей Java
keytool -certreq -alias kuzevanov.ru -keystore /etc/pki/java/cacerts -file file_cert.csr
Импорт корневого или промежуточного сертификата ЦС в существующее хранилище ключей Java
keytool -import -trustcacerts -alias root -file name_cert.crt -keystore /etc/pki/java/cacerts
Импорт подписанного первичного сертификата в существующее хранилище ключей Java
keytool -import -trustcacerts -alias kuzevanov.ru -file name_sert.crt -keystore /etc/pki/java/cacerts
Создайте хранилище ключей и самозаверяющий сертификат
keytool -genkey -keyalg RSA -alias selfsigned -keystore /etc/pki/java/cacerts -storepass password -validity 360 -keysize 2048
Команды Java Keytool для проверки
Если вам нужно проверить информацию в сертификате или хранилище ключей Java, используйте эти команды.
Проверить автономный сертификат
keytool -printcert -v -file name_sert.crt
Проверьте, какие сертификаты находятся в хранилище ключей Java
keytool -list -v -keystore /etc/pki/java/cacerts
Проверьте конкретную запись хранилища ключей, используя псевдоним
keytool -list -v -keystore /etc/pki/java/cacerts -alias kuzevanov.ru
Другие команды Java Keytool
Удалить сертификат из хранилища ключей Java Keytool
keytool -delete -alias kuzevanov.ru -keystore /etc/pki/java/cacerts
Изменить пароль хранилища ключей Java
keytool -storepasswd -new new_storepass -keystore /etc/pki/java/cacerts
Экспорт сертификата из хранилища ключей
keytool -export -alias kuzevanov.ru -file name_sert.crt -keystore /etc/pki/java/cacerts
Получение списка доверенных сертификатов ЦС
keytool -list -v -keystore $JAVA_HOME/jre/lib/security/cacerts
Импорт нового ЦС в доверенные сертификаты
keytool -import -trustcacerts -file /path/to/ca/ca.pem -alias CA_ALIAS -keystore $JAVA_HOME/jre/lib/security/cacerts