Привет всем,
есть файл с ключом формата Key.key:
-----BEGIN RSA PRIVATE KEY-----
bla -bla -bla
bla -bla -bla
....
-----END RSA PRIVATE KEY-----
есть также файл с сертификатом, Cert.csr,
и необходимо добавить этот сертификат и ключ в томкэт для его работы через https.
Что я делаю
1) Добавляю сертификат keytool -import -alias tomcat -file /root/Cert.csr -keystore /java/jre1.6.0_20/lib/security/cacerts
2) openssl rsa -in Key.key -outform DER -out /root/.keystore
3)добавляю в server.xml секцию
Connector port="443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" useBodyEncodingForURI="true"
keystoreFile="/root/.keystore"
keystorePass="changeit"
keyAlias="tomcat"
Перезапускаю томкэт и получаю в логах
SEVERE: Error initializing endpoint
java.io.IOException: Invalid keystore format...В чём моя ошибка? Подскажите плиз! Я думаю шаг 2 не верен, возможно нужно как то по другому генерировать .keystore файл имея RSA ключ. Заранее спасибо!
P.s. ключ проверял на валидность, он нормальный openssl rsa -in Key.key -check
первый пункт ненужен.
во втором попробуй так:
1. сконверти ключ и сертификат в формат pkcs12
openssl pkcs12 -export -inkey Key.key -in Cert.csr -out store.p12
2. импортируй в хранилище в формате jks
/opt/jdk1.6.0_22/bin/keytool -importkeystore -srckeystore store.p12 -srcstoretype pkcs12 -destkeystore /root/.keystore -destalias tomcat -alias tomcat -srcalias 1
> первый пункт ненужен.
> во втором попробуй так:
> 1. сконверти ключ и сертификат в формат pkcs12
> openssl pkcs12 -export -inkey Key.key -in Cert.csr -out store.p12
> 2. импортируй в хранилище в формате jks
> /opt/jdk1.6.0_22/bin/keytool -importkeystore -srckeystore store.p12 -srcstoretype
> pkcs12 -destkeystore /root/.keystore -destalias tomcat -alias tomcat -srcalias 1Спасибо огромное! Помогло, работает))