ЕСИА: различия между версиями
(→Установка плагина IFCPlugin: Поддержка сертификатов КриптоПро по ГОСТ-2012) |
|||
(не показано 10 промежуточных версий 6 участников) | |||
Строка 1: | Строка 1: | ||
=Доступ к сайту Госуслуг= | =Доступ к сайту Госуслуг= | ||
Для аутентификации через ЕСИА (https://esia.gosuslugi.ru/) потребуется токен с парой ключей и сертификатом, а также плагин для работы с порталом государственных услуг IFCPlugin. | Для аутентификации через ЕСИА (https://esia.gosuslugi.ru/) потребуется токен с парой ключей и сертификатом, а также плагин для работы с порталом государственных услуг IFCPlugin. | ||
IFCPlugin обращается к библиотеке PKCS#11 работающей, как правило, с pkcs15 токенами. Это может быть аппаратный ключ защиты (Рутокен ЭЦП, Jacarta ГОСТ и т.д.), контейнер криптопровайдера КриптоПро, или любой подходящий контейнер с поддержкой ГОСТ. Подписание и шифрование происходит внутри контейнера (средствами аппаратного ключа или средствами криптопровайдера). | |||
=Генерирование ключей и получение сертификата= | =Генерирование ключей и получение сертификата= | ||
Строка 8: | Строка 10: | ||
#Сгенерировать ключ на токене в формате, совместимом с форматом плагина Госуслуг, то есть через библиотеку PKCS#11. | #Сгенерировать ключ на токене в формате, совместимом с форматом плагина Госуслуг, то есть через библиотеку PKCS#11. | ||
#Сформировать запрос на квалифицированный сертификат. | #Сформировать запрос на квалифицированный сертификат. | ||
#Транспортировать запрос в УЦ. | #Транспортировать запрос в аккредитованный УЦ (тестовый УЦ не подойдет). | ||
#Получить сертификат и записать его на токен в формате, совместимом с форматом плагина Госуслуг, то есть через библиотеку PKCS#11. | #Получить сертификат и записать его на токен в формате, совместимом с форматом плагина Госуслуг, то есть через библиотеку PKCS#11. | ||
Строка 14: | Строка 16: | ||
Для генерации ключей, формирования запроса на сертификат и записи сертификата на Рутокен ЭЦП можно воспользоваться ПО «Рутокен плагин», (работает через библиотеку PKCS#11 и совместим с плагином Госуслуг) и ПО «Центр регистрации Рутокен» [https://ra.rutoken.ru ra.rutoken.ru]. | Для генерации ключей, формирования запроса на сертификат и записи сертификата на Рутокен ЭЦП можно воспользоваться ПО «Рутокен плагин», (работает через библиотеку PKCS#11 и совместим с плагином Госуслуг) и ПО «Центр регистрации Рутокен» [https://ra.rutoken.ru ra.rutoken.ru]. | ||
Подробнее: [[Rutoken#Центр_регистрации_Рутокен]] | |||
# | |||
==JaCarta== | ==JaCarta== | ||
Для генерации ключей, формирования запроса на сертификат и записи сертификата на JaCarta 2 ГОСТ можно воспользоваться утилитой pkcs11-tool: [[JaCarta/ГОСТ]], либо криптоПро: [[JaCarta/ГОСТ#КриптоПро]], для JaCarta PKI: [[JaCarta/PKI#КриптоПро]] | |||
==ESMART Token ГОСТ== | ==ESMART Token ГОСТ== | ||
Для генерации ключей, формирования запроса на сертификат и записи сертификата на ESMART Token ГОСТ можно воспользоваться утилитой PKIClientCli: [[ESMART#Утилита_PKIClientCli]] | |||
# | |||
=Установка плагина IFCPlugin= | =Установка плагина IFCPlugin= | ||
Строка 82: | Строка 30: | ||
#Установить плагин, выполнив из папки со скачанным плагином команду (под правами пользователя root): | #Установить плагин, выполнив из папки со скачанным плагином команду (под правами пользователя root): | ||
#:<source lang="text" highlight="1"># apt-get install IFCPlugin*</source> | #:<source lang="text" highlight="1"># apt-get install IFCPlugin*</source> | ||
#Установить расширение для плагина Госуслуг, в зависимости от версии браузера: | |||
#:[https://chrome.google.com/webstore/detail/ifcplugin-extension/pbefkdcndngodfeigfdgiodgnmbgcfha Расширение для Google Chrome/Chromium/Chromium GOST] | |||
#:[https://ds-plugin.gosuslugi.ru/plugin/upload/assets/distrib/addon-1.2.8-fx.xpi Расширение для Mozilla Firefox] | |||
#Перезапустить браузер. | #Перезапустить браузер. | ||
#Убедиться, что плагин установлен и включен. | #Убедиться, что плагин установлен и включен. В Mozilla Firefox сделать это можно на странице {{path|about:addons}} (или {{path|about:plugins}} в более ранних версиях), на странице {{path|chrome://extensions/}} в Chrome/Chromium/Chromium GOST: | ||
#:[[Изображение:IFCPlugin-plugin-on.png|Расширение для плагина Госуслуг|600px]] | #:[[Изображение:IFCPlugin-plugin-on.png|Расширение для плагина Госуслуг|600px]] | ||
{{Note|Для Chromium нужно ещё сделать под root <source lang="text">mkdir /etc/chromium/native-messaging-hosts | |||
ln -s /etc/opt/chrome/native-messaging-hosts/ru.rtlabs.ifcplugin.json /etc/chromium/native-messaging-hosts/</source>}} | {{Note|Для Chromium,Yandex нужно ещё сделать под root <source lang="text">mkdir /etc/chromium/native-messaging-hosts | ||
ln -s /etc/opt/chrome/native-messaging-hosts/ru.rtlabs.ifcplugin.json /etc/chromium/native-messaging-hosts/</source> | |||
а для Firefox | |||
<source lang="text">ln -s /opt/cprocsp/lib/amd64/libcppkcs11.so.4.0.4 /usr/lib/mozilla/plugins/lib/libcppkcs11.so</source> | |||
}} | |||
== Сертификаты КриптоПро == | == Сертификаты КриптоПро == | ||
Строка 97: | Строка 52: | ||
* {{pkg|ifcplugin-3.0.6.0-release}} | * {{pkg|ifcplugin-3.0.6.0-release}} | ||
Необходимо добавить в файл {{path|/etc/ifc.cfg}}: | Необходимо добавить в файл {{path|/etc/ifc.cfg}} в блок params:<br> | ||
''(блок в данном файле выделяется круглыми скобками, разделы блока выделяются фигурными, после закрывающей фигурной скобки раздела, если это не последний раздел в блоке, ставится запятая)'' | |||
<source lang="text"> | <source lang="text"> | ||
{ | { | ||
Строка 105: | Строка 63: | ||
alg = "gost2001"; | alg = "gost2001"; | ||
model = "CPPKCS 3"; | model = "CPPKCS 3"; | ||
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so | lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so"; | ||
}, | }, | ||
{ | { | ||
Строка 113: | Строка 71: | ||
alg = "gost2012_256"; | alg = "gost2012_256"; | ||
model = "CPPKCS 3"; | model = "CPPKCS 3"; | ||
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so | lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so"; | ||
}, | }, | ||
{ | { | ||
Строка 121: | Строка 79: | ||
alg = "gost2012_512"; | alg = "gost2012_512"; | ||
model = "CPPKCS 3"; | model = "CPPKCS 3"; | ||
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so | lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so"; | ||
}, | }, | ||
</source> | </source> | ||
''(если фигурная скобка последняя в конфигурационном файле, то запятой после нее быть не должно!)'' | |||
Журнал работы плагина можно найти в файле {{path|/var/log/ifc/engine_logs/engine.log}}. | Журнал работы плагина можно найти в файле {{path|/var/log/ifc/engine_logs/engine.log}}. | ||
Строка 138: | Строка 97: | ||
#Ввести Пин-код пользователя и нажать кнопку «Продолжить»: | #Ввести Пин-код пользователя и нажать кнопку «Продолжить»: | ||
#:[[Изображение:Esia-gosuslugi4.png|Ввод пин-кода]] | #:[[Изображение:Esia-gosuslugi4.png|Ввод пин-кода]] | ||
=Дополнительно= | |||
* [https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/275/0/vkhod-s-pomoshhju-ehlektronnojj-podpisi-n-portl-gosuslug-n-linux Вход с помощью электронной подписи на портал Госуслуг на Linux (База знаний КриптоПро)] | |||
* [https://wiki.astralinux.ru/pages/viewpage.action?pageId=53645439 КриптоПро: IFCP plugin для входа в Госуслуги (ЕСИА) (Справочный центр Astra Linux)] | |||
[[Категория:Криптография]] | [[Категория:Криптография]] | ||
{{Category navigation|title=Криптография|category=Криптография|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Криптография|category=Криптография|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 10:12, 6 июня 2022
Доступ к сайту Госуслуг
Для аутентификации через ЕСИА (https://esia.gosuslugi.ru/) потребуется токен с парой ключей и сертификатом, а также плагин для работы с порталом государственных услуг IFCPlugin.
IFCPlugin обращается к библиотеке PKCS#11 работающей, как правило, с pkcs15 токенами. Это может быть аппаратный ключ защиты (Рутокен ЭЦП, Jacarta ГОСТ и т.д.), контейнер криптопровайдера КриптоПро, или любой подходящий контейнер с поддержкой ГОСТ. Подписание и шифрование происходит внутри контейнера (средствами аппаратного ключа или средствами криптопровайдера).
Генерирование ключей и получение сертификата
Для получения сертификата необходимо:
- Сгенерировать ключ на токене в формате, совместимом с форматом плагина Госуслуг, то есть через библиотеку PKCS#11.
- Сформировать запрос на квалифицированный сертификат.
- Транспортировать запрос в аккредитованный УЦ (тестовый УЦ не подойдет).
- Получить сертификат и записать его на токен в формате, совместимом с форматом плагина Госуслуг, то есть через библиотеку 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
Для установки плагина для работы с порталом государственных услуг необходимо:
- Загрузить плагин со страницы https://ds-plugin.gosuslugi.ru/plugin/upload/ (по умолчанию начнется скачивание deb-пакета, но на странице доступны и rpm-пакеты: rpm пакет 64-bit и rpm пакет 32-bit:
- Установить плагин, выполнив из папки со скачанным плагином команду (под правами пользователя root):
# apt-get install IFCPlugin*
- Установить расширение для плагина Госуслуг, в зависимости от версии браузера:
- Перезапустить браузер.
- Убедиться, что плагин установлен и включен. В Mozilla Firefox сделать это можно на странице about:addons (или about:plugins в более ранних версиях), на странице chrome://extensions/ в Chrome/Chromium/Chromium GOST:
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.
Авторизация на сайте Госуслуг
Для авторизации на сайте Госуслуг с помощью электронной подписи следует:
- В браузере Firefox на странице авторизации Госуслуг нажать на ссылку «Вход с помощью электронной подписи»:
- Подключить токен с ключом к компьютеру, нажать кнопку «Готово»:
- Выбрать сертификат ключа проверки электронной подписи, щёлкнув левой кнопкой мыши по строке с сертификатом:
- Ввести Пин-код пользователя и нажать кнопку «Продолжить»: