ЕСИА

Материал из ALT Linux Wiki

Доступ к сайту Госуслуг

Для аутентификации через ЕСИА (https://esia.gosuslugi.ru/) потребуется токен с парой ключей и сертификатом, а также плагин для работы с порталом государственных услуг IFCPlugin.

IFCPlugin обращается к библиотеке PKCS#11 работающей, как правило, с pkcs15 токенами. Это может быть аппаратный ключ защиты (Рутокен ЭЦП, Jacarta ГОСТ и т.д.), контейнер криптопровайдера КриптоПро, или любой подходящий контейнер с поддержкой ГОСТ. Подписание и шифрование происходит внутри контейнера (средствами аппаратного ключа или средствами криптопровайдера).

Генерирование ключей и получение сертификата

Для получения сертификата необходимо:

  1. Сгенерировать ключ на токене в формате, совместимом с форматом плагина Госуслуг, то есть через библиотеку PKCS#11.
  2. Сформировать запрос на квалифицированный сертификат.
  3. Транспортировать запрос в аккредитованный УЦ (тестовый УЦ не подойдет).
  4. Получить сертификат и записать его на токен в формате, совместимом с форматом плагина Госуслуг, то есть через библиотеку PKCS#11.

Рутокен ЭЦП 2.0

Для генерации ключей, формирования запроса на сертификат и записи сертификата на Рутокен ЭЦП можно воспользоваться ПО «Рутокен плагин», (работает через библиотеку PKCS#11 и совместим с плагином Госуслуг) и ПО «Центр регистрации Рутокен» ra.rutoken.ru.

Подробнее: Rutoken#Центр_регистрации_Рутокен

JaCarta

Для генерации ключей, формирования запроса на сертификат и записи сертификата на JaCarta 2 ГОСТ можно воспользоваться утилитой pkcs11-tool: JaCarta/ГОСТ, либо криптоПро: JaCarta/ГОСТ#КриптоПро, для JaCarta PKI: JaCarta/PKI#КриптоПро

ESMART Token ГОСТ

Для генерации ключей, формирования запроса на сертификат и записи сертификата на ESMART Token ГОСТ можно воспользоваться утилитой PKIClientCli: ESMART#Утилита_PKIClientCli

Установка плагина IFCPlugin

Для установки плагина для работы с порталом государственных услуг необходимо:

  1. Загрузить плагин со страницы https://ds-plugin.gosuslugi.ru/plugin/upload/ (по умолчанию начнется скачивание deb-пакета, но на странице доступны и rpm-пакеты: rpm пакет 64-bit и rpm пакет 32-bit:
    Загрузка плагина Госуслуг
  2. Установить плагин, выполнив из папки со скачанным плагином команду (под правами пользователя root):
    # apt-get install IFCPlugin*
    
  3. Установить расширение для плагина Госуслуг, в зависимости от версии браузера:
    Расширение для Google Chrome/Chromium/Chromium GOST
    Расширение для Mozilla Firefox
  4. Перезапустить браузер.
  5. Убедиться, что плагин установлен и включен. В Mozilla Firefox сделать это можно на странице about:addons (или about:plugins в более ранних версиях), на странице chrome://extensions/ в Chrome/Chromium/Chromium GOST:
    Расширение для плагина Госуслуг


Примечание: Для Chromium,Yandex нужно ещё сделать под root
mkdir /etc/chromium/native-messaging-hosts
ln -s /etc/opt/chrome/native-messaging-hosts/ru.rtlabs.ifcplugin.json /etc/chromium/native-messaging-hosts/

а для Firefox

ln -s /opt/cprocsp/lib/amd64/libcppkcs11.so.4.0.4 /usr/lib/mozilla/plugins/lib/libcppkcs11.so


Сертификаты КриптоПро

По информации с https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=12452

Используемые пакеты:

  • lsb-cprocsp-pkcs11-64-4.0.9929-5 (для полноценной поддержки ГОСТ-2012 лучше использовать версию 4.0.9944)
  • ifcplugin-3.0.6.0-release

Необходимо добавить в файл /etc/ifc.cfg в блок params:

(блок в данном файле выделяется круглыми скобками, разделы блока выделяются фигурными, после закрывающей фигурной скобки раздела, если это не последний раздел в блоке, ставится запятая)

    {
        name = "CPPKCS11_2001";
        alias = "CPPKCS11_2001";
        type = "pkcs11";
        alg = "gost2001";
        model = "CPPKCS 3";
        lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
    },
    {
        name = "CPPKCS11_2012_256";
        alias = "CPPKCS11_2012_256";
        type = "pkcs11";
        alg = "gost2012_256";
        model = "CPPKCS 3";
        lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
    },
    {
        name = "CPPKCS11_2012_512";
        alias = "CPPKCS11_2012_512";
        type = "pkcs11";
        alg = "gost2012_512";
        model = "CPPKCS 3";
        lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so";
    },

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

Журнал работы плагина можно найти в файле /var/log/ifc/engine_logs/engine.log.

Авторизация на сайте Госуслуг

Для авторизации на сайте Госуслуг с помощью электронной подписи следует:

  1. В браузере Firefox на странице авторизации Госуслуг нажать на ссылку «Вход с помощью электронной подписи»:
    Авторизация на сайте Госуслуг
  2. Подключить токен с ключом к компьютеру, нажать кнопку «Готово»:
    Авторизация на сайте Госуслуг с помощью электронной подписи
  3. Выбрать сертификат ключа проверки электронной подписи, щёлкнув левой кнопкой мыши по строке с сертификатом:
    Выбор сертификата ключа проверки электронной подписи
  4. Ввести Пин-код пользователя и нажать кнопку «Продолжить»:
    Ввод пин-кода

Дополнительно