Подробный гайд по настройке Рутокен ЭЦП и Magistra в Linux и macOS - Часть 1

Подробный гайд по настройке Рутокен ЭЦП и Magistra в Linux и macOS. Установка драйверов, КриптоПро CSP, импорт сертификатов и работа с ЭЦП в браузере.

2026.09.06                  


Подробный гайд по настройке Рутокен ЭЦП и Magistra в Linux и macOS - Часть 1Подробный гайд по настройке Рутокен ЭЦП и Magistra в Linux и macOS - Часть 1

1. Рутокен — это ещё не всё, что нужно для ЭЦП

Для российской квалифицированной электронной подписи по ГОСТ обычно нужна цепочка:

Аппаратный токен Рутокен
        ↓
Драйверы Рутокен / PC/SC / PKCS#11
        ↓
Криптопровайдер: КриптоПро CSP или ViPNet CSP
        ↓
Приложение / браузер / криптоплагин

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




2. Рутокен ЭЦП и Рутокен Magistra

Условно:

Модель Особенности
Рутокен ЭЦП Классические аппаратные токены для ЭЦП, часто встречаются в связке с КриптоПро. Старые модели могут хуже работать на новых macOS и некоторых свежих ядрах Linux.
Рутокен Magistra Более новая линейка/модификация. Обычно требует более свежих драйверов «Актив» и актуального КриптоПро. Часто лучше совместима с современными ОС, но нужно проверять поддержку конкретной ревизии.

В большинстве случаев оба семейства работают через один и тот же комплект драйверов Рутокен для Linux/macOS, но для Magistra лучше ставить максимально свежую версию драйверов и прошивки.


3. Что понадобится

Перед настройкой подготовьте:

  1. Сам токен Рутокен.
  2. PIN-код пользователя токена.
  3. Административный / SO PIN, если он известен и нужен.
  4. Сертификат ЭП и цепочку корневых/промежуточных сертификатов удостоверяющего центра.
  5. Лицензию КриптоПро CSP, если требуется коммерческое использование.
  6. Права администратора в ОС.
  7. Браузер, который будет использоваться для подписи: обычно лучше всего подходят Chrome/Chromium, Яндекс Браузер, Chromium-GOST. Safari — часто проблемный вариант.

1. Общая схема работы

Для Linux

USB-токен
   ↓
pcscd + CCID
   ↓
Драйвер Рутокен PC/SC / PKCS#11
   ↓
КриптоПро CSP
   ↓
cryptcp / csptest / браузерный плагин / приложение

2. Подготовка токена и PIN-кодов

1. Не начинайте с форматирования

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


2. PIN-коды по умолчанию

У многих Рутокенов с завода:

Роль PIN по умолчанию
Пользователь 12345678
Администратор / SO 87654321

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


3. Обязательно смените PIN

Если токен новый и вы уверены, что на нём нет чужих данных, смените PIN по умолчанию.

Через pkcs11-tool это обычно выглядит так:

pkcs11-tool --module /путь/к/librtpkcs11.so \
  --login --pin СТАРЫЙ_PIN \
  --change-pin --new-pin НОВЫЙ_PIN

Для административного / SO PIN:

pkcs11-tool --module /путь/к/librtpkcs11.so \
  --login --login-type so --so-pin СТАРЫЙ_SO_PIN \
  --change-pin --new-pin НОВЫЙ_SO_PIN

Важно: если заблокированы и пользовательский, и административный PIN, восстановление часто невозможно. Токен придётся переинициализировать, а данные на нём могут быть утеряны.


3. Установка и проверка в Linux

3.1. Установка базовых компонентов PC/SC

Debian / Ubuntu / Astra Linux / РЕД ОС / Альт на базе apt

sudo apt update
sudo apt install pcscd pcsc-tools libccid libusb-1.0-0 usbutils opensc

Запуск службы:

sudo systemctl enable --now pcscd.socket
sudo systemctl enable --now pcscd.service

Если pcscd.socket отсутствует в вашем дистрибутиве:

sudo systemctl enable --now pcscd

Fedora / RHEL / CentOS / Rocky / AlmaLinux

sudo dnf install pcsc-lite pcsc-tools ccid libusb usbutils opensc
sudo systemctl enable --now pcscd.socket pcscd.service

3.2. Установка драйверов Рутокен

Драйверы нужно брать с официального сайта «Актив» или из комплекта, который дал удостоверяющий центр.

Обычно для Linux доступны пакеты:

  • .deb для Debian/Ubuntu/Astra/Альт;
  • .rpm для RHEL/Fedora/РЕД ОС;
  • иногда архив или .run-установщик.

Пример установки, если вы находитесь в каталоге с загруженными пакетами:

Debian/Ubuntu

sudo apt install ./librtpcsc*.deb ./librtpkcs11*.deb ./rutoken*.deb


или просто:

sudo apt install ./*.deb

RHEL/Fedora

sudo rpm -Uvh *.rpm

или:

sudo dnf install ./*.rpm

После установки перезапустите pcscd:

sudo systemctl restart pcscd

Иногда полезно перечитать udev-правила:

sudo udevadm control --reload-rules
sudo udevadm trigger

3.3. Проверка, что токен виден системе

Вставьте токен.

Проверка по USB:

lsusb | grep -i "Aktiv\|Rutoken"

Диагностика смарт-карт:

pcsc_scan

В норме вы должны увидеть что-то вроде:

Card state: Card inserted
ATR: 3B ...

или название устройства:

Aktiv Co. Rutoken ...

Если pcsc_scan не видит токен, смотрите раздел диагностики.


3.4. Поиск библиотеки PKCS#11 Рутокен

Драйвер Рутокен обычно устанавливает библиотеку librtpkcs11.so.

Найти её можно так:

MODULE=$(find /usr/lib /usr/lib64 /usr/local/lib /opt -name 'librtpkcs11*.so*' 2>/dev/null | head -n1)
echo "$MODULE"

Если команда выводит путь, например:

/usr/lib/x86_64-linux-gnu/librtpkcs11.so

значит библиотека установлена. Если ничего не нашлось — драйвер не установлен или установлен не для вашей архитектуры.


3.5. Проверка токена через PKCS#11

Установите opensc, если ещё не установлен:

sudo apt install opensc
# или
sudo dnf install opensc

Просмотр слотов:

pkcs11-tool --module "$MODULE" --list-slots

Просмотр механизмов:

pkcs11-tool --module "$MODULE" --list-mechanisms

Попытка войти с пользовательским PIN:

pkcs11-tool --module "$MODULE" --login --pin ВАШ_PIN --list-objects

Для ГОСТ-операций pkcs11-tool из OpenSC может показывать объекты, но не всегда умеет корректно выполнять российские алгоритмы. Для реальной подписи лучше использовать КриптоПро CSP или приложение, которое явно поддерживает ГОСТ и Рутокен.


4. КриптоПро CSP в Linux

4.1. Скачивание

КриптоПро CSP скачивается с сайта КриптоПро.

Обычно нужен архив вида:

linux-amd64.tgz

или аналогичный для вашей архитектуры.


4.2. Установка

Пример для стандартного пакета:

tar -xzf linux-amd64.tgz
cd linux-amd64
sudo ./install.sh

Или установка конкретных пакетов через пакетный менеджер:

Debian/Ubuntu

sudo apt install ./cprocsp-rdr*.deb ./cprocsp-rdr-pcsc*.deb ./cprocsp-rdr-pkcs11*.deb ./cprocsp-rdr-gost*.deb

RHEL/Fedora

sudo rpm -Uvh cprocsp-rdr*.rpm cprocsp-rdr-pcsc*.rpm cprocsp-rdr-pkcs11*.rpm cprocsp-rdr-gost*.rpm

На практике лучше использовать установщик или пакеты, рекомендованные КриптоПро для вашей ОС.


4.3. Важные компоненты КриптоПро

Для работы с Рутокен обычно нужны:

Компонент Назначение
cprocsp-rdr Базовые компоненты чтения
cprocsp-rdr-gost Поддержка ГОСТ
cprocsp-rdr-pcsc Работа со смарт-картами
cprocsp-rdr-pkcs11 PKCS#11-доступ
cprocsp-rdr-curl Работа с CRL/OCSP по сети
браузерный плагин Подпись в браузере

Названия пакетов могут отличаться в разных версиях.


4.4. Пути к утилитам

Обычно утилиты находятся в:

/opt/cprocsp/bin/amd64/

или

/opt/cprocsp/bin/x86_64/

или на ARM:

/opt/cprocsp/bin/arm64/

Для удобства можно задать переменную:

CPBIN=$(dirname "$(find /opt/cprocsp/bin -name cryptcp -type f 2>/dev/null | head -n1)")
echo "$CPBIN"

Дальше в примерах используется $CPBIN.


4.5. Лицензия

Проверка лицензий:

sudo /opt/cprocsp/sbin/amd64/cpconfig -license list

Установка лицензии:

sudo /opt/cprocsp/sbin/amd64/cpconfig -license set НОМЕР-ЛИЦЕНЗИИ

Если у вас 32/64-битная система или нестандартная установка, путь к cpconfig может отличаться.


5. Проверка токена через КриптоПро в Linux

5.1. Список контейнеров



sudo "$CPBIN/csptest" -keyset -enum_cont -verifyc -fqcn

Если токен с контейнером виден, вы увидите контейнеры вида, например:

Rutoken ECP ...

или

Magistra ...

Если контейнеров нет, но токен виден в pcsc_scan, проблема чаще всего в:

  • отсутствии компонентов КриптоПро для смарт-карт;
  • отсутствии драйвера Рутокен;
  • неправильной архитектуре пакетов;
  • остановленном pcscd;
  • блокировке USB;
  • слишком старом КриптоПро для данной модели токена.

5.2. Список сертификатов

sudo "$CPBIN/certmgr" -list -store uMy

Если хранилище называется иначе, попробуйте:

sudo "$CPBIN/certmgr" -list
sudo "$CPBIN/certmgr" -list -store My
sudo "$CPBIN/certmgr" -list -store Root
sudo "$CPBIN/certmgr" -list -store CA

6. Установка сертификатов в КриптоПро в Linux

6.1. Корневой сертификат УЦ

sudo "$CPBIN/certmgr" -add -file root.cer -store Root

Если версия КриптоПро требует другое имя хранилища:

sudo "$CPBIN/certmgr" -add -file root.cer -store uRoot

6.2. Промежуточный сертификат

sudo "$CPBIN/certmgr" -add -file subca.cer -store CA

или:

sudo "$CPBIN/certmgr" -add -file subca.cer -store uCA

6.3. Личный сертификат

Если личный сертификат уже на токене, отдельно импортировать его не всегда нужно.

Но если у вас есть файл сертификата без ключа и его нужно добавить:

sudo "$CPBIN/certmgr" -add -file personal.cer -store uMy

или:

sudo "$CPBIN/certmgr" -add -file personal.cer -store My

6.4. Проверка

sudo "$CPBIN/certmgr" -list -store uMy

Вам нужен отпечаток сертификата, обычно он называется:

Thumbprint

или

Отпечаток

7. Подписание файлов в Linux через КриптоПро

7.1. Отсоединённая подпись

sudo "$CPBIN/cryptcp" -sign -detached -thumbprint ОТПЕЧАТОК_СЕРТИФИКАТА document.pdf

Обычно рядом создаётся файл:

document.pdf.sig

7.2. Указание имени выходного файла

sudo "$CPBIN/cryptcp" -sign -detached -thumbprint ОТПЕЧАТОК_СЕРТИФИКАТА -out document.sig document.pdf

7.3. Проверка подписи

sudo "$CPBIN/cryptcp" -verify -detached document.sig document.pdf

или:

sudo "$CPBIN/cryptcp" -verify document.sig document.pdf

7.4. Если контейнеров несколько

Можно указать контейнер явно.

Имя контейнера лучше взять из вывода:

sudo "$CPBIN/csptest" -keyset -enum_cont -verifyc -fqcn

Пример:

sudo "$CPBIN/cryptcp" -sign -detached -cont 'ИМЯ_КОНТЕЙНЕРА' document.pdf

8. Браузерная подпись в Linux

Для работы на сайтах с ЭЦП обычно нужен:

  1. КриптоПро CSP.
  2. КриптоПро ЭЦП Browser Plug-in / браузерный плагин.
  3. Расширение для браузера.
  4. Корневые сертификаты УЦ.
  5. Личный сертификат и ключ на токене.

8.1. Браузеры

Лучше всего использовать:

  • Яндекс Браузер;
  • Chromium;
  • Chrome;
  • Chromium-GOST.

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


8.2. Установка браузерного плагина

Устанавливается либо через пакет КриптоПро, либо отдельно с сайта КриптоПро.

Пример установки пакета, если он есть в каталоге:

sudo apt install ./cprocsp-browser-plugin*.deb

или:

sudo rpm -Uvh cprocsp-browser-plugin*.rpm

Далее в браузер ставится расширение:

  • из магазина расширений;
  • или вручную, если это корпоративная/сертифицированная поставка.

После установки:

  1. Перезапустите браузер.
  2. Включите расширение.
  3. Добавьте нужные сайты в исключения/доверенные.
  4. Проверьте, что плагин видит сертификаты.

8.3. Типичные симптомы проблем в браузере

Симптом Вероятная причина
Плагин не виден Не установлен браузерный плагин, расширение отключено
Сертификаты не отображаются Нет личного сертификата, нет ключа, токен не разблокирован
Подпись не выполняется Не хватает корневых сертификатов, неверная цепочка, не установлен КриптоПро
Сайт требует установить плагин повторно После обновления браузера нужно переустановить расширение
Всё работало, потом перестало Обновился браузер, сломалась совместимость плагина



9. Особенности Рутокен Magistra в Linux

Для Рутокен Magistra особенно важно:

  1. Использовать свежие драйверы «Актив».
  2. Использовать актуальную версию КриптоПро.
  3. Проверить, что токен не переведён в несовместимый режим.
  4. Проверить, что хватает питания по USB, особенно через хабы и переходники.
  5. Если токен имеет кнопку подтверждения — подтверждать операцию на токене при подписи.

Если старый Рутокен ЭЦП может работать на старой системе, а на новой не определяться, то для Magistra чаще обратная ситуация: старые драйверы могут не знать новое устройство.

Проверка:

lsusb | grep -i "Aktiv\|Magistra\|Rutoken"
pcsc_scan

Если устройство видно как unknown device, но не видно в pcsc_scan, обновите:

sudo apt update
sudo apt upgrade pcscd libccid

или аналогично в вашем дистрибутиве.


Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта