Еще не так давно периодическая процедура типа «сдача налоговой отчетности» заставляла нервно дергаться глаз: для того, чтобы сделать это онлайн — нужна электронная подпись на USB‑токене, для того, чтобы работать с USB‑токеном нужно установить специальную программу (широко известную в узких кругах), а для того чтобы установить эту специальную программу — нужен компьютер с Windows.
Да еще у нее может закончиться срок лицензии, и тогда его надо продлевать...
Но что делать, если больше ни для чего мне Windows не нужен нигде и никогда? Держать на полке специальный старый ноубук (который все время мешается)? Завести образ виртуальной машины, который нужно будет в определенное время запускать только ради того чтобы отправить файл?
Да еще периодически обновлять программу, выполнять хотелки типа «нужно установить версию ХХХ не ниже YYY!», бороться со странными багами после установки версии XXX...
Причем, нельзя это сделать где‑то на сервере и работать удалённо — получится ошибка типа «по идейным причинам программа не работает с ключом через удаленный Рабочий стол!»‑ ну как‑то так.
Изволь поставить на свой компьютер и работать лично! Очень «удобно», когда у тебя их несколько в разных местах...
Конечно, для большинства это вообще неактуально, так как они живут в Windows, но я про свой случай говорю, а не про всеобщий.
И вот наконец‑то что‑то изменилось.
По крайней мере для Рутокен, появилась поддержка работы с ним в Линуксе, а на сайте ИФНС научились обходиться без широко известной программы.
Теперь работает это примерно так:
Допустим, у нас юрлицо или ИП — в налоговой выдали электронную подпись, записав ее на Рутокен ЭЦП 2 или 3 (не Lite! Это другое!).
На сайте ИФНС заходим в соответствующий Личный Кабинет, и выбираем там что‑то вроде «Вход в личный кабинет с помощью Рутокен ЭЦП...»
Сайт либо сразу сам начнет проверять возможность работы, либо предложит «проверить условия подключения».
Условия следующие:
— один из совместимых браузеров (Chrome, Firefox, Яндекс.Браузер и даже какой‑то Atom)
— установленный Рутокен Коннект (расширени браузера и программа)
— установленный Рутокен Плагин (расширение браузера и программа)
— сам USB‑токен и сертификат на нём.
Можно, конечно, просто потыкать по предложенным ссылочкам, но мне стало интересно посмотреть, как оно работает «под капотом».
И вот, на примере Firefox — настроим работу с электронной подписью:
Браузер совместимый — ок, сразу переходим к следующему пункту: «Установить Адаптер Рутокен Коннект».
По ссылке устанавливается расширение браузера, но оно сразу не заработает, и вот почему:
Пока установилось только расширение браузера. В каталоге ~/.mozilla/firefox/<current_profile>/extensions/ появился файл rutokenconnect@rutoken.ru.xpi
По сути внутри javascript, который перехватывает определенные обращения на странице и перенаправляет их к программе на компьютере, а её‑то у нас пока нет.
Если щелкнуть по сообщению об ошибке — браузер перейдет на страницу загрузки программы с сайта Рутокен.
В моем случае выбираю «Пользователям GNU/Linux» и ищу что‑то подходящее, для платформы ARM64, потому что у меня — Armbian.
И да, оно там есть — не только под x86, но и под arm64.
Скачиваю.deb‑файл, и можно просто установить его командой dpkg ‑i filename, но это не интересно.
Лучше распакую:
dpkg -x rtconnect-xxxx-arm64.deb dir1
cd dir1
Внутри — дерево каталогов, которые должны бы создаваться при установке.
Вручную можно перенести./opt/activco и./var/opt/activco — это сама программа и место для сертификатов, а в./opt/activco/rutokenconnect/ есть файл ru.rutoken.rtconnect.firefox.json — ссылку на него нужно поместить в ~/.mozilla/native‑messaging‑hosts/
cd var
sudo cp -R opt /var/
cd ../opt
sudo cp -R activco /opt/
cd ~/.mozilla
mkdir native-messaging-hosts
cd native-messaging-hosts
ln -s /opt/activco/rutokenconnect/ru.rutoken.rtconnect.firefox.json .
Это примерно то же самое, что установка через dpkg ‑i, но только я сам вижу что и куда копировать, не ставлю лишнего, и прописываю native‑message‑hosts локально для конкретного пользователя.
Что это вообще и зачем: установленный плагин браузера смотрит вот в этот каталог native‑messaging‑hosts, ищет там подходящий для него json‑файл, а в этом файле указано, с каким бинарником он должен взаимодействовать:
{
"name": "ru.rutoken.rtconnect",
"description": "Rutoken Connect",
"path": "/opt/aktivco/rutokenconnect/rtconnect",
"type": "stdio",
"allowed_extensions": [ "rutokenconnect@rutoken.ru" ]
}
То есть, через stdio работает с программой, указанной в path.
После установки перезапускаем браузер, снова «проверяем условия подключения»: теперь расширение браузера должно увидеть свою программу и заработать с ней.
Следующий шаг — расширение Адаптер Рутокен Плагин и соответствующий бинарный файл к нему — всё точно так же, по тому же принципу.
Ну и наконец, после того как всё установлено — остается вставить USB‑токен, и зайти в систему.
А если вы не хотите, чтобы какие‑то там расширения могли случайно подсматривать, что у вас за страницы открыты — их, во‑первых, можно просто отключить на время, а во‑вторых, ничего не мешает создать в системе отдельного пользователя и настроить расширения там.
Также, теоретически, можно настроить это всё на удаленном сервере, подключаясь к нему rdp‑клиентом.
Но главное, больше не нужно хранить отдельную машину только ради того чтобы иногда читать ключи.
Могут же сделать хорошо, когда хотят...
Комментарии (15)

Popadanec
28.09.2025 18:16Недавно систему переустанавливал, т.к. диск зашатался, вспомнилось. Одна из программ нужная для работы ЭП, лежит на отдельном сайте, чтобы скачать её, нужна обязательная авторизация. С плагинами тоже какие то траблы были. А в целом софт и сайты для ЭП как будто родом из девяностых.

yarkovoy
28.09.2025 18:16Очень много работаем с ЭЦП. Ощущение точно такие же. Каждый раз обновление ЭЦП это какая то пытка. Постоянно ошибки.

middle
28.09.2025 18:16Я когда-то это всё делал с макбука на M1, в итоге запустил в облаке виртуалку с виндой, и через RDP пробросил USB-токен (да!).

JBFW Автор
28.09.2025 18:16Но как?
Тот самый широко известный софт отказывается работать с ключом в rdp-сессии. Ни физически подключенным, ни проброшенным - именно потому что в rdp, типа небезопасно.

Feod0r
28.09.2025 18:16Вот как раз проброшенный по rdp токен это предпочитаемый способ использования в виртуальной машине. И в маке эта процедура работает без геморроя.

vgy
28.09.2025 18:16Наверное, путаете с местом физического подключения. Если токен в клиенте и проброшен по RDP - работает. Если в сервере и подключение по RDP с клиента - не работает.
Да и по-прежнему доступно копирование в реестр с лайта. Но тут на вкус и цвет, конечно

checkpoint
28.09.2025 18:16Да, всё так. Сам лично прочувствовал весь этот гимор на собственно
задшкуре. И регулярные апдейты "версия XXX ниже чем верси YYY" вручную просто задрали. Я пытался автоматизировать процесс, но графическое приложение не поддается автоматизации. Может быть кто-то знает секретные опции командной строки (если они вообще есть) ?А еще я всё это пытался сначала проделать на FreeBSD, трейсил известное приложение (оно ни как не хотело запускаться в Linuxulator-е), но всё без результатно. Пришлось поставить на бухгалтерский комп ALT Linux и Chromium GOST для таких вот специфических задач и ходить на него удаленно (бухгалтер в основном работает из дома и тоже подключается удаленно).

Malorik
28.09.2025 18:16Более 10 лет это уже перестало быть проблемой. Более, может быть. Там были танцы с бубнами. Сейчас все просто запускаешь тест страницу на сайте крипто провайдера и она вам всё ставит. А если на ставит то сообщает вам что нужно поставить в ручную и как. Даже в джинсах это перестало быть проблемой. Единственное что не как не могут исправить это при использовании более одной ЭЦП на компьютере нужно чаще чистить историю браузера и удалять от туда хлам. Иначе перестает видит подписи на любой ОС в любом браузере.

PapaKupiSlona
28.09.2025 18:16Да как-то не помню, чтобы последние лет 5 проблемы были. Как все импортозамещаться стали, софт нормальный под Линукс пошёл для работы с ЭЦП. А до этого да, лютый был трэш.

checkpoint
28.09.2025 18:16софт нормальный под Линукс пошёл для работы с ЭЦП
А какой, можно поинтересоваться ? Ну кроме того, что упоминается в статье.

PapaKupiSlona
28.09.2025 18:16В Альте из коробки всё ставится и работает, опять же встроенное крипто средство в Рутокены спокойно заводится. У Инфотекса много интересного и рабочего есть, да, платное, но качество приличное вполне, стабильное.

JBFW Автор
28.09.2025 18:16С подключением правильного модуля Рутокен прекрасно работает со стандартным pkcs11-tool, в смысле тот, который ЭЦП с криптографией внутри.
Тут главное что сделали модуль по стандарту, и скомпилировали его.
Могли сделать нестандартно, под "свою" эксклюзивную программу, или просто не сделать, как у того же Аладдина с arm, нет такой версии.

Vilos
28.09.2025 18:16Всё что связано с ЭЦП - боль, страдания и тлен... несколько лет назад пришлось с этой канителью "упражняться"....много нервов тогда потратил, работало оно через раз и через пень-колоду. Оно и на винде-то кровушки пила немало, а про линукс я вообще и не мечтал что бы это всё взлетело....а вот сейчас гляжу исправляться стали судя по статье...хоть какая-то польза от всех этих ссанкций, а так бы и не шевелились в сторону линукса. Как говорится: "пока гром не грянет, мужик не перекрестится".
baldr
Спасибо, очень полезная статья. Закрыл ИП в этом году, но ситуация знакомая и глаз дёргался, да..
Ставить всякие .deb-пакеты под sudo в систему - не оч хорошая идея для параноиков. Оно, там, между прочим, сертификаты ставит, а мы все знаем для чего нужны доверенные сертификаты. Я бы в следующий раз себе попробовал как-то это всё упаковать в контейнеры - Docker или Snap. Вместо Firefox, возможно, лучше подойдёт Chromium-Gost - он специально собирается с поддержкой ГОСТ-шифрования.
JBFW Автор
Вот поэтому неизвестный deb распаковываю, и ручками.
Там же еще установочные скрипты, кто его знает что они сделают....