Порядок токенов 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/

0 ответов

Другие вопросы по тегам