четверг, 12 декабря 2013 г.

Основные комманды keytool

У нас есть кисторы - это хранилище с нашими ключами, которые мы предоставляем наружу, и трастсторы - хранилища ключей, которым мы доверяем (удаленные сервера предоставляющие нам такие ключи с максимальной вероятностью те, кем себя представляют).

Проперти JVM, которые используются для информации о ключах:
javax.net.ssl.keyStore
javax.net.ssl.keyStorePassword

javax.net.ssl.trustStore
javax.net.ssl.trustStorePassword

Не факт, но вроде как кисторы с расширением .pem(вроде как кодировка здесь rsa) используются openssl, p12 - всяким другим в том числе и JSSE

Если нам нужно понять тот у нас сертификат или нет мы, можем посмотерть по его алиасу в нашем кисторе с каким хешом он хранится(одинаковый хеш=одинаковые сертификат и ключ)
keytool -list -keystore path/to/my.keystore

Чтобы узнать кчюча время жизни, нам нужно посмотреть на кистор в вербоус моде:
keytool -list -keystore path/to/my.keystore -v

Импортировать ключи&сертификаты, которые соединены в формат PKCS12:
keytool -importkeystore 
        -destkeystore my.keystore -destalias myalias_in_mykeystore
        -srckeystore someout.p12 -srcstoretype PKCS12 -srcalias their_alias

Если пароль ключа из p12 будет отличается от пароля jks( джава кистора ), то такой сертификат не будет работать, поэтому, поэтому пароль нужно сменить при импорте, делается это вот так:

keytool -importkeystore 
        -destkeystore my.keystore -destalias myalias_in_mykeystore
        -srckeystore someout.p12 -srcstoretype PKCS12 -srcalias their_alias
keytool -importkeystore 
        -srckeystore their.p12 -srcalias their_alias 
        -destkeystore my.jks -destalias my_alias -srcstoretype PKCS12 -destkeypass MY_JKS_PASS_FOR_NEW_KEY
Дальще мы введем пароль нашего хранилища и хранилища p12 и готово.

 Преобразовать сертификат и ключ к нему в один файл формата pkcs12:
openssl pkcs12 -export 
               -in certificate.cer -inkey the_key.key 
               -out combined_result.p12 -name my_alias -CAfile this_file_is_never_generate.crt

Удалить сертификат и ключ по алиасу:
keytool -delete -alias delete_me -keystore my.jks


Добавить серификаты удаленного сервера в наш трастстор:
keytool -import -file SOMECER.CER -alias NAME_FOR_OUR_STORE -keystore MYKEYSTORE.JKS –storepass CHANGING_TO_BE_THE_SAME_AS_FOR_KEYSTORE

Иногда бывает нужно переименовать алиас в кисторе:

keytool -changealias -alias OLD_ALIAS -destalias NEW_ALIAS -keystore MYKEYSTORE.jks

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

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