Я собираюсь установить / обновить / обновить сертификат SSL на одном из серверов, который имеет следующую конфигурацию
Информация о сервере:
Версия сервера: Apache Tomcat/6.0.35
Версия ОС: Linux 2.6.18-371.6.1.el5
Архитектура: amd64
Версия JVM: 1.6.0_30-b30
Поставщик JVM: Sun Microsystems Inc.
Расположение Tomcat: /user/local/apache-tomcate-6.0.35
Сгенерируйте новый запрос сертификата SSL:
Я создал хранилище ключей имени папки (/user/local/apache-tomcate-6.0.35/keystore
)
Чтобы создать ключ: sudo keytool -storepass keypassword -keyalg RSA -keysize 2048 -keystore mydomain.keystore -genkey -alias mydomain
Чтобы создать запрос на сертификат SSL: sudo keytool -storepass keypassword -keystore mydomain.keystore -certreq -keyalg RSA -file mydomain.csr -alias mydomain.com
После успешного выполнения обеих команд я получил папку с двумя файлами.
Следующие файлы вложены в электронное письмо, которое я получил вчера:
Cabundle.cert
(Что это? Нет упоминания об этом в Wiki)mydomain.crt
root_certificate.crt
Trend_Micro_CA.crt
Affirmtrust_Networking.crt
Установка сертификата:
Согласно информации из другого источника, я загрузил два других файла в папку хранилища ключей.
Импортируйте корневой сертификат «ct_root.der»:
[root@ mydomain keystore]# sudo keytool -keystore mydomain.keystore -storepass keypassword -importcert -file ct_root.der -trustcacerts -alias globalsignroot
Итог:
Certificate already exists in system-wide CA keystore under alias
<3getcybertrustsolutionsincgtecybertrustglobal root>
Do you still want to add it to your own keystore? [no]: yes
Certificate was added to keystore
Импортируйте гарантированный сертификат серверного образования «sureserverDDU.pem»:
[root@ mydomain keystore]# `sudo keytool -keystore mydomain.keystore –storepass keypassword -importcert -file sureserverEDU.pem -trustcacerts -alias sureserveredu`
Результат: сертификат добавлен в хранилище ключей
Импортируйте сертификат из электронной почты: согласно вики мне нужно импортировать файл certificate.pem {{{sudo keytool -keystore mydomain.keystore -storepass keypassword -alias mydomain -import -file mydomain.pem
}}}. В полученном мной электронном письме нет файла .pem, и если я запустил [root @ mydomain keystore] # sudo keytool -keystore mydomain.keystore -storepass keypassword -alias mydomain -import -file mydomain.crt
.
Я получаю ошибку,
Keytool error: java.lang.Exceptoin: Failed to establish chain from reply
Проблема:
Здесь я застрял и не знаю, что делать, я предполагаю, что мне нужно создать chain.pem со всеми полученными сертификатами внутри него. Если это так, в каком порядке мне следует копировать и вставлять сертификаты?
Честно говоря, я не хочу пробовать ничего, в чем я не уверен, потому что это действующий сервер.
Я буду очень признателен, если кто-нибудь сможет мне помочь / предоставить инструкции о том, как продолжить работу после шага № 5, чтобы успешно установить сертификат. Я также не понимаю, что такое cabundle.crt, который идет в электронном письме.
Заметка Я опускаю "sudo" в каждой команде.
Заметка По соображениям безопасности не рекомендуется использовать такие команды с -password mypassword
часть, поскольку они могут храниться в вашем файле истории команд.
Ваша команда импорта могла не работать из-за формата ввода mydomain.crt. Проверьте, есть ли у вас в формате PEM или DER:
openssl x509 -in mydomain.crt -inform DER
Если это не удается, вероятно, он уже находится в формате PEM, но если нет, то вывод этой команды - это то, что должно быть передано в keytool, но вместо этого вы должны использовать всю цепочку.
Cabundle.cert
могла бы уже всю цепочку привести в порядок. Сделать
grep CERTIFICATE Cabundle.cert
и проверьте, есть ли 2-4 блока BEGIN CERTIFICATE
- END CERTIFICATE
. Если это так, сделайте копию файла и отредактируйте ее, чтобы убрать «атрибуты пакета», которые они иногда включают перед каждым сертификатом, который не работает с командами импорта. Просто оставьте тарабарщину между строками BEGIN и END (включая их). Если нет, создайте свой собственный связанный файл, объединяющий такие блоки из вашего сертификата, ЦС эмитента и т. Д. До корневого ЦС.
Ваш файл должен выглядеть так:
----BEGIN CERTIFICATE----
MIEooujfalsdlflasdl
....
----END CERTIFICATE----
----BEGIN CERTIFICATE----
MIEooujfalsdlflasdl
....
----END CERTIFICATE----
----BEGIN CERTIFICATE----
MIEooujfalsdlflasdl
....
----END CERTIFICATE----
Повторите последнюю команду импорта с новым файлом:
keytool -keystore mydomain.keystore -alias mydomain -import -file CertificateChain.pem