Pull to refresh

Нужен бесплатный SSL-сертификат? Легко

Reading time3 min
Views141K

Пришлось искать способ защитить домены в зонах RU, РФ...

Если вам нужен SSL-сертификат, но вы не являетесь специалистом в веб-технологиях, то эта заметка для вас. Описан простой способ выпуска базового SSL-сертификата Let’s Encrypt в ручном режиме, на локальном компьютере с Windows, с помощью приложения Certbot. Этот способ позволяет получить файлы SSL-сертификата в папку на своём локальном компьютере, после чего можно установить сертификат на свой хостинг.

Потребность в SSL-сертификатах возникла у меня в связи с тем, что срок старых истёк, а создать новые оказалось невозможным из-за возникших ограничений на доменные зоны RU и РФ. Если у вас такая же проблема или вам просто надоело искать веб-сервис для выпуска SSL-сертификатов, то эта заметка вам поможет.

Поскольку я пока не знаю наилучшего пути, то ниже просто опишу ту последовательность действий, которую сам выполнил и которая позволила мне создать SSL-сертификаты для десяти своих доменов (в том числе в зонах RU и РФ), а значит и вам этот способ может помочь.

Создание SSL-сертификата на локальном компьютере

  1. Установил на свой локальный компьютер (с операционной системой Windows 11) программу Certbot.

    Установочный файл Certbot взял с официального сайта здесь (см. ссылку на загрузку дистрибутива в п.3 на открывшейся по ссылке странице).

    Запустил скачанный установщик и в диалоге установки изменил адрес установки на: C:\Certbot

Работа с программой Certbot осуществляется через командную строку или PowerShell (я использовал PowerShell). На время выпуска сертификата, естественно, компьютер должен быть подключен к сети Интернет.

  1. Открыл PowerShell (х86) с правами администратора.

    Для этого нажал на кнопку "Пуск" и набирая первые буквы названия PowerShell увидел нужный пункт в результатах поиска, затем правым щелчком мыши по названию найденной программы открыл контекстное меню и в нём выбрал пункт "запуск от имени администратора".

  2. В окне PowerShell с помощью команд cd перешёл в каталог Certbot (вводил как показано на скриншоте и нажимал в конце строки клавишу Enter):

  1. Вставил из буфера обмена команду для создания сертификата (можете скопировать её из этой строки):

    certbot certonly --authenticator manual

    И нажал клавишу Enter.

    Перед нажатием Enter окно PowerShell выглядело с этой командой так:

  1. Система предложила ввести свой email (я ввёл), согласился с условиями (нажимая клавишу Y), в следующий раз программа на этом шаге уже не просила вводить email, а сразу предлагала ввести имена доменов (я вводил сразу по два – второй с www, через запятую):

  1. Программа попросила создать файл проверки прав на домен. При этом показано какую строку символов и в файл с каким именем поместить, по какому адресу на веб-сервере этот файл положить:

Поскольку я вводил по два доменных имени (обычное и с www), то после нажатия Enter программа точно так же просила создать ещё один проверочный файл.

С помощью Filezilla Client я создал нужные файлы по требуемому адресу, создав нужные директории. Выделенный текст из окна PowerShell можно копировать просто правым кликом, или привычным сочетанием клавиш Ctrl+C.

  1. Нажал клавишу Enter для создания сертификата, но только после того, как проверочные файлы на веб-сервере были созданы.

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

    C:\Certbot\archive\[имя домена]

    Если бы сертификат не был создан, то программа сообщила бы об ошибке.

Вот и всё, сертификаты готовы!

Для установки их на хостинг мне потребовались три файла из четырёх, из данной папки:

cert1.pem – сертификат
chain1.pem – промежуточный сертификат
privkey1.pem – приватный ключ

Эти файлы со своего компьютера не удаляйте, поскольку при следующем выпуске сертификатов (их приходится создавать заново каждые 90 дней) Certbot проверит их наличие и создаст рядом новые, со следующим порядковым номером. Для установки на хостинг нужно будет использовать, конечно, новые.

Ограничения

Через каждые 90 дней нужно перевыпускать сертификат заново.

P.S.:

Я ещё не озадачился тем, как автоматизировать описанный выше процесс (мне интересен перевыпуск сертификата именно на локальном компьютере с Windows). Было бы здорово, если бы знающий человек написал в комментариях как это сделать.

Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+13
Comments87

Articles

Change theme settings