Как импортировать сертификат .cer в хранилище ключей Java?

Опубликовано: 9 Января, 2023

Java KeyStore — это файл, содержащий сертификаты. Эти сертификаты используются в коде Java. KeyStore и содержащиеся в нем сертификаты используются для безопасных подключений из кода Java. Сохраненные сертификаты могут быть в нескольких форматах. KeyStore Java представлен классом KeyStore(java.security.KeyStore). В этой статье мы узнаем:

  • Как создать хранилище ключей Java (JKS)
  • Как сгенерировать сертификат (CER)
  • Как импортировать сертификат в наше хранилище ключей

Предварительное условие: убедитесь, что в нашей системе установлен keytool .

Создание хранилища ключей Java (JKS)

Чтобы сгенерировать JKS, нам нужно запустить следующую команду.

keytool -genkey -v -keystore <path	o
ame-of-the-keystore.jks> -alias <ALIAS-NAME> -keyalg <PUBLIC-KEY-ALGORITHM> -keysize <SIZE> -validity <NUMBER-OF-DAYS>

Например:

keytool -genkey -v -keystore example.jks -alias GFG_ALIAS -keyalg RSA -keysize 2048 -validity 10000

Когда мы нажмем Enter, нам нужно ответить на несколько вопросов. См. снимок ниже.

Выход:

Мы можем проверить содержимое этого хранилища ключей с помощью следующей команды:

keytool -list -keystore <path	okeystore-name.jks>

Например:

keytool -list -keystore example.jks

После того, как мы нажмем Enter, нам нужно ввести пароль. Мы видим, что есть только 1 запись с предоставленным нами псевдонимом.

Выход:

Создание сертификата (CER)

Существует множество способов создания сертификата. Здесь мы рассмотрим один из самых практичных способов. Когда мы посещаем сайт и аутентифицируем себя, мы можем скопировать сертификат в файл, если выполним следующие шаги:

Щелкните значок замка > соединение защищено > сертификат действителен.

Перейдите на вкладку «Сведения» > «Копировать в файл» > «Далее».

В следующем мастере нажмите «Далее» и выберите расположение и имя файла. Затем нажмите «Готово». Вы найдете сертификат по выбранному вами пути.

Импорт сертификата в наше хранилище ключей

Теперь, когда у нас есть и сертификат, и хранилище ключей, мы можем использовать приведенную ниже команду для импорта .cer в наше хранилище ключей java.

keytool -import -trustcacerts -keystore <path	okeystore-name.jks> -alias <ALIAS> -file <path	ocertificate.cer>

Например,

keytool -import -trustcacerts -keystore example.jks -alias NEW-GFG-ALIAS -file example.cer

Он запросит пароль, где мы должны указать пароль хранилища ключей.

Для проверки мы можем снова запустить команду list:

keytool -list -keystore <path	okeystore-name.jks>

Например:

keytool -list -keystore example.jks

Выход:

Мы видим, что наш сертификат был успешно импортирован и есть запись с предоставленным нами псевдонимом.