Конфигурирование Mozilla Firefox и Google Chrome для взаимодействия с порталом Госуслуги с помощью ЭЦП

При входе на сайт госуслуг через ЭЦП у вас может возникнуть ошибка: — Не установлен плагин

и предлагается выполнить действия для его установки

Первое, что необходимо сделать — это установить плагин, перейдя по ссылке — ds-plugin.gosuslugi.ru/plugin/upload/Index.spr

И вот здесь я застрял на длительное время, не понимая, что делаю неправильно и почему плагин не работает и не предлагает выбрать ЭЦП для входа на портал госуслуг.

А вся суть проблемы оказалась в том,

Когда мы переходим на сайт, мы сразу кликаем на первую ссылку (стрелка на рис. 1) и не обращаем внимания на две нижние кнопки.

Для того чтобы плагин для ЭЦП заработал в браузерах Mozilla Firefox и Google Chrome, нужно нажать на соответствующую кнопку (стрелка на рис. 2). В моем случае это был Firefox, и после клика нас перенаправляет на другую страницу, где мы устанавливаем плагин.

По завершении установки можно убедиться, что плагин успешно установлен.

Способы проверки установленного плагина для ЭЦП в Mozilla Firefox

Кликните на иконку с тремя линиями (меню)

в разделе Дополнения и темы можно увидеть все установленные плагины в вашем браузере

Как можно заметить, у нас установлен плагин или расширение — Дополнение для плагина Госуслуги

и его статус активен (индикатор синего цвета)

Обеспечиваем работу плагина госуслуг для всех пользователей в терминальной среде

Уже более года все наши сотрудники работают исключительно в опубликованных приложениях, которые централизуются через Parallels RAS. У нас также имеется автоматический механизм публикации ЭЦП: когда авторизованный пользователь заходит на сайт, например, таможни, предварительно в его HKCU записывается ЭЦП компании и запускается нужный плагин. Это прекрасно работает с КОНТУР, СБИС, КРИПТО-ПРО, но плагин от госуслуг (IFCPlugin) потребовал доработок, и к разработчикам остались вопросы…

Советуем прочитать:  Как оформить справку о доходах для получения ипотеки в СберБанке

Когда поступила заявка на установку очередного плагина для чтения ЭЦП, я не ожидал никаких сложностей. Для работы с ЭЦП у нас выделен отдельный RDS-хост, на котором уже установлено несколько плагинов, и всё отлично функционирует. Я скачал плагин госуслуг с официального сайта и запустил установку в машинном контексте из привилегированного шелла:

msiexec -i c:pathtofilemypackage.msi ALLUSERS=1

На первый взгляд, установка прошла успешно. В списке установленных программ на этом хосте появился «Плагин пользователя систем электронного правительства», и под своей учетной записью я смог авторизоваться с помощью ЭЦП. Однако у других пользователей плагин не заработал, словно и не был установлен.

Куда же ты запропастился?

Плагин госуслуг, в отличие от других подобных решений, никак не уведомляет пользователя о своем присутствии. Нет иконки в трее, нет группы в стартовом меню, и я не нашел его в «Program Files». Так как под моей учетной записью авторизация в Chrome работала, а она функционирует с помощью браузерного плагина, который должен иметь MessagingHost, я решил поискать этот процесс.

Каково же было мое удивление, когда я обнаружил этот процесс (ifc_chrome_host.exe) в собственном $Env:APPDATA! Иными словами, инсталлятор плагина, полностью игнорируя машинный контекст, установил приложение внутри моего профиля. Причем даже не в $Env:LOCALAPPDATA, а в подлежащую роумингу часть профиля. У нас включен роуминг аппдаты (на эту тему можно долго спорить, но мы считаем, что в нашем случае это правильно). То есть IFCPlugin установился в мой профиль, хранящийся на файловом сервере, куда доступ имею только я, но зарегистрировал себя и свои классы в машинном контексте на RDS-хосте. Логично, что у других пользователей плагина, по сути, не было.

Советуем прочитать:  Пример оформления результатов психологического обследования ребёнка

Достаем напильник

Открываем старую добрую orca и смотрим на структуру директорий установщика IFCPlugin.msi:

TARGETDIR = AppDataFolder. Чем руководствовались разработчики, я понять не смог. Заменяем на ProgramFiles64Folder или ProgramFilesFolder по вкусу.

Как можно заметить, всё, кроме классов, прописывается в HKCU. Так как меня интересовала работа только плагина для Google Chrome, я изменил ветку только для трёх отмеченных параметров на 2, что соответствует HKLM. Предполагаю, что для Firefox это также будет работать аналогично.

Ещё одна доработка

Произвожу установку заново. Плагин, как и ожидалось, появляется в $Env:ProgramFiles, но у пользователей сразу же прекращается процесс ifc_chrome_host.exe, несмотря на его запуск. Используем procmon для анализа недостатков.

Выясняется, что он пытается записывать логи в следующую директорию:

$Env:ProgramFilesRostelecomIFCPluginX.X.X.Xx32LOGS

Пользователи, по умолчанию, не имеют прав на запись в эту папку. Исправляем это.

Заключение

Всё работает. Почему разработчики приняли такое решение и зачем это было сделано именно таким образом, для меня остаётся загадкой.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector