Заказ Let’s Encrypt’s wildcard SSL-сертификата

 

Заказ Let’s Encrypt’s wildcard сертификата будет рассмотрен на примере домена domain.ru.

На 20.07.2018 данный сертификат для домена domain.ru и поддоменов *.domain.ru можно было получить с помощью certbot или acme.sh (https://github.com/Neilpang/acme.sh)

Сертификаты действуют 3 месяца, подтверждаются ТОЛЬКО добавлением TXT записи для поддомена.

Для обновления сертификата надо каждый раз добавлять новые TXT записи для поддомена _acme-challenge, таким образом нельзя один раз добавить записи и забыть. Также доступно автообновление для DNS серверов с API, например https://github.com/joohoi/acme-dns — простой DNS сервер с REST API специально для ACME DNS challenge.

-Для получения сертификата с помощью acme.sh скачаем сам скрипт:

# sudo -s

# cd /home/tmp/

# wget -O -  https://get.acme.sh | sh

-Далее запускаем скрипт, вместо domain.ru и *.domain.ru подставлем нужные значения:

# cd /home/tmp/.acme.sh

# ./acme.sh --issue --force -d domain.ru -d *.domain.ru --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please | tee info.txt

перенаправление в info.txt осуществляется для сохранения вывода acme.sh

 

-Скрипт попросит добавить несколько TXT записей для поддомена _acme-challenge.domain.ru вида:

_acme-challenge  TXT "FwTeRruHwI8wQlCWMALxZcW2kNx1SOPKfsieLDqww_w"
_acme-challenge  TXT "IyLLwwLy1MBTf5oCi3Dkw8u13g0zTaGbgK-kYTOzLSw"

-Добавляем соответствующие записи вручную или с помощью скриптов/API. Проверяем корректность:

# dig TXT _acme-challenge.domain.ru

-Далее получаем сертификат:

# ./acme.sh --renew -d domain.ru -d *.domain.ru --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please  | tee certinfo.txt

перенаправление в certinfo.txt осуществляется для сохранения вывода acme.sh

 

-При успешном получении сертификата будет следующий вывод:

[Fri Jul 20 11:56:15 MSK 2018] Your cert is in  /home/tmp/.acme.sh/domain.ru/domain.ru.cer
[Fri Jul 20 11:56:15 MSK 2018] Your cert key is in  /home/tmp/.acme.sh/domain.ru/domain.ru.key
[Fri Jul 20 11:56:15 MSK 2018] The intermediate CA cert is in  /home/tmp/.acme.sh/domain.ru/ca.cer
[Fri Jul 20 11:56:15 MSK 2018] And the full chain certs is there:  /home/tmp/.acme.sh/domain.ru/fullchain.cer

-Сертификат получен, можем копировать его на веб или почтовые серверы.

 

 

Материалы:

https://github.com/Neilpang/acme.sh

https://tproger.ru/translations/ssl-certificate/

https://itc-life.ru/poluchaem-letsencrypt-wildcard-sertifikat/

http://strugglers.net/~andy/blog/2018/03/19/lets-encrypt-wildcard-certificates-acme-sh-and-automated-dns-verification/