Получи TLS сертификат на Госуслугах (пока не по ГОСТу)

В заметке пойдет речь о том, зачем и как получать TLS сертификат на Госуслугах для своего сайта.

Отзыв сертификатов

После внесения в санкционный список Банка России, ВТБ, Совкомбанка и Промсвязьбанка сертификаты их сайтов, выпущенных в зарубежных удостоверяющих центрах (УЦ), были отозваны.

Отозвали сертификат сайта Банка России
Отзыв сертификата сайта Банка России

С точки зрения собственной политики УЦ прав: причиной для отзыва сертификата может стать заявление государственной инстанции либо добавление владельца в «черный список» (подробнее на хабре).

В срочном порядке для сайтов были получены новые сертификаты от бельгийской компании GlobalSign. Естественно, гарантий, что эти сертификаты тоже не отзовут, нет. В этот момент все вспоминают про отечественную инфраструктуру, которой пока нет. Поэтому появляется быстрое промежуточное решение – самоподписанный сертификат российского УЦ с западной криптографией (не путать с НУЦ — Национальным Удостоверяющим Центром).

Новый сертификат Минцифры
Новый сертификат Минцифры

По состоянию на 11.03.2022 на новом УЦ выпущено порядка 300 сертификатов, в основном для доменов санкционных банков. Но использование этого УЦ видится скорее запасным вариантом, в продакш по-прежнему применяются сертификаты GlobalSign. Связано, это с тем, что корневой сертификат российского УЦ пока не интегрирован в популярные браузеры и ОС. Соответственно, для большинства пользователей он будет выглядеть «недоверенным» и вызовет не меньше вопросов, чем отозванный ранее сертификат.

Тем не менее наличие запасного варианта лишним не будет. Через некоторое время по крайней мере часть браузеров (ну или только Яндекс.Браузер) будут воспринимать сертификат этого УЦ как доверенный. Теперь рассмотрим саму процедуру получения сертификата.

Как получить TLS сертификат на Госуслугах

Сервис по получению TLS сертификата появился на Госуслугах: https://www.gosuslugi.ru/tls

По ссылке доступна сама услуга, список выпущенных сертификатов и корневой сертификат УЦ.

Услуга по выдаче сертификата — бесплатная, предоставляется только юридическим лицам. Потребуется УКЭП — усиленная квалифицированная электронная подпись (например та, которую используют для подачи отчетности в ФНС). Срок исполнения – до 5 рабочих дней.

Подача заявления на TLS сертификат на госуслугах

Формирование запроса на сертификат

Нужно сформировать ключевую пару, например, с помощью openssl.

Запрос на TLS сертификат на госуслугах

Алгоритм подписи RSA, длина ключа — 2048 бит.
Поле subject:

  • CN (common name) = домен (укажите адрес своего домена, например, aveselov.ru)
  • O (organization) = полное наименование организации (укажите наименование своей организации, желательно латиницей)
  • L (location) = город, например Moscow
  • С (country) = RU

Рекомендуемый формат запроса #pkcs10 или csr.
Расширения keyUsage = digitalSignature, keyEncipherment или иные значения, например nonRepudiation, keyEncipherment, опционально.
В качестве subjectAltName укажите все необходимые DNS-имена (например DNS1=yandex.ru, DNS2=ya.ru).
Для параметра extendedKeyUsage укажите serverAuth или иные значения, например сlientAuth, опционально.

Выглядит это примерно следующим образом:

openssl req -out your_ogranization_certificate.csr -new -newkey rsa:2048 -keyout your_ogranization_certificate.key -nodes -config test.cfg -subj "/C=RU/L=Moscow/O=Test Company/CN=aveselov.ru"

Команда неинтерактивная, архив с файлом test.cfg прилагается. Не забудьте поменять параметры поля subject, указанные в примере, на свои. Также обратите внимание, что для разделения параметров в openssl использует не запятая, а обратный слеш.

В результате получим файл your_ogranization_certificate.csr с запросом, который потребуется нам на следующем шаге.

Подпись запроса

Файл с запросом требуется подписать электронной подписью. Вопрос получения квалифицированной ЭП и установки криптопровайдера рассматривать не будем, ограничимся примером подписи файла с помощью КриптоПро CSP.

Подпись заявления на TLS сертификат на госуслугах

Подписать файл запроса с помощью КриптоПро СSP не сложно:
«Пуск» – «Инструменты КриптоПро» – «Создание подписи»

Подпись запроса на TLS сертификат на госуслугах

Далее необходимо выбрать подписываемый файл, полученный на прошлом этапе, и нажать кнопку «Подписать». В папке, в которой находится исходный файл запроса, появится файл открепленной ЭП с расширением .sig (если расширение иное, нажмите «Сохранить подпись как» и выберете формат .sig).

Указание контактов

Теперь, когда все готово, можно вернуться к сайту Госуслуг, где в форме следует указать контактные данные администратора для оперативной с ним связи (указывайте реальные данные, об этом ниже).

Указание контактов при получении TLS сертификата на госуслугах

Загрузка файлов

И последний шаг – загрузите ранее сформированный запрос и подпись к нему.

Загрузка документов для получения TLS сертификата на госуслугах

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

После нажатия «Далее» ждем до 5 дней и можем пользоваться новым сертификатом (сообщение о готовности придет в Госпочту и в Уведомлениях на Госуслугах).

Проверка (добавлено 15.03.2022)

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

И вот теперь ждем выпуска сертификата.

Резюме

Посмотрим в какие браузеры и как быстро будет добавлен российский корневой сертификат. От этого напрямую зависит масштаб его дальнейшего использования.
С одной стороны – сертификаты от зарубежных УЦ могут быть отозваны, тогда сайты останутся без защиты. С другой – использование российского УЦ потенциально позволит регуляторам в случае необходимости реализовать MITM (Man-in-the-Middle) с тотальной инспекцией трафика на эти сайты, что ожидаемо отпугивает пользователей.

Поделиться:

10 thoughts on “Получи TLS сертификат на Госуслугах (пока не по ГОСТу)

  • 17.03.2022 в 10:30
    Permalink

    По Вашей статье написал скриптик для автогенерации сертификатов для списка доменов. Скачать
    https://disk.yandex.ru/d/HXgxu8rlQoZm8A
    После проверки добавьте в статью.

    Ответ
    • 23.03.2022 в 10:16
      Permalink

      Спасибо за скрипт, подскажите, пожалуйста, после исполнения скрипта генерируются 3 файла, для запроса сертификата достаточно файла .csr?

      Ответ
      • 26.03.2022 в 22:25
        Permalink

        Да, запрос в формате .csr. Конфиги отправлять не нужно

        Ответ
  • 27.03.2022 в 09:00
    Permalink

    Подскажите, пожалуйста, как «Нужно сформировать ключевую пару, например, с помощью openssl» из под Windows?

    Ответ
    • 27.03.2022 в 22:48
      Permalink

      Сначала скачать OpenSSL под Windows. На официальном сайте установщика в готовом виде нет, нужно смотреть на сторонних ресурсах. После установки запустить командную строку, перейти в папку с установленной программной и действовать по инструкции.

      Ответ
  • 14.04.2022 в 16:42
    Permalink

    Подскажите, пожалуйста, а возможна ли генерация сертификата для домена третьего уровня?

    Ответ
    • 19.04.2022 в 09:12
      Permalink

      Да, такая возможность есть

      Ответ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *