Wildcard сертификаты от Let’s Encrypt

За всеми событиями в жизни как-то пропустил момент, когда Let’s Encrypt стали выдавать бесплатные «wildcard» сертификаты. Иными словами, вы можете получить один сертификат на свой основной домен и все его субдомены разом. Больше не нужно беспокоиться о том, что каждый раз при создании субдомена придется создавать и новый сертификат. Нужно будет просто в конфигурационном файле указать текущий.
В отличие от «стандартного» для генерирования сертификата «wildcard» нужно вручную прописать сервер для запросов. Команда будет выглядеть примерно так:

# certbot certonly --server https://acme-v02.api.letsencrypt.org/directory -d kini24.ru -d *.kini24.ru --agree-tos -m admin@kini24.ru --manual --preferred-challenges dns --must-staple --hsts --uir --staple-ocsp

Пройдемся по параметрам, чтобы было понятней:
—server — указывает на сервер, который мы хотим использовать для создания сертификата;
-d — указываем для каких доменов мы будем создавать сертификат. Советую вам первым указывать основной домен, а не его субдомены. Сэкономите немного времени;
—agree-tos — принимаем условия лицензионного соглашения;
-m — указываем свой адрес электронной почты. Он будет использоваться как логин;
—manual — используем «ручной» режим работы. Думаю, что можно было и не указывать, но я хотел проконтролировать процесс;
—preferred-challenges — указываем предпочтительный способ проверки, что именно вы имеете доступ к администрированию домена (являетесь его владельцем);
Остальные параметры не обязательны, можно их не указывать.
После ввода команды вас спросят не хотите ли вы получать новости от Electronic Frontier Foundation (EFF), основателя сервиса Let’s Encrypt. Ради интереса согласился, отписаться можно в любой момент. Затем был вопрос о том хочу ли я использовать указанный email в качестве логина. Соглашаемся. А вот дальше был один нюанс, который я поначалу не понял, но, в итоге, разобрался. Следующим шагом вас просят внести TXT-запись в ресурсные записи домена. Вносим и ждем, процесс занимает некоторое время. Обычно хватает 15 минут. Нажимаем Enter, чтобы скрипт проверил наличие записи. И вот тут он выдает точно такой же запрос на внесение записи TXT, но с другим значением. Это значение нужно также внести в ресурсные записи. Если быть точней, то первую запись нужно заменить на вторую. Этакая двойная проверка. Снова минуты ожидания и жмем Enter. Если проверка прошла, то сертификат будет создан.
Так как у меня также используется технология HPKP, то нужно еще и генерировать новые ключи для сертификата:

# openssl rsa -in /etc/letsencrypt/live/kini24.ru/privkey.pem -outform der -pubout | openssl dgst -sha256 -binary | openssl enc -base64

Вносим изменения в конфигурационный файл веб-сервера и перезапускаем его:

# systemctl restart httpd2
Отправить
Поделиться
1 комментарий
Владислав 2018

Добрый день,
если Вам интересно, Ваш сайт перестал открываться из-за HPKP (Firefox 60):
An error occurred during a connection to kini24.ru. The server uses key pinning (HPKP) but no trusted certificate chain could be constructed that matches the pinset. Key pinning violations cannot be overridden. Error code: MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE

Копытов Иван 2018

Да, знаю. Увы, но при смене сертификата сайт «падает», если применяется HPKP. Google вообще планирует от него (HPKP) отказаться.
Сейчас всё работает. Было не лишним очистить кэш браузера :-)