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

Description: Прочии темы
Moderator: Aleksandr

Дим M
Topic author, Администратор
Администратор
Avatar
Дим M
Topic author, Администратор
Администратор
Posts: 1612
Joined: 5 Apr 2013
With us: 11 years 5 months

#1by Дим » 4 Oct 2022, 12:03

Так как Let's Encrypt: получение сертификата стало невозможно получить по причине... А пёс их знает что за причина. Но при попытке получить, получаем такое сообщение.
Страны с ограниченным доступом
Страны с ограниченным доступом
30 ноября 2020 года, 18:38
В настоящее время защищенные сертификаты любого типа не могут быть выданы физическим или юридическим лицам в следующих странах, на веб-сайтах или в следующих доменах верхнего уровня с кодом страны (TLD):

.af Афганистан
.by Республика Беларусь
.cu Куба
.er Эритрея
.gn Гвинея
.ir Исламская Республика Иран
.kp Корейская Народно-Демократическая Республика
.lr Либерия
.ru Российская Федерация
.ss Южный Судан
.su Советский Союз
.sy Сирийская Арабская Республика
.zw Зимбабве
Эти страны и ДВУ ограничены законами США об ограничении экспорта.
Короче очередные саКции мать их.
Но оказывается есть выход. Нашел на хабре статью, и по ней уже удалось создать сертификат для сайта РЕДКИЕ АВТОМОБИЛИ. Но мало что случится с той статьёй - просто делаю копипаст сюда.
Нужен бесплатный SSL-сертификат? Легко

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

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

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

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

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


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

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

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

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

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

Code: Select all

cd C:\
cd Certbot
cd bin
dir

В окне PowerShell с помощью команд cd.png
В окне PowerShell с помощью команд cd
В окне PowerShell с помощью команд cd.png (20.9 KiB) Viewed 1823 times


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

certbot certonly --authenticator manual

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

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

Перед нажатием Enter окно PowerShell.png
Перед нажатием Enter окно PowerShell
Перед нажатием Enter окно PowerShell.png (29.45 KiB) Viewed 1823 times


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

PowerShell ввести имена доменов.png
PowerShell ввести имена доменов
PowerShell ввести имена доменов.png (16.88 KiB) Viewed 1823 times


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

PowerShell по какому адресу на веб-сервере этот файл.png
PowerShell по какому адресу на веб-сервере этот файл
PowerShell по какому адресу на веб-сервере этот файл.png (132.52 KiB) Viewed 1823 times


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

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

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

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

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

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

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

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

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

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

Ограничения

Через каждые 90 дней нужно перевыпускать сертификат заново.
[center]i love you [s]mxIni[/s] Mysql[/center]


Return to “Прочее”

Who is online (over the past 5 minutes)

Users browsing this forum: 1 guest