Импорт сертификата в openfire разработчики этого продукта превратили в целую проблему. В сети есть множество заметок, где администраторы делятся работающей последовательностью действий.
Однако даже если у вас такая последовательность пройдет без ошибок это не будет гарантией результата. При проверке сервиса на корректность SSL\TLS может оказаться, что цепочка сертификатов сломана, хотя браузер не будет выдавать ошибку.
Правильная последовательность действий для импорта wildcard (и не только) сертификата в openfire:
Имеем:
- rootCert.pem — корневой сертификат
- intermediateCert.pem — промежуточный сертификат, подписанный корневым CA
- openfireCert.pem — сертификат для сервера openfire, подписанный промежуточным CA
- openfireKey.pem — приватный ключ
Часто RootCert и intermediateCert могут быть объединены в один файл (bundle-ca), в этом случае с ним можно делать те же действия, что и с rootCert.pem
Делаем:
# service openfire stop
- Подготавливаем приватный ключ, не закрытый passphrase:
# openssl rsa -in openfireKey.pem -out openfireKey_decrypted.key
- Добавляем корневой сертификат в доверенные:
/opt/openfire/jre/bin/keytool -importcert -keystore /opt/openfire/resources/security/truststore -file rootCert.pem
- Подготавливаем файл с цепочкой сертификатов, в том числе включаем rootCert.pem:
# cat openfireCert.pem intermediateCert.pem rootCert.pem > chaincert.pem
- Экспортируем цепочку сертификатов и ключ в файл .p12, обязательно указывая пароль (PASS_FOR_P12):
# openssl pkcs12 -export -in chaincert.pem -inkey openfireKey_decrypted.pem -out openfire.p12 -name domain
- Импортируем цепочку сертификатов и ключ в keystore openfire:
/opt/openfire/jre/bin/keytool -importkeystore -deststorepass PASS_FOR_KEYSTORE -destkeypass PASS_FOR_STORE_KEY -destkeystore keystore -srckeystore openfire.p12 -srcstoretype PKCS12 -srcstorepass PASS_FOR_P12 -alias domain
где PASS_FOR_KEYSTORE — пароль для keystore (если не меняли, то дефолтный — changeit), PASS_FOR_STORE_KEY — пароль для сохранения ключа (нужен обязательно), PASS_FOR_P12 — пароль указанный при создании .p12 контейнера
- Должно все заработать
Последовательность действий проверялась на CentOS 6 и openfire 3.9.3
Добрый день!
Подключил по вашей статье сертификат, браузер открывает консоль по https без проблем. В самой конслое серитфикат помечен как «Pending Verification».
Не было у вас такой проблемы?
Нет, не было. А что говорит сервис проверки — http://www.adminhelp.pro/tips-2/tips-sec/343/ ?