24.06.2011

Извлечение ключей CRT/KEY из JKS (keystore) и наоборот

Изначальные данные: JKS-файл, ПАРОЛЬ и АЛИАС.
Например у нас есть:
имя ключа (keystore): nodesquad.com.jks
пароль: FDs6aGh7
алиас: server
=========

Загрузите Java-программу, которая распаковывает .KEY-файл из.JKS: ExportPrivateKey.zip

Вытащите .KEY-файл (обратите внимание, что ExportPrivateKey.zip должен быть расположен в той же директории, где работаем):
java -jar ExportPrivateKey.zip jks-file-name.jks JKS 'ПАРОЛЬ' АЛИАС key-file-name.key
Например:
java -jar ExportPrivateKey.zip nodesquad.com.jks JKS 'FDs6aGh7' server nodesquad.com.key


Вытащите .CRT-файл:
keytool -export -alias ALIAS -keystore jks-file-name.jks > der-file-name.der
openssl x509 -in der-file-name.der -inform DER -out crt-file-name.crt -outform PEM
Например:
keytool -export -alias server -keystore nodesquad.com.jks > nodesquad.com.der
openssl x509 -in nodesquad.com.der -inform DER -out nodesquad.com.crt -outform PEM

**************************


А теперь тоже самое, только наоборот. Имея ключи .crt и .key соберем один .jks
Кстати, если у Вас нету .key-файла, то скорее всего Вы просто обновили сертификат. В таком случае нужно взять .key файл от старого сертификата. Но уж если он не сохранился, то его можно либо выбрать из старого .jks, по схеме как описано выше либо сделать re-key в трастовой компании, где получали сертификат.

Соберем .pkcs12 сертификат из двух разобранных:
openssl pkcs12 -export -out nodesquad.com.pkcs12 -in nodesquad.com.crt -inkey nodesquad.com.key
И импортируем его в keystore:
keytool -importkeystore -srckeystore nodesquad.com.pkcs12 -srcstoretype PKCS12 -keystore nodesquad.com.jks


Комментариев нет:

Отправить комментарий