Как частному лицу заказать на Госуслугах бесплатный SSL сертификат для сайта для работы по протоколу HTTPS
Частным лицам на Госуслугах можно оформить бесплатный SSL сертификат от Минцифры для работы сайта по протокола HTTPS. Данная статья ответит на вопрос как это сделать.
Ранее бесплатные сертификаты на Госуслугах были доступны только юридическим лицам. Процедура получения сертификата у частных лиц несколько проще, но при этом имеет ряд ограничений.
Для чего нужен сертификат безопасности для сайта от Минцифры
Сертификат от Минцифры заменит иностранный в случае его отзыва или окончания срока действия.
В настоящий момент (август 2024) официально в России можно приобрести только SSL сертификаты GlobalSign, либо использовать бесплатные от Let’s Encrypt.
Недостатки сертификата Минцифры для сайта для частных лиц
На момент подготовки статьи частным лицам был доступен только базовый сертификат DV (проверка владения доменом). Срок действия — 90 дней. Автоматический перевыпуск не предусмотрен.
Общие недостатки сертификата от Минцифры
Корневой сертификат Минцифры не входит в доверенное хранилище популярных операционных систем Windows, Android и т.п. Который в итоге они считают самоподписанным. Поэтому выпускающий сертификат и сертификат для сайта подписанные корневым сертификатом от Минцифры не будут считаться доверенными и безопасными, и браузеры будут отказываться с ними работать.
Чтобы корневой и выпускающий сертификаты от Минцифры стали доверенными для вашего компьютера (смартфона) их нужно установить в операционную систему по следующей инструкции — https://moonback.ru/page/kak-ustanovit-sertifikaty-mintsifry-rossii-v-windows. А если вы используете браузер FireFox, то возможно вам потребуется еще одна инструкция — https://moonback.ru/page/firefox-rus-sert-windows-android.
После этого сайты с сертификатом от НУЦ Минцифры России станут корректно работать по https протоколу на вашем устройстве.
Проверить наличие в операционной системе сертификата от Минцифры России можно на следующей странице — https://www.sberbank.com/ru/certificates.
При их наличии вы должны увидеть следующее сообщение:
Как получить бесплатный SSL сертификат от НУЦ Минцифры России для сайта частному лицу через Госуслуги
Вы должны быть зарегистрированы на Госуслугах. Перейдите по следующему адресу: https://www.gosuslugi.ru/tls.
Найдите раздел Базовый сертификат DV и нажмите кнопку [Получить]
После авторизации на сайте Госуслуг в качестве частного лица
начните процедуру получения сертификата безопасности
Обязательно ознакомьтесь с инструкцией
и перейдите к составлению заявления отложите всё в сторону!!!
Генерация запроса в формате csr на выпуск сертификата
Как видите просто потыкать мышкой и получить сертификат для сайта на Госуслугах не получится.
У вас на компьютере должна быть установлена утилита openssl. С ее помощью нужно сгенерировать запрос. И только потом можно будет переходить к заполнению заявлению на изготовление сертификата.
OpenSSL — полноценная криптографическая библиотека с открытым исходным кодом, широко известна из-за расширения SSL/TLS, используемого в веб-протоколе HTTPS.
Пример команды для генерации запроса
openssl req -out digital.gov.ru.csr -new -subj "/C=RU/CN=digital.gov.ru" -addext "keyUsage = digitalSignature, keyEncipherment" -addext "subjectAltName=DNS: digital.gov.ru" -addext "extendedKeyUsage = serverAuth" -newkey rsa:2048 -nodes -keyout digital.gov.ru.key
Приведенный пример полностью рабочий и использован мною при подготовки запроса для сайта itfd.ru. Для удобства просто замените по тексту digital.gov.ru на название своего сайта.
У меня это выглядит так:
# openssl req -out itfd.ru.csr -new -subj "/C=RU/CN=itfd.ru" -addext "keyUsage = digitalSignature, keyEncipherment" -addext "subjectAltName=DNS: itfd.ru" -addext "extendedKeyUsage = serverAuth" -newkey rsa:2048 -nodes -keyout itfd.ru.key Generating a RSA private key .....................................................+++++ .....+++++ writing new private key to 'itfd.ru.key' -----
В результате я получил два файла itfd.ru.csr и itfd.ru.key. Первый нам понадобиться для отправки заявления на Гослуги, а второй при размещения сертификата на хостинге.
Внимание. При генерации запроса используйте только официальную инструкцию на сайте Госуслуг.
Где взять утилиту openssl
В операционных системах семейства Linux она (утилита openssl), как правило, присутствует по-умолчанию. А вот для Windows её придется скачать со сторонних сайтов, ориентируясь на данный список источников — https://wiki.openssl.org/index.php/Binaries, например отсюда — https://slproweb.com/products/Win32OpenSSL.html.
Оформление заявления на выпуск сертификата безопасности на сайте Госуслуг
После того как вы подготовите файл запроса сертификата с расширением CSR можно переходить к подаче заявления на выпуск сертификата:
Вам будет необходимо подтвердить свои персональные данные, номер телефона, адрес электронной почты.
Затем выбрать способ подтверждения владения доменом путем размещения файла на сайте или публикации ресурсной DSN записи:
Я выбрал вариант подтверждения владения доменным именем через размещения DNS-записи, после чего нужно указать имя домена (с указанием протокола!!!), для которого вы хотите выпустить бесплатный сертификат:
Теперь вам будет предложено разместить ТХТ запись как доказательство владения доменным именем.
Я для публикации ресурсных записей доменных имен использую бесплатный DNS хостинг 1cloud.ru
Далее нужно проверить, что TXT запись активна, например тут — https://toolbox.googleapps.com/apps/dig/#TXT/
Как правило серверы Google видят изменения через 5-10 минут. Но в некоторых случаях возможно ожидание до нескольких часов.
После проверки Госуслугами наличия TXT записи вам будет предложено отправить подготовленный ранее CSR файл. У меня это itfd.ru.csr
Загрузите его и нажмите кнопку [Продолжить]
Вы должны получить уведомление, что ваше заявление принято.
В течении суток вы получите готовый сертификат, либо мотивированный отказ. Такое тоже бывает.
Я получил готовый сертификат через 20 минут.
Который можно скачать по ссылке.
Как разместить сертификат Минцифры на сайте
Полученный сертификат безопасности Минцифры России поставляется в зашифрованном бинарном виде. Для использования на сайте, возможно, вам будет необходимо преобразовать его в формат PEM следующей командой (опять нам пригодится openssl)
openssl x509 -inform der -in certificate.cer -out certificate.pem
В моем случае команда выглядела так, я предварительно переименовал полученный сертификат безопасности Минцифры в itfd.ru.der
openssl x509 -inform der -in itfd.ru.der -out itfd.ru.pem
Данные из файла PEM и полученного при генерации запроса файла KEY нужно использовать при создании сертификата безопасности на сайте. В FastPanel это выглядит так:
Как проверить что для сайта выпущен сертификат Минцифры
Проверить наличие сертификата НУЦ Минцифры России можно в Яндекс Вебмастере
Проверить какой сертификат безопасности использует сайт можно с помощью сервиса https://2ip.ru/ssl-info/
Выводы
Частные лица могут оформить бесплатные сертификаты для своих сайтов от НУЦ Минцифры России.
Сертификаты не будут считаться доверенными пока вы не установите на компьютер или смартфон корневые сертификаты Минцифры России.
Сертификаты выдаются на 90 дней без возможности автоматического продления.
Оформление вручную, необходимы навыки работы в консоли с утилитой OpenSSL.
Частным лицам пока невозможно получить сертификат на домен и все его поддомены, так называемый wildcard.
Благодарности
При написании статьи были использованы следующие источники
В очередной раз убедился, что лучше пользоваться бесплатными Let’s Encrypt