Выцепляем ca-bundle для ssl-сертификата.
Частенько случается такое, что у вас на руках есть только сам сертификат и ключ. Ну там клиент прислал. Для корректной же настройки https нужен ещё и т.н. «CA Bundle» (или по-простому — цепочка сертификатов вплоть до корневого).
Ещё чаще клиент не знает, что это за сертификат, откуда он его взял, а уж тем более ничего не знает про то, где взять bundle для него. Многие админы начинают выяснять у кого этот сертификат куплен, эмпирически пытаться найти цепочки, ну и другие глупости делать.
Адекватный сисадмин же знает, что у любого сертификата, кроме корневого, есть поле CA Issuers, в котором можно посмотреть, каким сертификатом подписан текущий. Ну а дальше, имея эту информацию, можно построить цепочку, используя только openssl, да wget/curl.
Для примера я взял бесплатный StartSSL-евский сертификат, у которого цепочка весьма длинная.
Допустим, мы его получили сразу в PEM-формате (то есть обычном текстовом — в моём примере это файл debian.pro.crt), чуть ниже будет пример того, как сертификат можно превратить в PEM. Погнали:
user@server:~$ openssl x509 -in debian.pro.crt -text | grep ‘CA Issuers’
CA Issuers — URI:http://aia.startssl.com/certs/sub.class1.server.ca.crt
Окей, первым сертификатом в CA Bundle станет http://aia.startssl.com/certs/sub.class1.server.ca.crt. Качаем его:
user@server:~$ wget http://aia.startssl.com/certs/sub.class1.server.ca.crt
Получим файл sub.class1.server.ca.crt в DER-формате. Чтобы его можно было скормить в nginx/apache/whatever, нужно конвертировать его в PEM:
user@server:~$ openssl x509 -in sub.class1.server.ca.crt -inform DER -outform PEM -out sub.class1.server.ca.pem.crt
Продолжаем строить цепочку.
user@server:~$ openssl x509 -in sub.class1.server.ca.pem.crt -text | grep ‘CA Issuers’
CA Issuers — URI:http://aia.startssl.com/certs/ca.crt
Опять качаем http://aia.startssl.com/certs/ca.crt, конвертируем его в pem. У меня получился файл ca.pem.crt. Пытаемся построить цепочку дальше:
user@server:~$ openssl x509 -in ca.pem.crt -text | grep ‘CA Issuers’
В ca.pem.crt уже нет поля Issuers, т.к. это «корневой» сертификат, никем не подписанный — его добавляют в доверенные уже на клиентах (в браузере, в системе). Единственная оговорка, что бывают кросс-подписанные сертификаты, в таком случае у вас на каждый следующий сертификат будут чередоваться 2 сертификата в Issuers — тогда просто остановитесь на самом первом из них.
Осталась самая мелочь — подготовить crt-файл для apache/nginx.
Для nginx я делаю так:
user@server:~$ cat debian.pro.key debian.pro.crt sub.class1.server.ca.pem.crt ca.pem.crt > debian.pro.pem
Для апача старых версий придется держать отдельные файлы (но ca-bundle нужно собрать в один файл):
user@server:~$ cat sub.class1.server.ca.pem.crt ca.pem.crt > debian.pro.ca.pem
Всё. Занимает секунд 30 и не нужно лишних писем и ожиданий 😉
Какие файлы нужны для установки SSL-сертификата
После того, как вам выпустили SSL-сертификат, его необходимо установить на сайт. Для этого понадобятся файлы сертификата и доступ на сервер. В инструкции разберёмся, где их взять.
Где взять файлы сертификатов
Для установки SSL-сертификата потребуются специальные файлы.
- Секретный ключ генерируется при создании запроса на выпуск сертификата.
- Сертификат и цепочка сертификатов высылаются на почту, которую указали в качестве технического контакта. Также они доступны в Личном кабинете FirstSSL.
Чтобы скачать файлы в Личном кабинете, перейдите в раздел Товары — SSL-сертификаты . Кликните по приобретенному сертификату и нажмите «Просмотр» :

Внизу доступны файлы: секретный ключ, сертификат, запрос на сертификат.

Для установки понадобятся первые два: секретный ключ и сертификат.

Запрос на сертификат на этапе установки не нужен — он используется для продления услуги.
Важно: автоматическое продление сертификата позволяет только своевременно запустить выпуск нового сертификата. Чтобы новый сертификат начал действовать, потребуется подтвердить выпуск и установить его на сервер вручную, заменив старый. Поэтому даже при использовании автоматического продления рекомендуем вам регулярно следить за уведомлениями: при успешном продлении на почту, указанную при заказе сертификата, придёт письмо с инструкциями.
Если вы не нашли файлы SSL-сертификата, проверьте:
- Соответствует ли ваш адрес электронной почте адресу, указанному в заявке на получение сертификата
- Одобрил ли сертификационный центр ваш запрос на получение сертификата. Сертификационный центр может отказать в выпуске сертификата, если заявка заполнена с ошибками
- Была ли отправлена заявка на получение сертификаты
- Был ли сохранён секретный (приватный) ключ
Обращайтесь в техподдержку, если у вас возникли вопросы
Секретный ключ
Секретный ключ — это файл с расширением .key . Иногда секретный ключ отсутствует в Личном кабинете. Это может произойти, если при создании запроса на сертификат вы выбрали настройку «Не сохранять ключ» . Если у вас нет ключа, сертификат необходимо перевыпустить.

Секретный ключ, открытый в текстовом редакторе, представляет собой набор символов. Они заключены между пометками «Begin RSA private key» — (начало ключа) и «End RSA private key» (конец ключа). Секретный ключ используется для расшифровки данных, поступающих на сервер, поэтому не передавайте его посторонним.

Сертификат
Файл «сертификат», скачанный из личного кабинета, представляет собой архив zip . Распакуйте его. Внутри вы найдёте ещё два файла: сертификат и цепочку сертификатов.
Сертификат — это файл с расширением .crt . Он же является публичным ключом.

Внутри содержится заголовок «Begin certificate» — начало сертификата, тело сертификата и отметку «End certificate» — конец сертификата:

Цепочка сертификатов
Цепочка сертификатов — файл с расширением .ca-bundle

В текстовом редакторе цепочка сертификатов выглядит как набор символов. Начало и конец помечены «Begin certificate» и «End certificate» .

Цепочка для сертификата от сертификационного центра GlobalSign
После выпуска сертификата от GlobalSign вы получаете архив с 4 файлами ключей:
- Файл с расширением .p7b содержит сертификат и цепочку сертификата. P7B формат поддерживается такими платформами, как Microsoft Windows и Java Tomcat.
- Файл с именем домена, на который выпускался сертификат, и расширением .crt содержит в себе открытый ключ сертификата.
- Файл с именем GlobalSign Root CA.crt содержит корневой ключ цепочки сертификата.
- Файл с именем AlphaSSL CA — SHA256 — G2.crt содержит промежуточный ключ цепочки сертификата.
Для создания цепочки сертификата вам необходимо поместить в один текстовый файл корневой ключ сертификата, за ним с новой строки промежуточный ключ и дать ему название GlobalSign.ca. Сделать это вы можете, открыв файлы с ключами цепочки через любой текстовый редактор. Для копирования всего содержимого файла лучше использовать комбинации клавиш Ctrl + A далее Ctrl + C, это необходимо, чтобы не пропустить символы при копировании текста.
Что делать, когда все файлы готовы
Когда все файлы готовы, можно переходить к установке сертификата. Процесс состоит из двух основных этапов:
- Загрузка на сервер файлов сертификата, которые мы рассмотрели: секретный ключ, сертификат, цепочка сертификатов.
- Переключение сайта на работу через защищенное соединение.
Конкретные шаги зависят от панели управления хостингом или типа сервера. Вы можете уточнить детали установки у своего хостинг-провайдера или воспользоваться инструкциями по ссылкам ниже.
Как создать файл цепочки SSL сертификатов
Файл цепочки сертификата нужен во время установки SSL сертификата, а так же большей лояльности приложений.
Помимо самого сертификата для домена потребуются файлы сертификатов посредников и корневой сертификат. Все они (кроме сертификата для домена) создают цепочку, которая информирует подключаемое приложение о сертификате и центрах, которые выдали и подтвердили сертификат.
Пример:
● сертификат для домена — domain.crt
● сертификат посредника 3 — Intermediate3.crt
● сертификат посредника 2 — Intermediate2.crt
● сертификат посредника 1 — Intermediate1.crt
● корневой сертификат — CARoot.crt
Обратите внимание, что в саму цепочку помещать сертификат домена не следует.
Обычно центр сертификации прилагает к SSL-сертификату уже сформированную цепочку — domain.ca-bundle. Если в архиве с сертификатом её нет, необходимо сформировать цепочку самостоятельно. Это можно сделать двумя способами:
1. С помощью текстового редактора:
a. откройте файлы
b. создайте новый документ
c. скопируйте в новый документ содержание каждого из файлов в последовательности: сертификат посредника 3, сертификат посредника 2, сертификат посредника 1, корневой сертификат
d. сохраните файл как domain.ca-boundle
2. С помощью командной строки:
a. В операционной системе семейства UNIX: cat “сертификат посредника 3” “сертификат посредника 2” “сертификат посредника 1” “корневой сертификат” > domain.ca-bundle
b. В Windows/DOS: copy “сертификат посредника 3” + “сертификат посредника 2” + “сертификат посредника 1” + “корневой сертификат” domain.ca-bundle
Другие вопросы из категории
Разбираемся в наборах файлов SSL сертификатов
Покупая SSL сертификат, чтобы перевести свой сайт на HTTPS, вы получаете определенный набор файлов сертификата, и не всегда с первого взгляда на этот список файлов, можно разобраться, а какой файл (содержимое) и куда вставить, чтобы все корректно прикрепить.
В этой инструкции мы постараемся подробно описать, какие файлы (названия сертификатов), вы можете получать от разных сертификационных центров, которые выпускают для вас SSL сертификат и последовательность файлов в которой нужно устанавливать сертификат.
Важно! Если у вас файлов сертификатов больше чем три файла в архиве, который вы получили, для дополнительных файлов жмем кнопку добавить поле и вставляем содержимое файла.
Установка сертификата от Comodo
По умолчанию, Центр сертификации отправляет корневой (Root) и промежуточный (Intermediate) сертификаты вместе с основным в архиве. Стоит отметить, что в архиве может быть не один, а несколько промежуточных сертификатов. Данный факт зависит от типа заказанного SSL сертификата. На текущий момент, Центр Сертификации предоставляет следующую цепочку сертификатов.
EV
- private.key — приватный ключ (вставлять в первое поле). Ключ вы генерируете сами вначале регистрации сертификата.
- name_domain.crt — сертификат для вашего домена (вставлять в второе поле).
- COMODOAddTrustServerCA.crt — промежуточный сертификат (вставлять в третье поле).
- COMODOExtendedValidationSecureServerCA.crt — промежуточный сертификат (вставлять четвертое поле).
- AddTrustExternalCARoot.crt — корневой сертификат (вставлять в пятое поле).
GoGetSSL Domain SSL
- private.key — приватный ключ (вставлять в первое поле). Ключ вы генерируете сами вначале регистрации сертификата.
- вашдомен.crt — сертификат для вашего домена (вставлять в второе поле).
- USERTrust_RSA_Certification_Authority.crt — промежуточный сертификат (вставлять в третье поле).
- AddTrust_External_CA_Root.crt — корневой сертификат (вставлять в четвертое поле).
Sectigo SSL
- private.key — приватный ключ (вставлять в первое поле). Ключ вы генерируете сами вначале регистрации сертификата.
- name_domain.crt — сертификат для вашего домена (вставлять в второе поле).
- AAA_Certificate-Services.crt — промежуточный сертификат (вставлять в третье поле).
- USERTrust_RSA_Certification_Authority.crt — промежуточный сертификат (вставлять в четвертое поле).
Sectigo
- private.key — приватный ключ (вставлять в первое поле). Ключ вы генерируете сами вначале регистрации сертификата.
- name_domain.crt — сертификат для вашего домена (вставлять в второе поле).
- AAACertificateServices.crt — промежуточный сертификат (вставлять в третье поле).
- USERTrustRSAAAACA.crt — промежуточный сертификат (вставлять в четвертое поле).
- SectigoRSADomainValidationSecureServerCA.crt — промежуточный сертификат (вставлять в пятое поле).
GoGetSSL от Comodo
- private.key — приватный ключ (вставлять в первое поле). Ключ вы генерируете сами вначале регистрации сертификата.
- name_domain.crt — сертификат для вашего домена (вставлять в второе поле).
- AAACertificateServices.crt — промежуточный сертификат (вставлять в третье поле).
- USERTrustRSAAAACA.crt — промежуточный сертификат (вставлять в четвертое поле).
- GoGetSSLRSADVCA.crt — промежуточный сертификат (вставлять в пятое поле).
GlobalSign DV SSL / Сертификат от Reg.ru
- Приватный RSA PRIVATE KEY — вставить в первое поле.
- Ваш SSL сертификат — вставить в второе поле.
- Промежуточный сертификат — вставить в третье поле.
- Корневой сертификат — добавьте четвертое поле и в него вставьте.
InstantSSL
- private.key — приватный ключ (вставлять в первое поле). Ключ вы генерируете сами вначале регистрации сертификата.
- name_domain.crt — сертификат для вашего домена (вставлять в второе поле).
- ComodoHigh-AssuranceSecureServerCA.crt — промежуточный сертификат (вставлять в третье поле).
- AddTrustExternalCARoot.crt — корневой сертификат (вставлять в четвертое поле).
ComodoSSL / ComodoSSL Wildcard
- private.key — приватный ключ (вставлять в первое поле). Ключ вы генерируете сами вначале регистрации сертификата.
- name_domain.crt — сертификат для вашего домена (вставлять в второе поле).
- ComodoSSLCA.crt — промежуточный сертификат (вставлять в третье поле).
- AddTrustExternalCARoot.crt — корневой сертификат (вставлять в четвертое поле).
EssentialSSL
- private.key — приватный ключ (вставлять в первое поле). Ключ вы генерируете сами вначале регистрации сертификата.
- name_domain.crt — сертификат для вашего домена (вставлять в второе поле).
- UTNAddTrustSGCCA.crt — промежуточный сертификат (вставлять в третье поле).
- ComodoUTNSGCCA.crt — промежуточный сертификат (вставлять в четвертое поле).
- EssentialSSLCA_2.crt — промежуточный сертификат (вставлять в пятое поле).
- AddTrustExternalCARoot.crt — корневой сертификат (вставлять в шестое поле).
В uCoz / uWeb ограничение всего на 5 полей, в данной ситуации вам придется написать в техподдержку с панели управления сайтом (предоставить им файлы сертификата) и вам прикрепит сертификат сотрудник техподдержки.
PositiveSSL
- private.key — приватный ключ (вставлять в первое поле). Ключ вы генерируете сами вначале регистрации сертификата.
- name_domain.crt — сертификат для вашего домена (вставлять в второе поле).
- PositiveSSLCA2.crt — промежуточный сертификат (вставлять в третье поле).
- AddTrustExternalCARoot.crt — корневой сертификат (вставлять в четвертое поле).
Comodo PositiveSSL
- private.key — приватный ключ (вставлять в первое поле). Ключ вы генерируете сами вначале регистрации сертификата.
- sitename_com.crt — сертификат для вашего домена (вставлять в второе поле).
- sitename_com.ca-bundle — промежуточный сертификат (вставлять в третье поле).
Comodo
- private.key — приватный ключ (вставлять в первое поле). Ключ вы генерируете сами вначале регистрации сертификата.
- name_domain.crt — сертификат для вашего домена (вставлять в второе поле).
- COMODORSADomainValidationSecureServerCA — промежуточный сертификат (вставлять в третье поле).
- COMODORSAAddTrustCA — промежуточный сертификат (вставлять в четвертое поле).
- AddTrustExternalCARoot — корневой сертификат (вставлять в пятое поле).
Comodo может предоставить файлы сертификата
- private.key — приватный ключ (вставлять в первое поле). Ключ вы генерируете сами вначале регистрации сертификата.
- name_domain.crt — сертификат для вашего домена (вставлять в второе поле).
- SectigoRSADomainValidationSecureServerCA — промежуточный сертификат (вставлять в третье поле).
- USERTrustRSAAddTrustCA — промежуточный сертификат (вставлять в четвертое поле).
- AddTrustExternalCARoot — корневой сертификат (вставлять в пятое поле).
Digi Sert может предоставить такие файлы
- key.txt — приватный ключ (вставлять в первое поле). Ключ вы генерируете сами вначале регистрации сертификата.
- sitename_ru_2022_10_13.crt — сертификат для вашего домена (вставлять в второе поле).
- intermediate_pem_thawte_ssl123_1.crt — промежуточный сертификат (вставлять в третье поле).
- root_pem_thawte_ssl123_1.crt — корневой сертификат (вставлять в четвертое поле).
Certbot предоставляет такой набор файлов
- cert.pem — сертификат домена (устанавливать в второе поле).
- chain.pem — промежуточный сертификат (устанавливать в третье поле).
- fullchain.pem (в этом файле у нас как сертификат домена так и промежуточный вместе).
- privkey.pem — ваш приватный ключ (устанавливать в первое поле).
При установке SSL сертификата, содержимое каждого из файлов нужно копировать вместе с текстом:
---BEGIN CERTIFICATE----- ---END CERTIFICATE-----
то есть не нужно отдельно выбирать что копировать, а что нет. Открыли файл текстовым редактором (блокнотом) Notepad и копируете все содержимое, далее вставляете в нужное поле.
- Что делать если забыли приватный ключ или просто утеряли или не сохранили на компьютер? Ознакомьтесь с материалом — Как восстановить Приватный ключ.