Назад | Перейти на главную страницу

Как установить / обновить / обновить сертификат SSL в Tomcat

Я собираюсь установить / обновить / обновить сертификат 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:

  1. Я создал хранилище ключей имени папки (/user/local/apache-tomcate-6.0.35/keystore)

  2. Чтобы создать ключ: sudo keytool -storepass keypassword -keyalg RSA -keysize 2048 -keystore mydomain.keystore -genkey -alias mydomain

  3. Чтобы создать запрос на сертификат SSL: sudo keytool -storepass keypassword -keystore mydomain.keystore -certreq -keyalg RSA -file mydomain.csr -alias mydomain.com

После успешного выполнения обеих команд я получил папку с двумя файлами.

Следующие файлы вложены в электронное письмо, которое я получил вчера:

  1. Cabundle.cert (Что это? Нет упоминания об этом в Wiki)
  2. Zip файл
    а. mydomain.crt
    б. root_certificate.crt
    c. Trend_Micro_CA.crt
    d. Affirmtrust_Networking.crt

Установка сертификата:

Согласно информации из другого источника, я загрузил два других файла в папку хранилища ключей.

  1. http://secure.globalsign.net/cacert/ct_root.der
  2. http://secure.globalsign.net/cacert/sureserverEDU.pem
  3. Импортируйте корневой сертификат «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
    
  4. Импортируйте гарантированный сертификат серверного образования «sureserverDDU.pem»:

    [root@ mydomain keystore]# `sudo keytool -keystore mydomain.keystore –storepass keypassword -importcert -file sureserverEDU.pem -trustcacerts -alias sureserveredu`
    

    Результат: сертификат добавлен в хранилище ключей

  5. Импортируйте сертификат из электронной почты: согласно вики мне нужно импортировать файл 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