Я просто создал самоподписанный сертификат на поле Linux рабочий кот 6.
Я создал ключи как это, допустимое в течение 10 лет:
keytool -genkey -alias tomcatorange -keyalg RSA -validity 3650
и скопированный keystore в папку у кота и обновленный server.xml для указания на keystore.
Теперь мой сетевой администратор просит и открытый ключ и закрытый ключ (для нашей подсистемы балансировки нагрузки)
Я могу генерировать использование с открытым ключом:
openssl s_client -connect mydomain.com:8443
Но как я могу экспортировать/получить закрытый ключ?
Это немного сложно. Сначала вы можете использовать keytool , чтобы поместить закрытый ключ в формат PKCS12, который является более переносимым / совместимым, чем различные форматы хранилищ ключей Java. Вот пример использования закрытого ключа с псевдонимом mykey в хранилище ключей Java и его копирования в файл PKCS12 с именем myp12file.p12
.
[обратите внимание, что на большинстве экранов эта команда выходит за рамки правая сторона поля: вам нужно прокрутить вправо, чтобы увидеть все]
keytool -v -importkeystore -srckeystore .keystore -srcalias mykey -destkeystore myp12file.p12 -deststoretype PKCS12
Enter destination keystore password:
Re-enter new password:
Enter source keystore password:
[Storing myp12file.p12]
Теперь файл myp12file.p12
содержит закрытый ключ в формате PKCS12, который может использоваться напрямую многими программными пакетами или другими программами. обрабатывается командой openssl pkcs12
. Например,
openssl pkcs12 -in myp12file.p12 -nocerts -nodes
Enter Import Password:
MAC verified OK
Bag Attributes
friendlyName: mykey
localKeyID: 54 69 6D 65 20 31 32 37 31 32 37 38 35 37 36 32 35 37
Key Attributes: <No Attributes>
-----BEGIN RSA PRIVATE KEY-----
MIIC...
.
.
.
-----END RSA PRIVATE KEY-----
Распечатывает закрытый ключ в незашифрованном виде.
Обратите внимание, что это закрытый ключ , и вы несете ответственность за оценку последствий для безопасности удаления его из хранилища ключей Java и его перемещения.