Итак, у меня есть устройство, которое использует сертификаты SSL для разных функций.
Я создал CSE с помощью keytool, используя следующие команды:
keytool -genkey -alias tomcat -keyalg RSA -keystore / opt / msw / data / keystore -storepass changeit
keytool -certreq -alias tomcat -keyalg RSA -keystore / opt / msw / data / keystore -storepass changeit -file /root/certreq.csr
Это сгенерировало CSR, который я использовал для загрузки сертификата, затем я установил его, используя
"keytool -import -alias tomcat -trustcacerts -keystore / opt / msw / data / keystore -storepass changeit -file /root/server.cert"
Все идет нормально.
Однако для одного компонента, использующего SSL, требуется как сертификат и закрытый ключ, которого, конечно, у меня нет - и я не вижу очевидного способа использовать keytool для экспорта закрытого ключа из Tomcat, пожалуйста, есть ли один?
Вы не поверите, но эта функция не поддерживается в keytool. Лучшее решение, которое я нашел до сих пор, - это программное обеспечение и инструкции, доступные для загрузки на этот веб-сайт.
Обычно я генерирую ключ с помощью openssl, а затем использую Этот метод для импорта ключа, так как он также не поддерживается программой keytool.
Чтобы сгенерировать 2048-битный ключ:
openssl genrsa -out host.domain.com.key 2048
Чтобы создать хранилище ключей из этого ключа:
KEY=host.domain.com
openssl pkcs8 -topk8 -nocrypt -in $KEY.key -inform PEM -out key.der -outform DER
openssl x509 -in $KEY.crt -inform PEM -out cert.der -outform DER
wget http://www.agentbob.info/agentbob/81/version/default/part/AttachmentData/data/ImportKey.class
java ImportKey key.der cert.der