Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Kstovo  
#1 Оставлено : 14 октября 2020 г. 12:30:06(UTC)
Kstovo

Статус: Новичок

Группы: Участники
Зарегистрирован: 14.10.2020(UTC)
Сообщений: 4
Российская Федерация
Откуда: Рыбинск

Приветствую!

Столкнулись тут с проблемой авторизации на Госуслугах под Linux. После трёх дней ковыряния, поисков в интернетах и озарения, решение нашлось.

Суть проблемы: нет авторизации на Госуслугах, сообщение на форме авторизации "отсутствую действующие сертификаты".
Сопутствующие проблемы: если править конфиг IFCPlugin'а, то он предлагает его переустановить при авторизации.

Не смотря на вышеописанные проблемы, сам КриптоПРО, плагин КриптоПРО и некоторые ресурсы с авторизацией через ЭЦП (СБИС, например), работают прекрасно и всё видят, но вот авторизоваться на Госуслугах - не получается.

Набор для работы:
- ОС на ядре Linux (Ubuntu 18.04/20.04)
- CryptoPRO CSP 4 (9963)
- Плагин CryptoPRO (Linux)
- Плагин ЕСИА (IFCPlugin, Linux), версия на момент написания 3.1.1
- Браузер (любой, кроме ишака естественно)
- Токен RuToken Lite (для S только драйвер нужен)

Решение:
1. Ставим библиотеки
$ sudo apt install pcscd pcsc-tools opensc lsb-core lsb-release

2. Ставим КриптоПРО по дефолту через
$ sudo sh cp-4/linux-amd64_deb/install.sh

3. Доустанавливаем пакеты для работы с RuToken'ами
$ sudo dpkg --install cp-4/linux-amd64_deb/cprocsp-rdr-{gui-gtk,pcsc,rutoken}*.deb cp-4/linux-amd64_deb/lsb-cprocsp-{pkcs11-64}*.deb

3.1 Для RuToken S не забываем установить драйвера (хотя они ставятся вместе с КриптоПРО, но можно и обновить скачав свежие с сайта РуТокен)
$ sudo dpkg --install ifd-rutokens_*_amd64.deb

4. Ставим плагин КриптоПРО
$ sudo dpkg --install cp-4/cades_linux_amd64/cprocsp-pki-{cades,plugin}*.deb

5. Ставим плагин ЕСИА
$ sudo dpkg --install IFCPlugin-x86_64.deb

6. Правим конфиг плагина ЕСИА
$ sudo $EDITOR /etc/ifc.cfg

И добавляем в конец следующее:
...
{ name = "Crypto PRO CSP";
alias = "Crypto PRO CSP 4 KC1"
type = "pkcs11";
alg = "gost2001";
model = "CPPKCS 3";
lib_linux = "/opt/cprocsp/lib/amd64/libcppkcs11.so"
}
...

7. Ставим сертификат в хранилище
$ /opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -fqcn -verifyc
...
\\.\Aktiv Rutoken lite 00 00\bla-bla-bla
...

$ /opt/cprocsp/bin/amd64/certmgr -install -store umy -cont '\\.\Aktiv Rutoken Lite 00 00\bla-bla-bla'

8. Запускаем браузер, проверяем работу плагина КриптоПРО, проверяем работу с ЕСИА...

9. Возможно, потребуется установка сертификатов головных УЦ, тогда качаем сертификаты и устанавливаем их (на примере ТЕНЗОР'а)
$ /opt/cprocsp/bin/amd64/certmgr -install -store uroot -file ~/Downloads/tensorca-2018_cp_gost2012.cer
$ /opt/cprocsp/bin/amd64/certmgr -install -store uroot -file ~/Downloads/uc_tensor-2018_gost2012.cer

Как обнаружилось: хорошо, что разрабы IFCPlugin'а добавили лог, в логе было вот что...

Первый tail, после добавления секции из пункта 6, но с данными с одной из темы (от 2018 года, вроде) на форуме, содержал в себе следующее:
tail /var/log/ifc/engine_logs/engine.log
2020-10-14 11:11:40:IFC:get_slot_and_token_info:Token Model: "Rutoken lite"
2020-10-14 11:11:40:IFC:get_slot_and_token_info:result [0]
2020-10-14 11:11:40:IFC:check_token_support:STARTED
2020-10-14 11:11:40:IFC:check_token_support:result [17]
2020-10-14 11:11:40:IFC:list_keys_pkcs11:Token is not supported -> skip it
2020-10-14 11:11:40:IFC:list_keys_pkcs11:result [0]
2020-10-14 11:11:40:IFC:ifc_get_list_info:result [0]
2020-10-14 11:11:40:WEBLIB:process_request:Response string(length = 50) = "{"error_code":0,"ifc_list":[],"ifc_list_length":0}"
2020-10-14 11:11:40:WEBLIB:process_request:Request string(length = 97) = "{"func_name":"get_list_certs_by_cryptoid_array","params":{"cryptoID_array":[],"show_progress":0}}"
2020-10-14 11:11:40:WEBLIB:process_request:Response string(length = 34) = "{"error_code":0,"result_array":[]}"

В том виде данной секции отсутствовали параметры alg и model, а lib_linux была обозначена просто как libcppkcs11.so. Далее, решено было изменить параметр lib_linux на полный путь до библиотеки (в данном случае до симлинка ;), после чего выхлоп получился следующий:
tail /var/log/ifc/engine_logs/engine.log
2020-10-14 11:20:25:IFC:init_ifc_config:STARTED
2020-10-14 11:20:25:IFC:init_ifc_config:result [0]
2020-10-14 11:20:25:IFC:init_ifc_records:STARTED
2020-10-14 11:20:25:IFC:init_ifc_records:params count: 11
2020-10-14 11:20:25:IFC:check_ifc_record:ERROR:config params with number [10] not contained 'alg':init.c:48
2020-10-14 11:20:25:IFC:init_ifc_records:result [-1]
2020-10-14 11:20:25:IFC:ifc_create:Config records were read from config: -1
2020-10-14 11:20:25:IFC:ifc_create:ifc_create result [2]
2020-10-14 11:20:25:WEBLIB:log_error:ERROR:Error 2: Configuration Error:weblib.cpp:184
2020-10-14 11:20:25:WEBLIB:process_request:Response string(length = 16) = "{"error_code":2}"

И тут пошло-поехало... Добавили параметры alg и model со значениями "gost2012" и "RuToken lite" соответственно, получили сначала выхлоп:
tail /var/log/ifc/engine_logs/engine.log
2020-10-14 11:21:47:IFC:get_slot_and_token_info:Token Model: "CPPKCS 3"
2020-10-14 11:21:47:IFC:get_slot_and_token_info:result [0]
2020-10-14 11:21:47:IFC:check_token_support:STARTED
2020-10-14 11:21:47:IFC:check_token_support:result [17]
2020-10-14 11:21:47:IFC:list_keys_pkcs11:Token is not supported -> skip it
2020-10-14 11:21:47:IFC:list_keys_pkcs11:result [0]
2020-10-14 11:21:47:IFC:ifc_get_list_info:result [0]
2020-10-14 11:21:47:WEBLIB:process_request:Response string(length = 50) = "{"error_code":0,"ifc_list":[],"ifc_list_length":0}"
2020-10-14 11:21:47:WEBLIB:process_request:Request string(length = 97) = "{"func_name":"get_list_certs_by_cryptoid_array","params":{"cryptoID_array":[],"show_progress":0}}"
2020-10-14 11:21:47:WEBLIB:process_request:Response string(length = 34) = "{"error_code":0,"result_array":[]}"

Поменяли параметр model на "CPPKCS 3" и получили выхлоп:
tail /var/log/ifc/engine_logs/engine.log
2020-10-14 11:23:11:pkcs11_engine-Crypto PRO CSP 4 KC1-0:check_if_token_in_slot_and_set_slot_and_token_info_to_ctx:PASSED
2020-10-14 11:23:11:pkcs11_engine-Crypto PRO CSP 4 KC1-0:open_session:ctx->slot_id = 0 ctx->sess_flags = 6
2020-10-14 11:23:11:pkcs11_engine-Crypto PRO CSP 4 KC1-0:open_session:PASSED
2020-10-14 11:23:11:IFC:load_pkcs11_engine:pkcs11 session was opened
2020-10-14 11:23:11:IFC:pkcs11_engine_login:STARTED
2020-10-14 11:23:11:IFC:pkcs11_engine_login:user pin is NULL
2020-10-14 11:23:11:IFC:pkcs11_engine_login:result [0]
2020-10-14 11:23:11:IFC:load_pkcs11_engine:ERROR:unsupported algoritm:pkcs11_specific.c:555
2020-10-14 11:23:11:IFC:load_pkcs11_engine:result [0]
2020-10-14 11:23:11:IFC:ifc_init_pkcs11_engine:result [0]

Который привёл в ступор, так как ЭЦП сделана именно с помощью ГОСТ-2012, а не 2001. На шару алгоритм был изменён на "gost2001" и всё заработало.

Такая вот история (:

ps./ Надеюсь, кому нибудь эта информация поможет ;)

Отредактировано пользователем 15 октября 2020 г. 13:42:53(UTC)  | Причина: Изменён пункт 3. Добавлена команда установки пакета pkcs11

Offline Александр Лавник  
#2 Оставлено : 14 октября 2020 г. 13:22:06(UTC)
Александр Лавник

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,376
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 773 раз в 715 постах
Здравствуйте.

В нашей базе знаний есть статья по настройке входа на портал Госуслуг на Linux.
Техническую поддержку оказываем тут
Наша база знаний
Offline Kstovo  
#3 Оставлено : 15 октября 2020 г. 9:12:58(UTC)
Kstovo

Статус: Новичок

Группы: Участники
Зарегистрирован: 14.10.2020(UTC)
Сообщений: 4
Российская Федерация
Откуда: Рыбинск

Да, есть, читали. Изначально делали именно по этой статье. Только если делать по ней - на данный момент ничего не работает, всплывают как раз указанные в топике проблемы. Цели переписать вашу статью не было. Была цель показать какие подводные камни появились и как их решить. По моему скромному мнению, небольшое дополнение такого вида вашей статье не помешает (в виде раздела "Возможные проблемы", как на ArchWiki, например).
Offline Александр Лавник  
#4 Оставлено : 15 октября 2020 г. 10:40:36(UTC)
Александр Лавник

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,376
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 773 раз в 715 постах
Автор: Kstovo Перейти к цитате
Да, есть, читали. Изначально делали именно по этой статье. Только если делать по ней - на данный момент ничего не работает, всплывают как раз указанные в топике проблемы. Цели переписать вашу статью не было. Была цель показать какие подводные камни появились и как их решить. По моему скромному мнению, небольшое дополнение такого вида вашей статье не помешает (в виде раздела "Возможные проблемы", как на ArchWiki, например).

Здравствуйте.

Спасибо за обратную связь.

Уточните, пожалуйста, чего именно не хватает (или что лишнее) в статье в базе знаний?

По тому, что описали Вы, есть как минимум 3 замечания:

1) Необходима установка пакета lsb-cprocsp-pkcs11 (в статье в базе знаний об этом написано).

2) Для входа на портал Госуслуг нет необходимости устанавливать КриптоПро ЭЦП Browser Plug-in 2.0, для этого используется плагин IFCPlugin (поэтому в статье в базе знаний про установку КриптоПро ЭЦП Browser Plug-in 2.0 и не написано).

3) Если у Вас установлен также ViPNet CSP, то просто добавление в конец конфигурационного файла IFCPlugin нужной секции не поможет, нужен конфигурационный файл без секций ViPNet CSP (в статье в базе знаний указаны ссылки именно на такие конфигурационные файлы).
Техническую поддержку оказываем тут
Наша база знаний
Offline Kstovo  
#5 Оставлено : 15 октября 2020 г. 13:41:06(UTC)
Kstovo

Статус: Новичок

Группы: Участники
Зарегистрирован: 14.10.2020(UTC)
Сообщений: 4
Российская Федерация
Откуда: Рыбинск

1. Да, пропустил, когда писал топик, спасибо что указали на это, но установка данного пакета не решала возникшей проблемы.
2. Установка плагина КриптоПРО для входа на Госуслуги не требуется, но требуется для других сервисов. Да и просто для проверки не помешает.
3. VipNet, слава Б*гу, не установлен.

Топик больше посвящён проблеме с IFCPlugin'ом, нежели КриптоПРО. В статье считаю уместным добавить небольшой раздел "Возможные проблемы", описывающий добавление корректной секции в конфигурацию IFCPlugin'а, в случае если вдруг при авторизации портал пишет "отсутствуют действующие сертификаты". Как-то так...

Если Вы считаете, что данная тема не нужна и Ваша документация полная, можете тему удалить. Мне не жалко. Я теперь знаю как данную проблему обойти, но вот кто-то другой может будет биться с такой же проблемой те же три дня (или больше), вместо того, чтоб найти ответ здесь. Мне форум и документация помогли лишь направлением в решении проблемы, а не конкретным решением которое я описываю.
Offline Александр Лавник  
#6 Оставлено : 15 октября 2020 г. 14:09:22(UTC)
Александр Лавник

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,376
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 773 раз в 715 постах
Автор: Kstovo Перейти к цитате
1. Да, пропустил, когда писал топик, спасибо что указали на это, но установка данного пакета не решала возникшей проблемы.
2. Установка плагина КриптоПРО для входа на Госуслуги не требуется, но требуется для других сервисов. Да и просто для проверки не помешает.
3. VipNet, слава Б*гу, не установлен.

Топик больше посвящён проблеме с IFCPlugin'ом, нежели КриптоПРО. В статье считаю уместным добавить небольшой раздел "Возможные проблемы", описывающий добавление корректной секции в конфигурацию IFCPlugin'а, в случае если вдруг при авторизации портал пишет "отсутствуют действующие сертификаты". Как-то так...

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

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

Должно работать и при настройке с этими конфигурационными файлами.

Обычно перед очередным релизом КриптоПро CSP мы также проверяем и вход на портале Госуслуг с настройками по рекомендациям в базе знаний.

Тему, естественно, нужно оставить.

Надеюсь, информация в ней поможет другим пользователям с аналогичным вопросом.

Спасибо за уделенное описанию на форуме процедуры настройки время.
Техническую поддержку оказываем тут
Наша база знаний
Offline Kstovo  
#7 Оставлено : 15 октября 2020 г. 16:00:20(UTC)
Kstovo

Статус: Новичок

Группы: Участники
Зарегистрирован: 14.10.2020(UTC)
Сообщений: 4
Российская Федерация
Откуда: Рыбинск

Автор: Александр Лавник Перейти к цитате

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


Если я правильно понимаю, то в статье указано вот что:

Цитата:

sudo cp ~/ifcx64.cfg /etc/ifc.cfg
/opt/cprocsp/bin/amd64/csptestf -absorb -certs -autoprov


Конфига ~/ifcx64.cfg в моём случае не оказалось и данные команды не работали. Пришлось ручками добавлять нужную секцию. Работай всё изначально, возможно и топик бы создавать не пришлось. Может добавить в статье либо команду проверки наличия данной секции, либо явно добавить данную секцию со словами типа "... а теперь мы ручками добавим нужную секцию туда-то..."? Как по мне, лучше добавить команду, которая без загрузки конфигов просто добавит нужную секцию, так как КриптоПРО могут устанавливать уже после того же VipNet'a и затирать существующий конфиг, ну как-то совсем не Ок.

Отредактировано пользователем 15 октября 2020 г. 16:03:33(UTC)  | Причина: Не указана

Offline Александр Лавник  
#8 Оставлено : 15 октября 2020 г. 21:05:20(UTC)
Александр Лавник

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 30.06.2016(UTC)
Сообщений: 3,376
Мужчина
Российская Федерация

Сказал «Спасибо»: 53 раз
Поблагодарили: 773 раз в 715 постах
Автор: Kstovo Перейти к цитате
Автор: Александр Лавник Перейти к цитате

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


Если я правильно понимаю, то в статье указано вот что:

Цитата:

sudo cp ~/ifcx64.cfg /etc/ifc.cfg
/opt/cprocsp/bin/amd64/csptestf -absorb -certs -autoprov


Конфига ~/ifcx64.cfg в моём случае не оказалось и данные команды не работали. Пришлось ручками добавлять нужную секцию. Работай всё изначально, возможно и топик бы создавать не пришлось. Может добавить в статье либо команду проверки наличия данной секции, либо явно добавить данную секцию со словами типа "... а теперь мы ручками добавим нужную секцию туда-то..."? Как по мне, лучше добавить команду, которая без загрузки конфигов просто добавит нужную секцию, так как КриптоПРО могут устанавливать уже после того же VipNet'a и затирать существующий конфиг, ну как-то совсем не Ок.

1) В статье есть пункт (3):

Цитата:
3) Загрузить файл конфигурации для IFCPlugin (x86, x64) в домашнюю директорию текущего пользователя.

Поэтому, если делать все по статье, то файл конфигурации будет в нужном месте.

2) Конфигурационный файл IFCPlugin затирается при установке плагина IFCPlugin, а не при установке КриптоПро CSP или ViPNet CSP.

3) Про команду добавления нужной секции (и для полной работоспособности еще и удаления секций ViPNet CSP) думаю, что загрузка и замена файла выглядит немного проще (но это конечно только мое личное мнение).
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.