Token (токен) - это USB-ключ лицензионной защиты. Его наличие необходимо для корректной работы системы лицензирования и SSW в целом.

Установка ПО и подключение Token

Все необходимые для работы Rutoken библиотеки устанавливаются из репозитория ЭЛТЕКС вместе с пакетом ecss-node-3.14.

Для нормальной работы Etoken необходимо самостоятельно установить пакет: 

safenetauthenticationclient-core 

Вставьте Token в USB-разъем на сервере.
Для проверки подключения USB-ключа к серверу выполните команду:

lsusb

Если ключ определился, то должна быть выведена строка:

  • для eToken:

    Bus 003 Device 002: ID 0529:0620 Aladdin Knowledge Systems
  • для Rutoken:

    Bus 005 Device 002: ID 0a89:0030

    Если ключ не определяется, то выполните следующие команды в указанной последовательности:

    sudo service SACSrv stop
    sudo service pcscd stop
    sudo service pcscd start
    sudo service SACSrv start
    sudo ldconfig

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

Проверка работы токена

Для проверки работы токена можно использовать приложение pkcs11-tool.

Вывести общую информацию для ключа:

  • для eToken

    pkcs11-tool --module /usr/lib/libeToken.so -I
    
    Cryptoki version 2.1
    Manufacturer     SafeNet, Inc.
    Library          eToken PKCS#11 (ver 8.1)
    Using slot 0 with a present token (0x0)
  • для Rutoken:

    pkcs11-tool --module /usr/lib/ecss/ecss-ds/lib/lpm_storage-3.14.0.63518.156032/priv/x64/librtpkcs11ecp.so -I
    
    Cryptoki version 2.20
    Manufacturer     Aktiv Co.
    Library          Rutoken ECP PKCS #11 library (ver 1.5)
    Using slot 0 with a present token (0x0)

Отобразить доступные слоты с ключами:

  • для eToken

    pkcs11-tool --module /usr/lib/libeToken.so -L
    
    Available slots:
    Slot 0 (0x0): Aladdin eToken PRO USB 72K Java [Main Interface] 00 00
      token label:   ECSS 000001
      token manuf:   SafeNet Inc.
      token model:   eToken
      token flags:   rng, login required, PIN initialized, token initialized, other flags=0x200
      serial num  :  123456789
    Slot 1 (0x1): 
      (empty)
    Slot 2 (0x2): 
      (empty)
    Slot 3 (0x3): 
      (empty)
    Slot 4 (0x4): 
      (empty)
    Slot 5 (0x5): 
      (empty)
  • для Rutoken:

    pkcs11-tool --module /usr/lib/ecss/ecss-ds/lib/lpm_storage-3.14.0.63518.156032/priv/x64/librtpkcs11ecp.so -L
    Available slots:
    Slot 0 (0x0): Aktiv Rutoken ECP 00 00
      token label        : ECSS 000001
      token manufacturer : Aktiv Co.
      token model        : Rutoken ECP
      token flags        : rng, login required, PIN initialized, token initialized
      hardware version   : 54.1
      firmware version   : 18.0
      serial num         : 123456789
    Slot 1 (0x1): 
      (empty)
    Slot 2 (0x2): 
      (empty)
    Slot 3 (0x3): 
      (empty)
    Slot 4 (0x4): 
      (empty)
    Slot 5 (0x5): 
      (empty)
    Slot 6 (0x6): 
      (empty)
    Slot 7 (0x7): 
      (empty)
    Slot 8 (0x8): 
      (empty)
    Slot 9 (0x9): 
      (empty)
    Slot 10 (0xa): 
      (empty)
    Slot 11 (0xb): 
      (empty)
    Slot 12 (0xc): 
      (empty)
    Slot 13 (0xd): 
      (empty)
    Slot 14 (0xe): 
      (empty)
Расположение модуля для Rutoken может отличаться в зависимости от версии подсистемы DS. В общем случае пусть к файлу будет - /usr/lib/ecss/ecss-ds/lib/lpm_storage-<ВЕРСИЯ ПОДСИСТЕМЫ>/priv/x64/librtpkcs11ecp.so
Если проблемы с определением ключа остаются, то необходимо обратиться в службу технической поддержки.

Перезагрузка token по SSH в случае его зависания

Для перезагрузки USB токена необходимо выполнить следующие набор действий:

  1. Устанавливаем утилиту usb-reset

    sudo snap install usb-reset
    sudo connect usb-reset:hardware-observe core:hardware-observe
    Slot 0 (0x0): Aktiv Rutoke
  2. Проверяем, что USB токен действительно завис

    pkcs11-tool --module /usr/lib/ecss/ecss-ds/lib/lpm_storage-3.14.0.70203.423017/priv/x64/librtpkcs11ecp.so -L

    Вывод должен либо вообще ничего не показать, либо показать все слоты пустыми

  3. Узнать idVendor, idProduct USB токена. Для РуТокена команда следующая:

    sudo lsusb -v  | grep -C 10 "Rutoken ECP" 

    В указанном выводе ищем параметры idVendor, idProduct

    lsusb -v  | grep -C 10 "Rutoken ECP" 
    FIXME: alloc bigger buffer for device capability descriptors
      bDescriptorType         1
      bcdUSB               2.00
      bDeviceClass            0 (Defined at Interface level)
      bDeviceSubClass         0 
      bDeviceProtocol         0 
      bMaxPacketSize0        16
      idVendor           0x0a89 
      idProduct          0x0030 
      bcdDevice            1.00
      iManufacturer           1 Aktiv
      iProduct                2 Rutoken ECP
      iSerial                 0 
      bNumConfigurations      1
      Configuration Descriptor:
        bLength                 9
        bDescriptorType         2
        wTotalLength           93
        bNumInterfaces          1
        bConfigurationValue     1
        iConfiguration          0 
        bmAttributes         0x80
  4. Перезапустить USB-устройство

    sudo usb-reset <idVendor>:<idProduct>
  5. Смотрим что слот(ы) появились

    pkcs11-tool --module /usr/lib/ecss/ecss-ds/lib/lpm_storage-3.14.0.70203.423017/priv/x64/librtpkcs11ecp.so -L
    
    Available slots:
    Slot 0 (0x0): Aktiv Rutoken ECP 00 00
    ...