Скачать сертификаты ssl для windows

Время на прочтение
3 мин

Количество просмотров 106K

Пришлось искать способ защитить домены в зонах 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). Было бы здорово, если бы знающий человек написал в комментариях как это сделать.

Получение бесплатного SSL сертификата Let’s Encrypt

Обновлено Обновлено:
Опубликовано Опубликовано:

Тематические термины: Let’s Encrypt, CentOS, Ubuntu

Процесс в данной статье описан на примере систем Linux CentOS, Ubuntu (Debian) и Windows. Настройка выполняется в несколько шагов.

Условия получения
Проверка права на домен
    Используя веб-сервер
    С помощью NS
Установка утилиты для запроса сертификата
    Certbot (Linux)
    LetsEncrypt-Win-Simple (Windows)
Получение сертификата вручную
    На Linux
    На Windows
Автоматическое продление
    Linux
    Windows
Получение Wildcard
Полезные команды
Экспорт сертификатов в Windows с закрытым ключом
Let’s Encrypt для Exchange

Возможные ошибки
Читайте также

Условия получения бесплатного сертификата от Let’s Encrypt

Прежде чем начать, необходимо знать о некоторых нюансах получения сертификата Let’s Encrypt:

  • При запросе выполняется проверка домена. Для этого необходимо:
    1. либо создать TXT-запись в DNS.
    2. либо поднять веб-сервер, далее в его корне создается каталог .well-known, а в нем файл с произвольным названием. После корневой центр отправляет запрос серверу на загрузку данного файла и, в случае успеха, выдает сертификаты для указанного доменного имени.
  • SSL-сертификат выдается на 90 дней, поэтому необходимо по расписанию запускать команду на автоматическое продление ключа. Когда проходит 60 дней после начала использования нового сертификата, центр Let’s Encrypt может выдать новый.
  • Если выполнять запрос для домена 3 уровня и выше, он должен пройти DNS проверку на всех уровнях. Например, домен layer3.layer2.com должен отвечать на запросы как для layer3.layer2.com, так и для layer2.com.

Проверка домена

Как было сказано выше, для получения бесплатного сертификата, Let’s Encrypt должен удостовериться, что мы являемся владельцем домена. Свое право на его владение мы можем подтвердить, создав специальную TXT-запись или настроив веб-сервис, который будет отвечать на запросы.

Настройка веб-сервера

Данный способ немного сложнее для Linux (для Windows все настройки делает утилита автоматически), но позволяет без проблем настроить автоматическое продление.

Запрашивать сертификат Let’s Encrypt проще всего с веб-сервера, на котором запущен сайт для домена. Возможен альтернативный вариант с монтирование сетевой папки, но его рассматривать не будем.

Linux NGINX

Пример простого конфигурационного файла для NGINX:

server {
    listen       80;
    server_name  dmosk.ru;
    root   /usr/share/nginx/html;
}

* где dmosk.ru — домен, для которого работает сайт и для которого мы будем запрашивать сертификат; /usr/share/nginx/html — путь по умолчанию для nginx.

Если сервер уже используется для сайта, в секцию server добавляем:

location ~ /.well-known {
    root /usr/share/nginx/html;
    allow all;
}

* данными строчками мы говорим, что для всех запросов после /.well-known необходимо отдавать скрипты из каталога /usr/share/nginx/htmlallow all предоставляет доступ всем.

При необходимости выполнять проверку и использовать rewrite/return, добавляем что-то подобное:

    …
    location ~ /.well-known {
        root /usr/share/nginx/html;
        allow all;
    }
    if ($uri !~ /.well-known){
        return 301 https://$host$request_uri;
    }

После проверяем конфигурацию и перезапускаем nginx:

nginx -t && nginx -s reload

Linux Apache

Создаем общий конфигурационный файл, в котором пропишем алиас.

а) для CentOS:

vi /etc/httpd/conf.d/lets.conf

б) для Ubuntu / Debian:

vi /etc/apache2/conf-enabled/lets.conf

Со следующим содержимым:

Alias /.well-known/acme-challenge/ /var/www/html/.well-known/acme-challenge/

* в данном примере, запросы для страниц /.well-known/acme-challenge всех сайтов мы переводим в каталог /var/www/html/.well-known/acme-challenge.

Проверяем корректность конфигурационного файла:

apachectl configtest

И перезапускаем apache:

systemctl restart httpd || systemctl restart apache2

Windows

IIS должен отвечать на http-запрос до доменному имени, для которого мы планируем получить сертификат. Также в его настройках мы должны сделать привязку узла, для которого хотим получить сертификат к конкретному сайту. Для этого в консоли управления IIS раскрываем сайты и выбираем нужный нам (в данном примере, он всего один):

Выбираем сайт в консоли IIS

В меню справа кликаем по Привязки:

Переходим к настройкам привязок сайта

Изменяем привязку для имеющийся записи и, при необходимости, добавляем еще:

Настраиваем привязки сайта

Применяем настройки и закрываем консоль управления IIS.

С помощью записи в DNS

Данный метод проще, описанного выше, но он позволит настроить автоматическое продление сертификата только для некоторых DNS, для которых есть отдельные certbot-плагины. Поэтому данный способ, в большинстве случаев, будет удобен для проведения тестов.

У нас должна быть возможность управления записями в DNS. На данном этапе достаточно просто зайти в панель управления DNS и перейти к этапу получения сертификата (ниже по тексту). Если домен новый и был только-что делегирован на DNS, возможно, придется подождать, пока он не станет доступен для всех серверов DNS в глобальной сети.

Установка утилиты для получения сертификата

Certbot для Linux

1) Rocky Linux:

dnf install epel-release

dnf install certbot

2) на CentOS 8:

dnf —enablerepo=powertools install certbot

3) на CentOS 7:

yum install certbot

4) на Ubuntu 16.04 и выше, а также Debian:

apt update

apt install certbot

5) Astra Linux:

Для астры не нашел репозитория установки certbot, но есть решение хоть и не красивое, но рабочее.

Загружаем deb-файлы для debian 10:

wget http://ftp.de.debian.org/debian/pool/main/p/python-certbot/certbot_0.31.0-1+deb10u1_all.deb

wget http://ftp.de.debian.org/debian/pool/main/p/python-certbot/python3-certbot_0.31.0-1+deb10u1_all.deb

Пробуем установить python3-certbot:

dpkg -i python3-certbot_0.31.0-1+deb10u1_all.deb

Если мы получим ошибку зависимостей, например:

dpkg: зависимости пакетов не позволяют настроить пакет python3-certbot:
 python3-certbot зависит от python3-acme (>= 0.29.0~), однако:
  Пакет python3-acme не установлен.
 python3-certbot зависит от python3-configargparse (>= 0.10.0), однако:
  Пакет python3-configargparse не установлен.
 python3-certbot зависит от python3-josepy, однако…

… выполняем команду:

apt install -f

Также мы можем посмотреть список зависимостей командой:

dpkg -I python3-certbot_0.31.0-1+deb10u1_all.deb

Будет выполнена установка зависимостей. После устанавливаем скачанные пакеты:

dpkg -i python3-certbot_0.31.0-1+deb10u1_all.deb

dpkg -i certbot_0.31.0-1+deb10u1_all.deb

6) на CentOS 6 или Ubuntu 14.04 / 12.04:

Создадим каталог, в котором будет храниться утилита и переходим в него:

mkdir /opt/certbot

cd /opt/certbot

Загружаем утилиту и разрешаем ее запуск:

wget https://raw.githubusercontent.com/certbot/certbot/7f0fa18c570942238a7de73ed99945c3710408b4/letsencrypt-auto-source/letsencrypt-auto -O /opt/certbot/letsencrypt-auto

chmod a+x ./letsencrypt-auto

Для удобства, делаем симлинк:

ln -s /opt/certbot/letsencrypt-auto /usr/local/sbin/certbot

Запустим команду:

certbot

При первом запуске certbot он автоматически предложит доустановить необходимые зависимости — соглашаемся.

LetsEncrypt-Win-Simple для Windows

На сайте GitHub скачиваем win-acme pluggable для нужной разрядности операционной системы:

Скачиваем win-acme pluggable для Windows x32 или x64

Раcпаковываем скачанный архив в любую папку.

Первое получение сертификата

Linux

1. Если мы подтверждаем право на домен при помощи веб-сервера, выполняем команду с таким синтаксисом:

certbot certonly —webroot —agree-tos —email <почта администратора домена> —webroot-path <путь до каталога с файлами проверки> -d <домен 1> -d <домен 2> -d …

* где:

  • certonly — запрос нового сертификата;
  • webroot — проверка будет выполняться на основе запроса к корню сайта;
  • agree-tos — даем согласие на лицензионное соглашение;
  • email — почтовый адрес администратора домена;
  • webroot-path — каталог в системе Linux, который является корневым для сайта;
  • d — перечисление доменов, для которых запрашиваем сертификат.

а) Пример запроса при использовании веб-сервера NGINX:

certbot certonly —webroot —agree-tos —email postmaster@dmosk.ru —webroot-path /usr/share/nginx/html/ -d dmosk.ru -d www.dmosk.ru

б) Пример запроса при использовании веб-сервера Apache:

certbot certonly —webroot —agree-tos —email postmaster@dmosk.ru —webroot-path /var/www/html/ -d dmosk.ru -d www.dmosk.ru

После успешного выполнения команды, сертификаты будут созданы в каталоге /etc/letsencrypt/archive/dmosk.ru, а также симлинки на них в каталоге /etc/letsencrypt/live/dmosk.ru. При настройке приложений, стоит указывать пути до симлинков, так как при обновлении файлы в первом каталоге будут меняться, во втором — нет. Публичный ключ будет с именем cert.pem, а приватный — privkey.pem.

2. При подтверждении права на домен с TXT-записью:

certbot certonly —manual —agree-tos —email postmaster@dmosk.ru —preferred-challenges=dns -d dmosk.ru -d www.dmosk.ru

* где:

  • certonly — запрос нового сертификата;
  • manual — проверка домена вручную.
  • preferred-challenges — указывает метод проверки домена.
  • agree-tos — даем согласие на лицензионное соглашение;
  • email — почтовый адрес администратора домена;
  • d — перечисление доменов, для которых запрашиваем сертификат.

На запрос подтверждения отвечаем Y — система выдаст что-то на подобие:

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

W2SC9b88y2j2oUjhxVgS7Bphph9g5PqhkBq9KiWkLTm

Once this is deployed,

* Данное сообщение говорит, что мы должны создать TXT-запись _acme-challenge.dmosk.ru со значением W2SC9b88y2j2oUjhxVgS7Bphph9g5PqhkBq9KiWkLTm.

Создаем соответствующую запись в панели управления DNS, и в консоли сервера нажимаем Enter для продолжения. Если, как в данном примере, мы запрашиваем сертификат для нескольких узлов, повторяем действия.

Windows

Открываем командную строку от администратора и переходим в распакованный каталог. Например, если архив распакован на диск C, выполняем:

cd C:\win-acme.v2.1.6.773.x64.pluggable

* где 2.1.6.773.x64 — моя версия утилиты.

Запускаем wacs:

wacs.exe

Если запускаем в Powershel, то так:

.\wacs.exe

Утилита формирует бинарный сертификат для Windows, но если мы хотим получить файлы в формате pem, вводим:

wacs.exe —store pemfiles —pemfilespath C:\Certificates

* где pemfilespath — путь до каталога, в котором должны оказаться файлы сертификата.

Откроется меню с выбором действия — вводим N, чтобы создать новый сертификат:

Начальная меню win-acme

Обратите внимание, что в зависимости от версии win-acme, некоторые пункты могут отличаться. Внимательно просмотрите варианты.

Выбираем сайт в IIS, который отвечает на запросы нашего домена (в нашем случае, это единственный Default Web Site, то есть 1):

Выбираем сайт для которого хотим получить сертификат

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

Выбираем все привязки

Вводим email адрес и подтверждаем корректность данных:

Вводим почтовый адрес для уведомлений

Утилита создаст необходимый каталог для проверки домена, запросит проверку, получит сертификат, добавит привязку к сайту по 443 порту с добавлением полученного сертификата и создаст в планировщике задание на автоматическое продление сертификата.

Автоматическое продление

Утилита certbot позволяет выполнить обновление сертификата в автоматическом режиме. В зависимости от операционной системы, инструменты различаются.

Linux

Смотрим полный путь до скрипта certbot:

which certbot

Открываем на редактирование cron и добавляем следующее:

crontab -e

Если система вернет ошибку crontab: command not found, устанавливаем пакет cron и запускаем сервис.

а) Для deb-систем:

apt install cron

systemctl start cron

systemctl enable cron

б) Для rpm-систем:

yum install cronie

systemctl start crond

systemctl enable crond

Прописываем строки в зависимости от нашей системы Linux.

а) для Ubuntu / Debian / Rocky Linux:

0 0 * * 1,4 /usr/bin/certbot renew —noninteractive

б) для CentOS:

0 0 * * 1,4 /bin/certbot renew —noninteractive

* в данном примере проверка и продление сертификата будет выполняться по понедельникам и четвергам (1,4) в 00:00. /usr/bin/certbot или /bin/certbot — путь, который мне выдала команда which certbot.

Команда certbot renew проверяет для всех наших сертификатов срок окончания, и если осталось менее 30 дней, запрашивает новый, сохраняет его в каталоге /etc/letsencrypt/archive/<домен> и обновляет симлинк.

Стоит иметь ввиду, что многие приложения, использующие сертификат, потребуют перезапуска, чтобы перечитать его. Поэтому хорошей идеей будет не просто обновлять сертификат, но и перезапускать сервис, который использует сертификат. Например, для NGINX:

systemctl reload nginx

Однако, нам нужно, чтобы это происходило автоматически. Для этого открываем файл:

vi /etc/letsencrypt/cli.ini

И добавляем строку:


deploy-hook = systemctl reload nginx

Windows

Настройка задания на автоматическое продление создается при получении сертификата. Проверить задание можно в планировщике заданий Windows:

Задание в планировщике Windows для автоматического продления сертификата

Wildcard

С марта 2018 года появилась возможность получить бесплатный сертификат на все поддомены, например, mail.dmosk.ru, test.dmosk.ru, admin.dmosk.ru (*.dmosk.ru).

Особенности получения Wildcard от Let’s Encrypt:

  1. Подтвердить право использования доменом можно только с помощью DNS — таким образом, затрудняется процесс автоматического продления. Нужно использовать плагины, которые позволяют автоматически создавать нужную запись на DNS, но они доступны далеко не для всех поставщиков услуг DNS. В противном случае, обновлять Wildcard нужно вручную.
    Также, некоторые панели управления хостингом, например ISP Manager с версии 5 могут управлять процессом получения Wildcard от Let’s Encrypt с возможностью автоматического продления (но необходимо, чтобы домен обслуживался на данном хостинге).
  2. Время действия сертификата также ограничено 3 месяцами.

Certbot

Необходимо, чтобы версия утилиты certbot была 0.22.0 и выше. Проверить текущую версию можно командой:

certbot —version

… если версия ниже, обновляем ее командами:

а) для CentOS / Red Hat:

yum update certbot

б) для Ubuntu / Debian: 

apt update

apt install —only-upgrade certbot

Процесс получения

Процесс очень похож на процесс получения сертификата с подтверждением домена в DNS.

Вводим команду:

certbot certonly —manual —agree-tos —email master@dmosk.ru —server https://acme-v02.api.letsencrypt.org/directory —preferred-challenges=dns -d dmosk.ru -d *.dmosk.ru

* обратим внимание на 2 детали: 1) мы добавили опцию server, чтобы указать, на каком сервере Let’s Encrypt должна проходить проверка DNS; 2) мы получаем сертификат как для *.dmosk.ru, так и самого dmosk.ru, так как первое не включает второго.

… система попросит создать TXT-запись в DNS, который обслуживает наш домен:

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

DN8ovKFJ0leLQV9ofZ81mYKxojwIaed5g6f0bXZCYiI

Before continuing, verify the record is deployed.
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

* в данном примере система попросила создать TXT-запись _acme-challenge.dmosk.ru со значением DN8ovKFJ0leLQV9ofZ81mYKxojwIaed5g6f0bXZCYiI.

Заходим в панель управления DNS и создаем нужную запись. Если у нас свой сервер DNS, например, bind, то строка будет такой:

; TXT
_acme-challenge IN      TXT     DN8ovKFJ0leLQV9ofZ81mYKxojwIaed5g6f0bXZCYiI

Не торопимся нажимать Enter — после настройки DNS нужно немного времени (пару минут), чтобы настройка применилась. Проверить появление записи можно командой с рабочего компьютера:

nslookup -type=txt _acme-challenge.dmosk.ru 8.8.8.8

Как только видим, что настройки применились, нажимаем Enter — если это наш первый запрос Wildcard для данного домена, то система нас попросит создать еще одну запись — повторяем процедуру, создав в DNS вторую запись TXT.

Если все сделали правильно, то увидим:

IMPORTANT NOTES:
 — Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/dmosk.ru/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/dmosk.ru/privkey.pem
   Your cert will expire on 2019-09-05. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   «certbot renew»
 — 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

… сертификат получен.

Полезные команды

Рассмотрим некоторые полезные команды утилиты certbot для работы с сертификатами Let’s Encrypt.

1. Показать группы сертификатов:

certbot certificates

2. Удалить сертификат:

certbot delete dmosk.ru

После получения сертификата мы не сможем экспортировать его с закрытым ключом. Мы можем изменить поведение, открыв файл settings.json в распакованном каталоге win-acme. Находим параметр PrivateKeyExportable и задаем ему значение:

«PrivateKeyExportable»: true,

После обновляем сертификат:

.\wacs.exe —renew —force

Или без обновления сертификата мы можем найти файл .pfx в каталоге: %programdata%\win-acme\$baseuri$\certificates.

Пароль для pfx можно найти в интерактивном меню wacs:

Manage Renewals > Show details

Сертификат Let’s Encrypt для почтового сервера MS Exchange

В комплекте установленного нами LetsEncrypt-Win-Simple для Windows идет скрипт ImportExchange.v2.ps1. Он нужен для импорта сертификата в конфигурацию почтового сервера MS Exchange.

Для начала создадим каталог, куда будет выгружен сертификат. В моем примере я воспользуюсь путем C:\SSL.

Допустим, что адрес подключения к серверу будет exchange.dmosk.ru. Тогда получить сертификат и импортировать его в Exchange можно командой:

wacs.exe —source manual —host exchange.dmosk.ru,autodiscover.dmosk.ru —store centralssl,certificatestore —certificatestore My —acl-fullcontrol «network service,administrators» —centralsslstore «C:\SSL» —installation iis,script  —installationsiteid 1 —script «./Scripts/ImportExchange.v2.ps1» —scriptparameters «‘{CertThumbprint}’ ‘IIS,SMTP,IMAP’ 1 ‘{CacheFile}’ ‘{CachePassword}’ ‘{CertFriendlyName}'»

* данная команда запросит сертификат для узлов exchange.dmosk.ru и autodiscover.dmosk.ru, сохранит нужные файлы в каталоге C:\SSL и импортирует полученные ключи в Microsoft Exchange Server.

Если мы запускаем команду в оболочке PowerShel, клманда должна начинаться с:

.\wacs.exe …

После успешного выполнения команды, заходим в консоль управления сервером, переходим на вкладку управления сертификатами. В списке мы должны увидеть полученную последовательность от Let’s Encrypt. Кликаем по ней и назначаем сертификат для нужных служб Exchange (как правило, SMTP, IIS).

Возможные ошибки

Рассмотрим некоторые ошибки, с которыми мы можем столкнуться.

Missing command line flag or config entry for this setting

Ошибка появляется при попытке обновить сертификат для одного или нескольких доменов.

Причина: при обновлении сертификата, утилита certbot ищет настройки в конфигурационном файле /etc/letsencrypt/renewal/<имя домена>.conf. Если в данном файле не будет определена конфигурация для webroot_map, мы получим данную ошибку.

Решение:

Открываем конфигурационный файл для домена, например:

vi /etc/letsencrypt/renewal/dmoks.ru.conf

Находим опцию webroot_map (как правило, в самом низу). Либо она будет пустой, либо указывать на неправильный путь. Исправляем это:

dmoks.ru = /usr/share/nginx/html

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

Пробуем обновить сертификат.

ACMEv1 is deprecated and you can no longer get certificates from this endpoint

Ошибка появляется при попытке запросить или обновить сертификат. Полный текст ошибки:

Attempting to renew cert (xxx) from /etc/letsencrypt/renewal/xxx.conf produced an unexpected error: urn:acme:error:serverInternal :: The server experienced an internal error :: ACMEv1 is deprecated and you can no longer get certificates from this endpoint. Please use the ACMEv2 endpoint, you may need to update your ACME client software to do so. Visit https://community.letsencrypt.org/t/end-of-life-plan-for-acmev1/88430/27 for more information.. Skipping.

Причина: утилита на компьютере устарела. Она пытается использовать API-портал ACMEv1, который больше не поддерживается.

Решение: обновляем утилиту certbot.

а) Для Ubuntu/Debian:

apt update

apt —only-upgrade install certbot

б) Для Rocky Linux/CentOS:

yum update certbot

Читайте также

Другие полезные материалы:

1. Примеры редиректов в NGINX.

2. Настройка Apache + SSL для работы сайта по HTTPS.

Introduction: How to Download the SSL Certificate From a Website in Windows

Here I’ll explain how to export SSL certificates from websites you visit in your web browser.

Supplies

Web browser (Google Chrome, Microsoft Edge, etc).

Step 1: Open the Website You Want to Download the Certificate From

Step 2: Click the Secure Icon Next to the URL

Step 3: Click on «Certificate»

Step 4: Select «Details» and «Copy to File…»

Step 5: Save Your Certificate File

  • Click Next
  • Select the desired format (usually Base-64 encoding X.509 .CER)
  • Browser or enter the file name
  • Click finish

Secure Sockets Layer, в основном известный под аббревиатурой SSL, представляет собой протокол безопасности, который обеспечивает безопасность путем создания зашифрованной связи между веб-браузером и веб-сервером. Как правило, SSL гарантирует, что поток данных между веб-сервером и браузером является частным и конфиденциальным.

В расширении SSL-сертификат — это файл данных, который размещается на сервере веб-сайта для обеспечения покрытия SSL. Информация, содержащаяся в SSL-сертификате, включает в себя: доменное имя, открытый ключ, имя человека или название организации, цифровую подпись, дату выпуска, дату истечения срока действия и эмитента.

Печать SSL (замок) в браузере сообщает публике, что веб-сайт использует SSL. А SSL — это HTTPS, а не HTTP.

SSL Green padlock

Замок показывает, что сайт использует SSL

Когда вы используете SSL, вы защищаете данные своих пользователей. Пользователи, скорее всего, не будут посещать ваш сайт, если будут знать, что их данные не защищены. Особенно, если вы управляете веб-сайтом электронной коммерции, пользователям которого может потребоваться предоставить конфиденциальную информацию, например данные кредитной карты. Пользователи серьезно относятся к безопасности, и вы тоже.

Поисковые системы обычно плохо относятся к веб-сайтам, которые не используют SSL.

Есть много преимуществ использования SSL, и вам не нужно иметь никаких денег, чтобы пользоваться покрытием SSL. В этой статье вы найдете лучших поставщиков бесплатных SSL-сертификатов. Независимо от того, используете ли вы WordPress, Magento, Joomla, Drupal или любую другую систему, для вас найдется бесплатное решение SSL.

В основном существует 3 типа SSL-сертификатов:

1. Сертификаты с проверкой домена (DV SSL)

DV SSL — самый популярный SSL-сертификат. Это проще всего получить. Это связано с тем, что Центру сертификации (ЦС) требуется только право приложения на использование доменного имени. Нет проверки идентификационной информации компании.

Этот тип SSL-сертификата идеально подходит для блоггеров, веб-сайтов компаний и веб-сайтов малого бизнеса. Пока они не требуют данных клиента.

2. Сертификаты, подтвержденные организацией (OV)

OV SSL — идеальный сертификат для предприятий, которым не требуется конфиденциальная информация о пользователях, но может потребоваться определенная информация, которая не является конфиденциальной. Примером могут служить компании, которые используют формы для сбора потенциальных клиентов, но не запрашивают конфиденциальную информацию, такую ​​как данные кредитной карты.

Центр сертификации (CA) проведет некоторую проверку организации в дополнение к проверке права заявителя на использование доменного имени перед выдачей этого сертификата. Проверенная информация может отображаться, когда пользователи нажимают на замок SSL в браузере.

3. Сертификаты с расширенной проверкой (EV)

EV SSL — самый мощный SSL-сертификат. Он может обрабатывать любую конфиденциальную информацию. Он идеально подходит для предприятий, которым требуются данные кредитной карты для финансовых транзакций на их веб-сайте.

Центр сертификации (ЦС) проводит очень тщательную проверку перед выдачей сертификата. Это самый сложный сертификат.

Процесс включает в себя проверку юридического, физического и операционного существования юридического лица.

Преимущества использования SSL-сертификата

Использование SSL-сертификата имеет множество преимуществ:

1. Защита данных

Это самое важное и подавляющее преимущество использования SSL. Всякий раз, когда кто-то посещает ваш сайт, данные передаются. Данные перемещаются с веб-сервера в веб-браузер и наоборот. Если эти данные не защищены, они могут быть использованы до того, как они достигнут места назначения. SSL помогает защитить данные, чтобы их нельзя было использовать. Только представьте, что конфиденциальная информация, такая как пароли и данные кредитной карты, украдена. SSL предотвращает это.

2. Улучшить рейтинг в поисковых системах

Простое использование HTTPS может улучшить ваш рейтинг в поисковых системах и увеличить органический трафик. Почему это так? Что ж, Google, который на сегодняшний день является крупнейшей поисковой системой, уже давно обнародовал, что использование SSL является фактором ранжирования.

Это означает, что при ранжировании веб-сайта в результатах поиска одним из факторов, определяющих позицию веб-сайта, является SSL.

3. Завоевать доверие пользователей и клиентов

Как правило, веб-пользователи заботятся о своей конфиденциальности. Наличие замка в браузере является для пользователей знаком того, что вы серьезно относитесь к их конфиденциальности.

Это может повысить доверие пользователей к вам. Многие веб-пользователи при первом посещении веб-сайта ищут этот замок, чтобы быть уверенными в своей безопасности на веб-сайте.

Когда вы запрашиваете у пользователей какую-либо информацию, SSL дает им уверенность в предоставлении вам такой информации.

4. Это поможет вам соответствовать PCI / DSS, чтобы вы могли получать платежи онлайн.

Чтобы получать платежи в Интернете с помощью дебетовых и кредитных карт, стандартом является то, что вы должны соответствовать стандарту PCI. И чтобы считаться совместимым с PCI, одним из наиболее важных требований является наличие SSL-сертификата.

Как получить и установить SSL-сертификат

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

1. Выберите подходящий тип SSL-сертификата

Первый шаг — выбрать тип SSL-сертификата, который вам понадобится. Тип SSL, который вам нужен, может определять поставщика, который вам может понадобиться. Потому что не все провайдеры SSL предоставляют все типы сертификатов SSL.

Для большинства людей достаточно проверки домена (DV SSL). Для некоторых других, которым могут потребоваться более конфиденциальные данные, подойдет OV SSL или EV SSL.

2. Обновите свою запись WHOIS

Важно, чтобы вы обновили свою запись WHOIS, чтобы она точно соответствовала информации, которую вы отправляете эмитенту сертификата. Это очень важно, если вы ищете сертификат OV SSL или EV SSL.

3. Генерация запроса на подпись сертификата (CSR)

Вам нужно будет сгенерировать запрос на подпись сертификата (CSR) на вашем сервере. Процесс его создания зависит от вашего веб-хостинга и панели сервера.

Лучшее решение, если вы не знаете, как это сделать, — попросить ваш веб-хостинг сгенерировать это для вас.

4. Отправьте CSR эмитенту сертификата

После создания CSR отправьте его пользователю сертификата. Они будут использовать это для проверки вашего домена и подготовки сертификата SSL.

5. Установите SSL-сертификат

После проверки вам будет выдан SSL-сертификат. Вам придется установить это. Процесс может быть отложен веб-хостом и серверной панелью.

Лучшее решение — попросить веб-хостинг помочь вам установить сертификат.

Топ-5 поставщиков бесплатных SSL-сертификатов

Вот лучшие поставщики бесплатных SSL-сертификатов:

1. Давайте зашифруем

Давайте зашифровать является некоммерческим центром сертификации, который предоставляет бесплатный SSL. Это, безусловно, самый популярный бесплатный провайдер SSL. Они предоставили бесплатные SSL-сертификаты более чем 225 миллионам веб-сайтов. Сертификат, предоставленный Let’s Encrypt, всегда бесплатен.

Let’s Encrypt

Проект Let’s Encrypt финансировался технологическими компаниями, включая Mozilla, Cisco, Facebook, Akamai и другими.

Сертификат, который они предоставляют, действителен в течение 90 дней. Но может быть автоматически продлен на всю жизнь.

2. Нулевой SSL

НулевойSSL предлагает бесплатный SSL на всю жизнь. Хотя у них также есть платные планы для людей с более высокими потребностями в SSL, у них есть бесплатный план SSL на всю жизнь, которого будет достаточно для большинства людей. Вы ничего не платите. Процесс быстрый и простой, ваш SSL будет готов менее чем за 5 минут.

ZeroSSL free SSL

Сертификат аналогичен Let’s encrypt; он действителен в течение 90 дней, но может быть автоматически продлен на всю жизнь.

3. SSL бесплатно

SSL бесплатно предлагает навсегда бесплатный SSL-сертификат. Это некоммерческая организация, которая использует сервер ACME, используя проверку домена для обеспечения сертификации. Закрытые ключи генерируются в браузере и никогда не передаются.

SSL For Free

4. Cloudflare

Cloudflare является одним из самых больших CDN и провайдеры веб-безопасности в мире. В рамках обеспечения безопасности они предлагают бесплатное решение SSL. Многие популярные веб-сайты полагаются на Cloudflare из-за безопасности и скорости.

Cloudflare

Чтобы использовать бесплатный SSL Cloudflare, войдите в свою учетную запись Cloudflare или создайте ее. Выберите веб-сайт, для которого вы хотите включить SSL. Затем нажмите на вкладку SSL. Выберите желаемое покрытие SSL (лучший вариант — полный). Затем очистите кеш.

5. FreeSSL.org

FreeSSL.org предлагает навсегда бесплатный SSL-сертификат с использованием Let’s encrypt и Buypass. С помощью let’s encrypt он действует 3 месяца, а с buypass — 6 месяцев. Все сертификаты могут быть автоматически обновлены, и они предоставляют услугу напоминания об истечении срока действия сертификата.

FreeSSL.org

Лучший способ получить бесплатный SSL

Лучший способ получить бесплатный SSL — использовать веб-хостинг провайдер, предоставляющий бесплатный SSL. Таким образом, вам не нужно беспокоиться обо всех технических деталях и обновлениях.

Для большого веб-сайта Kinsta рекомендованный Google, предлагает бесплатный SSL-сертификат. Альтернативой для больших сайтов является Cloudways, их платформа очень быстрая, и они предлагают бесплатный SSL-сертификат.

Если у вас небольшой или стартовый сайт, Bluehost дешевый и предлагает бесплатный SSL-сертификат. Хорошей альтернативой будет Hostinger.

Сегодня получить бесплатный SSL сертификат для сайта достаточно
простая задача, позволяющая быстро и без лишних затрат перейти на безопасный
протокол HTTPS.

  • Самостоятельное получение бесплатного SSL-сертификата;
  • Установка сертификата на хостинг;
  • Получение через хостинг-провайдера.

Видеоинструкция

Самостоятельное получение бесплатного SSL-сертификата
для сайта

Для доменов .ru и .рф

Для получения сертификата доменами .ru .рф и .by можно воспользоваться первым методом через CloudFlare (подойдет и для международных зон).

В первую очередь переходим на страницу:

https://www.cloudflare.com/ru-ru/

Сервис Cloudflare

После регистрируем на сайте нажав на «Sing up».

Переход в регистрацию Cloudflare

Вводим почту и пароль которые будем использовать.

Регистрация в Cloudflare

Добавляем сайт через кнопку «Add site».

Добавление сайта в КлаудФлэр

Вводим домен.

Добавление домена в CloudFlare

Выбираем бесплатный тарифный план.

Выбор бесплатного тарифа в КлаудФлэр

Ожидаем проверки DNS.

Проверка и скачивание DNS в Cloudflare

Проходим далее.

Переход в настройки сайта для Cloudflare

Копируем выданные NS сервера.

Копирование NS серверов для Cloudflare

Открываем хостинг, где переходим в «Домены»-«Мои домены» и открываем настройки DNS сайта.

Настройки DNS на хостинге

Переходим в редактирование NS.

Редактирование NS-серверов домена

Вводим выданные значения и сохраняем их.

Ввод настроек NS серверов для домена и перевода на CloudFlare

Начинаем настройки подключения.

Переход в настройки КлаудФлэр

Включаем функцию выдачи бесплатного SSL-сертификата.

Включение бесплатного SSL-сертификата

Включаем функцию автоматического редиректа с http на https.

Автоматический редирект в http на https

Лучше не включать функцию сжатия если Вы не знаете как работает Ваша CMS. Оставляем все галочки пустыми.

Отключение настроек сжатия и кэширования

Включаем функцию Brotli.

Включаем ускорение для https

Завершаем настройки.

Окончание настроек Cloudflare

Нажимаем на «Check nameservers» для проверки системы.

Проверка NS серверов для домена в Cloudflare

Через несколько часов на почту придет уведомление о подключении, а в личном кабинете увидите следующее.

Подключение сайта к Cloudflare

Теперь сайт сразу начнет открываться и работать с SSL-сертификатом.

Получение бесплатного SSL-сертификата для домена через Cloudflare

Все готово, теперь продление не потребуется и сайт будет автоматически работать всегда на https.

Для доменов кроме .ru и .рф

Для того, чтобы получить бесплатный SSL-сертификат и перейти на https потребуется посетить сайт https://www.sslforfree.com/, где в первую очередь рекомендуется зарегистрироваться, кликнув на «Login».

Регистрация на сайте SSL For Free

Теперь вписываем адрес сайта (Важно! Если выдается сертификат для поддомена, то необходимо ввести его адрес, например, poddomen.site.ru) и нажимаем на «Create Free SSL Certificate».

Ввод домена на сайте sslforfree для получения бесплатного SSL-сертификата

В появившемся окне «ZeroSSL» выбираем «New Certificate».

Создание нового SSL сертификата в SSL For Free

Вводим домен, например, «seopulses.ru».

Подтверждение SSL сертификата в ZeroSSL

Выбираем 90 дней.

Важно! Бесплатно можно получить только на 90 дней!

Выбор тарифа для получения бесплатного SSL-сертифката

Оставляем все без изменений и переходим на следующий шаг через кнопку «Next Step».

Выбор почты для подтверждения SSL-сертификата

Теперь нам предлагается 3 способа подтверждения:

  1. Через почту;
  2. DNS;
  3. Загрузку HTTP файла.

О каждом из этих способов указано ниже.

Подтверждение по почте

В этом случае система предложит написать на одну из почт:

  • admin@
  • administrator@
  • hostmaster@
  • postmaster@
  • webmaster@

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

В этом случае лучше всего:

  • Подключиться доменную почту на сервере;
  • Подключиться к Яндекс.Коннекту (есть бесплатный тариф);
  • Mail.ru для бизнеса (есть бесплатный тариф);
  • GSuite (От 5,4$ за пользователя).

Если указанной почты нет среди аккаунтов, то следует ее создать, например, в интерфейсе Яндекс.Коннекта это выглядит так:

Создание почты для подтверждения бесплатного SSL-сертификата

Отправляем письмо для проверки.

Верификация бесплатного сертификата ССЛ-сертификата

В системе видно, что сообщение отправлено.

Обновление проверки одобрения бесплатного SSL сертификата

Далее приходит письмо на почту, где нужно скопировать проверочный код и перейти на страницу верификации.

Переход к варификации домена для получения ССЛ-сертификата

На проверочной странице вводим ключи и нажимаем на «Next».

Получение варификационного кода для подтверждения бесплатного SSL-сертификата

Закрываем страницу.

Окончание подтверждения бесплатного SSL-сертификата

В ZeroSSL обновляем статус заявки.

Обновление подтверждения SSL-сертификата в ZeroSSL

Видим, что все прошло успешно и кликаем на «Install Certificate».

Подтвержденная варификации для получения бесплатного SSL-сертификата

Скачиваем бесплатный SSL-сертификат через кнопку «Download Certificate (.zip).

Загрузка полученного бесплатного SSL сертификата

При необходимости можно сказать в разных форматах, например, для:

  • Apache;
  • AWS;
  • cPanel
  • NGINX;
  • Ubuntu;
  • И многих других.

Выбор типа и вида SSL-сертификата стандарт, Apache, AWS NGINX

Далее переходим к установке его на сервер.

Получение и переход к установке SSL сертификата

Важно! Одни аккаунт может иметь до трех доменов с сертификатами бесплатно.

Подтверждение бесплатного SSL-сертификата через DNS

На этапе выбора подтверждения кликаем на «DNS», где получаем нужные данные для ввода.

Подтверждение SSL-сертификата через DNS

На следующем шаге видим, что система мониторит записи для подтверждения.

Ожидание смены DNS для подтверждения ССЛ сертификата для перехода на HTTPS

Переходим к хостинг-провайдеру (или другой интерфейс, куда через NS был делегирован домен) и переходим к редактированию DNS.

Переход в настройки DNS записей домена

Добавляем новую TXT-запись.

Добавление текстовой TXT-записи для домена

Вводим выданные нам значения.

Важно! Name содержит запись для поддомена (111.site.ru), следует вводить только указанный только до домена код.

Важно! Во многих системах интерфейс может быть различных, например, на примере в Timeweb не требуется ввод TTL, поэтому это опускаем.

Ввод текстовой DNS-записи для домена и подтверждения SSL-сертификата

Все готово, можно переходить к его установке.

Подтверждение бесплатного SSL через HTTP-файл

Выбираем пункт для подтверждения «HTTP File Upload» и скачиваем файл.

Ввод текстовой DNS-записи для домена и подтверждения SSL-сертификата

Система начинаем проверку.

Проверка подтверждения SSL-сертификата через HTML-файл

Далее переходим в панель управления сервером или FTP-аккаунт, где в корневой папке сайта (как правило, public_html) создаем папку «.well-known».

Создание новой папки для подтверждения SSL-сертификатаСоздание папки в корневой папки сайта

В ней аналогично создаем еще одну папку «pki-validation».

Загружаем файл, скачанный в самом начале инструкции.

Загрузка нового файла на сервер сайта

Все готово подтверждаем информацию (аналогично почте) и получаем сертификат.

Установка бесплатного сертификата на хостинг

Установка SSL-сертификата на сервер

В первую очередь распаковываем архив с сертификатом и видим, что он состоит из:

  • certificate.crt (сертификат);
  • private.key (приватный ключ);
  • ca_bundle.crt (промежуточный сертификат).

3 файла бесплатного SSL-сертификата

Данный пункт необходим тем, кто не смог получить его у хостера и приобрел его не у своего провайдера. Для этого посещаем раздел «SSL», где выбираем пункт «Установить».

Установка SSL-сертификата на хостинг

Вводим в соответствующие поля свой файл и завершаем установку.

Ввод данных для установки SSL-сертификата

Важно! Если не имеется навыка работы с интерфейсом хостинг компании (у некоторых провайдеров отсутствует возможность загружать сертификат самостоятельно в интерфейсе) рекомендуется загрузить архив с сертификатом на сервер и написать в поддержку с просьбой об установке.

Важно! Срок действия сертификата 3 месяца, после чего его потребуется
обновиться, выполнив инструкцию еще раз.

Важно! Если сертификат выдается на поддомен, то потребуется
подтвердить лишь основной домен (соответственно загрузить лишь 1 файл или
установить 1 TXT-запись).

Через ISPmanager

Следует посетить раздел «WWW»-«SSL-сертификаты»,
после чего кликнуть на «Создать».

Раздел SSL-сертификат в ISPmanager

Выбираем пункт «Существующий».

Установка существующего SSL-сертификата

Ставим данные из файлов в нужные поля и даем имя
сертификату.

Ввод данных от бесплатного SSД-сертификата в ISPmanager

Важно! Если не получается воспользоваться ни первым ни
вторым способом или данного раздела (SSL) нет в административной панели (как, например, в SprintHost), то Вы можете
загрузить сертификаты на свой сервер и создать тикет хостинг-провайдеру для
установки.

Получение бесплатного SSL-сертификата через хостинг-провайдера

Если хостинг-провайдер предоставляет бесплатный SSL-сертификат, то можно
воспользоваться им. Так его предоставляют:

  • Reg.ru;
  • Timeweb;
  • SprintHost;
  • SpaceWeb;
  • Beget;
  • Многие другие.

Например, в случае с Timeweb достаточно посетить
административную панель после чего перейти во вкладку «SSL-сертификаты» и нажимаем на
«Заказать».

Заказ бесплатного SSL-сертификата в панели хостинга

Теперь выбираем «Let’s Encrypt»
(бесплатный) и домен, которому он будет применен.

Заказ бесплатного SSL-сертификата у хостинг-провайдера

Важно! Для того, чтобы воспользоваться данным методом
необходимо делегировать сайт под управление компании хостинга при помощи А-записи.

  • Скачать сертификаты для windows 7 64 bit с официального
  • Скачать систему windows 10 полную сборку со всеми драйверами на флешку
  • Скачать сетевой драйвер для windows 7 леново
  • Скачать сборку windows 10 20h2
  • Скачать сетевой адаптер для windows 7 32 бит на ноутбук