Порядок токенов slot_id изменяется при перезапуске
Здравствуйте и спасибо, что нашли время, чтобы прочитать это.
Выпуск:
У меня есть 4 устройства токена с той же моделью и тем же именем, я полагаюсь на идентификатор слота (и серийный номер), чтобы определить, какое из них использовать. После 5 месяцев работы без проблем нам пришлось перезапустить сервер (плановое обслуживание) и выяснить, изменился ли идентификатор слота.
TOKEN BEFORE NOW USB PORT
Token 1 Slot 0 Slot 1 0
Token 2 Slot 1 Slot 0 1
Token 3 Slot 2 Slot 3 2
Token 4 Slot 3 Slot 2 3
Шаги, пытающиеся решить проблему:
Отключение каждого устройства и оставление только "токена 1" подключенным получает слот 0, но как только я подключаю "токен 2", он меняется на слот 1 и оставляет "токен 2" как слот 0, а токен 1 как слот 1.
Я пытался перезапустить систему udev, чтобы увидеть, что это как-то связано с порядком инициализации, но это не имеет никакого значения. Глядя в интернет, похоже, просто перезапуск udev не всегда работает с проблемами с USB ( https://askubuntu.com/a/178078).
Перезапуск каждой отдельной службы, связанной с токеном, opensc или usb, не имеет никакого значения.
Чего я пытаюсь добиться:
Я использую openssl, чтобы подписать некоторые документы. Он меняется от токена к токену в зависимости от пользователя. Поэтому я использую:
openssl [ARGS] -inkey slot_X-id_XXXXXXXXXXXXXXXX [MORE ARGS]
Мне пришлось обновить слоты, чтобы отразить каждого пользователя. Это всего лишь небольшая проблема, с которой у меня не возникает проблем каждые 6 месяцев (когда мы проводим плановое техническое обслуживание), но я хотел бы сослаться на токены по последовательному или последовательному способу подключения / отключения устройств и получения правильного слота. порядок.
Я знаю, что есть схема URI, которая разрешена в параметре inkey ( https://tools.ietf.org/html/rfc7512), но я не смог заставить ее работать.
Также приветствуется любая информация, помогающая мне решить эту проблему.
Дополнительная информация: я не думаю, что это важно, но вот оно:
**Server:**
OS: Linux (Ubuntu Server 14.06)
**Tokens:**
Slot 0 (0x0): AKS ifdh [eToken 5110 SC] 01 00
token label : MyDevice
token manufacturer : SafeNet, Inc.
token model : eToken
token flags : rng, login required, PIN initialized, token initialized, other flags=0x200
hardware version : 12.0
firmware version : 12.0
serial num : XXXXXXXX
**Inside each Token:**
Using slot 0 with a present token (0x0)
Certificate Object, type = X.509 cert
label:
Certificate Object, type = X.509 cert
label:
Certificate Object, type = X.509 cert
label: le-XXXXXXXX-XXXX-XXXX-XXXXX-XXXXXXXXXXXX
ID: XXXXXXXXXXXXXXXX
**OpenSSL Engine config**
[openssl_def]
engines = engine_section
[engine_section]
pkcs11 = pkcs11_section
[pkcs11_section]
engine_id = pkcs11
dynamic_path = /usr/lib/engines/engine_pkcs11.so
MODULE_PATH = /usr/lib/libeTPkcs11.so
Относительно списка рассылки lipb11 о том, что идентификатор слота не является постоянным, чтобы разрешить горячее подключение https://sourceforge.net/p/opensc/mailman/message/31235423/