Для меня осень – пора продления сертификатов для различных сервисов компании. Не так давно мне нужно было обновить сертификат на одном из веб-ресурсов. Каждый год я проделываю практически одну и ту же последовательность действий и каждый раз мне встречаются какие-то новые подводные камни, ошибки, которых раньше не было и другие не очень приятные моменты. И это несмотря на всю простоту процесса. С этого момента любые отклонения от привычного простого порядка действий я буду фиксировать в этой статье.
Подробнее о цифровых сертификатах вы можете прочитать в основной статье тематики – Цифровые сертификаты.
Сертификат Apache от доверенного ЦС
Для начала рассмотрим сам процесс продления сертификата.
Раз речь зашла о продлении, значит сам сертификат у нас имеется, есть и закрытый ключ к нему, который конечно же никому не показывается и хранится в надежном месте. Так уж исторически сложилось, что сертификаты мы покупали всегда у Comodo 1 через ЛидерТелеком 2 (не сочтите за рекламу). Для вводных данных этого достаточно, перейдем к делу:
Первым делом звоним нашему менеджеру и говорим о желании продлить сертификат. Он вам должен сказать, что, в связи с использованием Apache, нет необходимости заново генерировать запрос на получение сертификата (файл с расширением .csr), а можно использовать тот, который у вас остался с самого начала. Это упрощает процесс с технической точки зрения. На данный момент остается пройти проверку владения доменом 3 и проверку организации 4. Для проверки владения доменом вам на почту будет отправлено письмо:
Переходим по ссылке и вводим код из письма:
Дальше нужно пройти проверку организации, все как при первом запросе сертификата: получаем письмо, переходим по ссылке, вводим код, заказываем звонок:
Есть некоторые нюансы, которые обязательно нужно знать:
- Как работ узнает на какой номер звонить? Все просто: ваша организация должна быть зарегистрирована на желтых страницах. Где именно или где лучше – уточните у менеджера (в моем случае это был yell.ru 5);
- Робот умеет звонить на добавочный номер. Эта функция появилась не так давно (по крайней мере у Comodo) и в некоторых случаях способная значительно облегчить жизнь;
- На пути робота не должно быть голосовых меню (если голосовое меню все же есть, то указывайте внутренний номер абонента, см. пункт 2);
- Робот достаточно шустрый – иногда между нажатием кнопки и звонком проходит менее 5 секунд;
- Даже если у робота выберете русский язык, он все равно будет говорить на английском;
- Робот спросит заказывали вы сертификат или нет. Если заказывали, нажмите “1”. Проверочный код повторит два раза.
После проверки вы получите ваш сертификат и документы для оплаты. Дальше переходим к установке сертификата на веб-сервер.
Если вы копируете содержимое сертификата вручную в новый файл (как это делал я), то важно, чтобы после —–BEGIN CERTIFICATE—– был переход на новую строку. У меня скопировалось неправильно и сервер не запускался, сохраняя в логах следующую информацию:
[error] Init: Unable to read server certificate from file /etc/ssl/certs/2015.portal.scout-gps.ru.crt
[error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[error] SSL Library Error: 218595386 error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error
Расположение лог-файлов апача по умолчанию 6 в Debian:
/var/log/apache2/error.log
Для надежности можно скопировать сами файлы на сервер, но я привык копировать содержимое, на этом и попался.
Добавляем привязку сертификатов. По умолчанию в файле:
/etc/apache2/sites-enabled/default-ssl
Строчки:
SSLCertificateFile /etc/ssl/certs/cert.crt #ваш сертификат
SSLCertificateKeyFile /etc/ssl/private/cert.key #закрытый ключ сертификата
SSLCertificateChainFile /etc/ssl/certs/cert.ca-bundle #содержит корневой и промежуточный сертификаты вашего центра сертификации
Разумеется путь и имя файлов используйте свои.
Перезапускаем апач, проверяем работу. Если вы заходили на сайт до этого, у вас может быть закэширован старый сертификат.
Notes:
- Comodo ↩
- ЛидерТелеком ↩
- Проверку владения доменом придется пройти в любом случае, чтобы доказать тот факт, что домен действительно принадлежит вам ↩
- А вот с проверкой организации дела обстоят немного по-другому. Эту проверку можно и не проходить, если вам не нужно указание в сертификате данных вашей организации. Эти данные указываются в поле “Субъект” сертификата и не влияют ни на что другое ↩
- yell.ru ↩
- Apache Log Files ↩