Общая информация
Для работы Offline ELM требуется USB-токен. Используется Рутокен ЭЦП 3.х.
Рисунок 29 — Внешний вид USB-токена
Рисунок 30 — Маркировка токена
Для каждой инсталляции сервера Offline ELM требуется отдельный токен. Между серверами, на которых установлен один и тот же бандл Offline ELM, токены взаимозаменяемые.
Максимально возможный срок действия токена составляет 10 лет. Если вы приобрели более долгосрочное или бессрочное лицензирование для вашего продукта, вам необходимо запланировать заблаговременное обращение в коммерческий отдел для продления токена.
Посмотреть срок действия сертификата на USB-токене можно через CLI или web-интерфейс:
Запуск Offline ELM на виртуальной машине
Для запуска Offline ELM требуется USB-токен. Если вы используете виртуальную машину, то проброс USB-токена осуществляется согласно инструкции вашего гипервизора.
Диагностика и решение проблем
Как проверить, что токен пробрасывается?
1. Подключить токен в USB-порт.
а. Если используется виртуальная машина, пробросить устройство через гипервизор.
2. Выполнить команду "lsusb" для просмотра списка доступных USB-устройств. Если в списке присутствует устройство "Aktiv Rutoken ECP", это означает, что система обнаружила USB-устройство.
$ lsusb | grep "Aktiv Rutoken ECP" Bus 001 Device 034: ID 0a89:0030 Aktiv Rutoken ECP
3. Запустить Offline ELM.
4. В логах контейнера elmi-offline-server найти упоминание USB-токена "Aktiv Rutoken ECP". Если будет следующий вывод, это означает, что Offline ELM корректно обнаружил USB-токен.
$ docker compose logs elmi-offline-server | grep "Aktiv Rutoken ECP" -A 1 elmi-offline-server | Slot 0 (0x0): Aktiv Rutoken ECP 00 00 elmi-offline-server | token label : ELM token-qsP3SaH5
5. Проверить, что токен доступен в контейнере elmi-offline-server:
$ docker exec -it elmi-offline-server bash -c "pkcs11-tool -L --module /usr/share/elmi-offline/server/lib/librtpkcs11ecp.so | egrep 'token label[[:space:]]*: ELM token' " token label : ELM token-6sBOBu1b
Если Offline ELM не может получить доступ к токену, вы логах будут следующие ошибки.
$ cat log/elmi-server/kernel.log 2025-03-17 13:54:17,479 ERROR o.e.e.s.l.ElmOfflineLib.tokenCheckAndGetSerial (line:293) - Can't open session: CKR_SLOT_ID_INVALID (The specified slot ID is not valid) 2025-03-17 13:54:17,479 ERROR o.e.e.t.o.OfflineCheckTokenThread.proc (line:41) - USB-token check failed! Can't open session: CKR_SLOT_ID_INVALID (The specified slot ID is not valid)
Возможные проблемы
Токен отображается в списке устройств, но ни Offline ELM, ни демон pcscd его не видит
Возможные причины:
- Если используется гипервизор, возможно, требуется выбрать другой способ проброса USB-токена в виртуальную машину.
- Токен проброшен одновременно в несколько виртуальных машин. Одна из них перехватила управление.
Решение:
- Ознакомиться с документацией на гипервизор. Попробовать все способы проброса USB-устройств в виртуальную машину.
- Подключить токен только к одной виртуальной машине.
Токен отображается в списке устройств, но Offline ELM его не видит
Возможные причины:
- На хосте установлен демон pcscd.
- Какой-то процесс блокирует работу с токеном на данном USB-порту.
Решение:
- Выполнить остановку демона pcscd.
- Остановить процесс, перехватывающий USB-токен. Переставить токен в другой USB-порт.