Импорт private ключей в Java keystore

Написал admin . Опубликовано в Unix просмотров 3 840

Так себеПойдетХорошоПонравилосьОтличный пост (2 votes, average: 5,00 out of 5)
Загрузка...

Для хранения сертификатов и ключей Java по умолчанию использует свое хранилище в формате JKS (так же может хранить и в PKCS12).

Для управления этим хранилищем у Java есть своя утилита — keytool. Но функционал у этой утилиты не большой. К примеру она не может положить в хранилище уже имеющиеся приватный ключ и сертификат. Вернее нельзя штатными ее средствами. Для обхода этого ограничения, воспользуемся другой ее фичей — импортом keystore в формате PKCS12.

И так, приступим.

Что у нас имеется:

  1. Приватный ключ (private.key)
  2. Сертификат (certificate.crt)
  3. Корневой сетификат (ca.pem). К примеру для thawte можно взять здесь.

Сначала сделаем из нашего ключа и сертификата пару в формате PKCS12
# openssl pkcs12 -export -in certificate.crt -inkey private.key -out keystore.p12 -name myhostname -CAfile ca.pem -caname root

На запрос пароля вводим пароль для экспортированной пары в keystore.p12

Вот теперь, эту пару в формате PKCS12 мы можем импортировать в хранилище JKS.
# keytool -importkeystore -deststorepass <passwd> -destkeypass <passwd> -destkeystore .keystore -srckeystore keystore.p12 -srcstoretype PKCS12 -srcstorepass <наш пароль для keystore.p12> -alias myhostname

На этом все. Теперь полученный .keystore (естественно имя может быть любое) мы можем использовать в Java приложениях.

Похожие статьи:

Метки: , , , ,

Trackback from your site.

Leave a comment


Warning: Unknown: open(/var/lib/php/session/sess_ng4oj404f5er2n5nei7cs34md5, O_RDWR) failed: Permission denied (13) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0