Как сгенерировать сертификат Let’s Encrypt Wildcard SSL

Это руководство посвящено тому, как сгенерировать сертификат Let’s Encrypt Wildcard SSL. Как вы, возможно, уже знаете, Letsencrypt объявила о выпуске ACME v2 API, который теперь готов к производству. Одной из функций, которую ждали люди, является поддержка Wildcard сертификатов, которая отсутствовала в ACME v1.

В этом руководстве я покажу вам процесс генерации SSL-сертификата Let’s Encrypt с подстановочным знаком для использования в ваших веб-приложениях, подтвержденного вручную с помощью DNS. Конечные пользователи могут начать выдавать доверенные, готовые к производству сертификаты своим клиентам, совместимым с ACME v2, используя следующий URL-адрес каталога:

https://acme-v02.api.letsencrypt.org/directory

Обратите внимание, что вы должны использовать совместимый с ACME v2 клиент для доступа к этой конечной точке. Вы можете обратиться к нашему список совместимых с ACME v2 клиентов.Ezoic

Установите certbot auto ACME

Выполните следующую команду для установки клиента certbot ACME v2, который мы будем использовать для получения ssl-сертификата с диким знаком.

# Ubuntu / Debian
sudo apt update
sudo apt install certbot

# Fedora
sudo dnf install certbot

# CentOS 8
sudo dnf -y install epel-release
sudo dnf -y install certbot

# CentOS 7
sudo yum -y install epel-release
sudo yum -y install certbot

Генерация SSL-сертификатов с диким знаком Let’s Encrypt

Я сгенерирую сертификат Wildcard для *.unixs.ru. Одним из требований является доступ к DNS-менеджеру для проверки владения доменом путем добавления сгенерированной TXT-записи.Ezoic

Ezoic

Выполните приведенную ниже команду, чтобы запустить процесс запроса сертификата;

certbot certonly --manual -d 'example.com,*.example.com'  --agree-tos \
--no-bootstrap --manual-public-ip-logging-ok --preferred-challenges dns-01 \
-m  your-email-address  \
--server https://acme-v02.api.letsencrypt.org/directory

Вы должны получить результат, аналогичный приведенному ниже:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for unixs.ru

-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.unixs.ru with the following value:

UGa2-db4b-gj9aWAmS8UCnctThIMgRTWAWSeCK_zLVPAfaz6lvQ

Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue

Это даст вам TXT-запись для добавления в ваш DNS, для меня это запись:

Name_acme-challenge.example.com 
TXT record: UGa2-db4b-gj9aWAmS8UCnctThIMgRTWAWSeCK_zLVPAfaz6lvQ

Вы можете проверить распространение записи с помощью команды dig в отдельной сессии оболочки.

 $ dig TXT _acme-challenge.unixs.ru 

; <<>> DiG 9.10.6 <<>> TXT _acme-challenge.unixs.ru @1.1.1.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1778
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;_acme-challenge.unixs.ru. IN TXT

;; ANSWER SECTION:
_acme-challenge.unixs.ru. 300 IN TXT "UGa2-db4b-gj9aWAmS8UCnctThIMgRTWAWSeCK_zLVPAfaz6lvQ"

;; Query time: 204 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
;; WHEN: Tue Feb 06 12:43:50 EAT 2024
;; MSG SIZE  rcvd: 122

После того как это будет сделано и запись будет заполнена, нажмите кнопку введите для продолжения. При успешной генерации вы должны получить результат, как показано ниже:

Before continuing, verify the TXT record has been deployed. Depending on the DNS
provider, this may take some time, from a few seconds to multiple minutes. You can
check if it has finished deploying with aid of online tools, such as the Google
Admin Toolbox: https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.unixs.ru.
Look for one or more bolded line(s) below the line ';ANSWER'. It should show the
value(s) you've just added.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/unixs.ru/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/unixs.ru/privkey.pem
This certificate expires on 2024-05-06.
These files will be updated when the certificate renews.

NEXT STEPS:
- This certificate will not be renewed automatically. Autorenewal of --manual certificates requires the use of an authentication hook script (--manual-auth-hook) but one was not provided. To renew this certificate, repeat this same certbot command before the certificate's expiry date.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

В результате вы получите полный путь к файлу закрытый ключ и сертификат файл. Теперь вы можете использовать сертификат в своих приложениях.

Продление сертификатов Let’s Encrypt Wildcard SSL

Чтобы проверить срок действия сертификатов, выполните следующие действия:

$ sudo certbot certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: unixs.ru
    Serial Number: 4ba0899d212539b77542909ddd89683b141
    Key Type: RSA
    Domains: unixs.ru *.unixs.ru
    Expiry Date: 2024-05-06 08:48:43+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/unixs.ru/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/unixs.ru/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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

 

certbot certonly -d 'example.com,*.example.com' \
--server https://acme-v02.api.letsencrypt.org/directory \
--manual \
--agree-tos  \
--preferred-challenges dns

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *