Перейти к основному содержанию

Let's Encrypt — вручную выпускаем сертификат WildСard через win-acme

let's encrypt

Let’s Encrypt — это бесплатный, автоматизированный и открытый Центр Сертификации. Это значит, что вы можете для своего сайта установить и автоматизировать обновление SSL сертификата, чтобы ваш сайт работал по HTTPS протоколу. Наш сайт тоже работает с сертификатом Let’s Encrypt.

Let’s Encrypt позволяет автоматизировать выпуск сертификатов. Однако, если вы ходите выпустить WildCard сертификат, то автоматически этого сделать может не получиться. Дело в том, что подтверждение владение ресурсом для WildСard сертификатов должно осуществляться по DNS, и не все DNS серверы это поддерживают.

Утилиту win-acme берём здесь:

https://github.com/PKISharp/win-acme/releases

acme

Открываем под администратором PowerShell и запускаем.

wacs.exe --store pemfiles --pemfilespath C:\distrib\ACME\Cert

В папке C:\distrib\ACME\Cert будут сохраняться наши ключи и сертификаты.

ssl

Утилита запускается.

ssl

Дальше читаем, думаем, выбираем нужные пункты меню. Я подробно объяснять не буду почему я выбрал тот или иной вариант, просто укажу что нажал.

Нас интересует пункт M: Create certificate (full options).

M
ssl

Выбираем 2: Manual input.

2
ssl

Просят указать домен. Сначала указываем WildCard, затем через запятую обычный домен.

*.internet-lab.ru, internet-lab.ru
ssl

Можно указать название, это не обязательно, нажимаем Enter.

ssl

Выбираем 4: Single certificate.

4
ssl

Будем DNS править вручную, выбираем 6: [dns] Create verification records manually (auto-renew not possible).

ssl

Выбираем 2: RSA key.

ssl

Выбираем 2: PEM encoded files (Apache, nginx, etc.).

ssl

Предлагают указать путь для сохранения, но мы его уже указали аргументом, так что нажимаем Enter.

ssl

Пароль не будем ставить, выбираем 1: None.

1
ssl

Не будем сохранять в другое место, поэтому выбираем 5: No (additional) store steps.

ssl

Выбираем 3: No (additional) installation steps.

ssl

И вот теперь пришла пора подтвердить владение доменом. Нас просят создать в DNS текстовую TXT запись _acme-challenge.internet-lab.ru, содержимое: 3iilBzpHeh0Tv1iAa9668Q0nj-VBpRMQxPuytyc5oqY.

У меня DNS сервер крутится в Cloudflare.

Перенос DNS в CloudFlare

ssl

Добавляю соответствующую запись в DNS. В скрипте нажимаю Enter.

ssl

Скрипт не смог найти на нескольких DNS резолверах нужную запись, это нормально, подождём. Через пару минут выбираем пункт 1: Retry check.

1
ssl

Пока ничего, ждём... хотя, давайте в DNS уменьшим TTL.

ssl

Делаем TTL 1 минута.

ssl

Упс, я опечатался в имени поддомена, добавив лишний знак подчёркивания. Исправляю.

Продолжаем в скрипте делать проверки.

ssl

С очередной попытки скрипт нашёл нашу запись в DNS и просит её удалить. Повременим с удалением, нажимаем Enter.

ssl

Нас просят снова создать в DNS текстовую TXT запись _acme-challenge.internet-lab.ru, с другим содержимым: zYwDMk_DmTnMF22oRjpA9dM6AdKRK016PxyQoH6A-_Q. Это потому что мы запросили и Wildcard и, через запятую, обычный домен. Правильно что запросили, иначе сертификат будет работать на всех поддоменах, а на основном домене работать не будет.

Редактируем _acme-challenge.internet-lab.ru или добавляем заново, если удалили.

ssl

Продолжаем в скрипте делать проверки.

SSL

Пока верная запись не найдена.

SSL

В очередной раз запись находится. Нас просят удалить её.

SSL

Удаляем. Затем в скрипте наживаем Enter.

SSL

Сертификат выпускается и скачивается. Выход.

Q

Находим сертификат его в директории C:\distrib\ACME\Cert.

SSL
  • _.internet-lab.ru-crt.pem — сертификат
  • _.internet-lab.ru-key.pem — ключ
  • _.internet-lab.ru-chain.pem — сертификат с цепочкой
  • _.internet-lab.ru-chain-only.pem — цепочка

Проверим.

SSL

Действительный сертификат.

SSL

Выпущен на три месяца.

SSL

Работает для основного домена и всех поддоменом.

Задача выполнена.

Теги

 

Похожие материалы

Nginx — включаем постквантовую криптографию в Ubuntu 22

Постквантовая криптография (Post-Quantum Cryptography) — 'новые математические алгоритмы шифрования, которые останутся устойчивыми даже когда появятся достаточно мощные квантовые компьютеры.

Zabbix — срок действия SSL сертификата (2)

Сегодня напишем скрипт для мониторинга срока действия SSL сертификатов наших сайтов. Этот мониторинг пригодится многим. Системным администраторам в крупных компаниях, чтобы не пропустить момент перевыпуска сертификатов. Особенно, если количество сайтов — сотни. Владельцам собственных сайтов. Многие пользуются сервисом Let's Encrypt, особенностью сертификатов которого является короткий срок жизни. Если автоматика обновления сертификатов выйдет из строя, то мониторинг SSL сертификатов поможет выявить проблему до того, как она себя проявит.

Теги