3.2.6. Установка средств поддержки смарт-карт

Клиент VDI поддерживает аутентификацию пользователя с использованием смарт-карты.

Внимание.

Работа со смарт-картой поддерживается только для ОС Linux.

Чтобы модуль функционировал со смарт-картой, необходимо проделать следующие действия:

  1. Установите пакеты: opensc, pcsc-lite, pcsc-tools.
# Ubuntu:
apt install pcscd pcsc-tools
systemctl enable pcscd && systemctl start pcscd
# ALT Linux:
apt-get install opensc
apt-get install pcsc-lite pcsc-tools

Для операционной системы CentOS, необходимо предварительно настроить актуальную версию репозитория EPEL:

rpm -Uvh epel-release*rpm

После чего установка выполняется аналогично вышеописанному, но с использованием утилиты yum:

# CentOS:
yum install opensc
yum install pcsc-lite pcsc-tools
  1. Установите необходимые зависимости (API).

Доступ клиента к смарт-картам обслуживается через API PKCS11 и PC/SC.

# ALT Linux:
apt-get install libpcsclite-dev
apt-get install python-module-OpenSSL
# CentOS:
yum install pcsc-lite-dev
yum install pyOpenSSL

Предупреждение

в EPEL есть 2 пакета: python2-pyOpenSSL (замещающий) и python36-pyOpenSSL (с зависимостями)

  1. Установите пакеты поддержки языка Python.

Для взаимодействия клиента с библиотекой поддержки смарт-карт через API PKCS11 используется пакет pykcs11. Если он не был установлен как зависимость, то следует выполнить одну из команд:

pip install pykcs11
pip3 install PyKCS11

Для работы со смарт-картой через API PC/SC используется пакет python-module-pyscard. Выполните одну из команд установки, в зависимости от используемого дистрибутива Linux:

# ALT Linux:
apt-get install python-module-pyscard

# CentOS (EPEL):
yum install pyscard

3.2.6.1. Установка библиотек поддержки ESMART Token 4.x

Скачайте архив, содержащий библиотеки ESMART Token 4.x (PKCS#11) для Linux.

Архив содержит библиотечные файлы, помещенные в поддиректории x64/Release (для 64-разрядной архитектуры). Также имеются библиотечные файлы для 32-разрядной архитектуры (x86/Release). Распакуйте содержимое архива в директорию /usr/local/.

Внимание. Архитектура приложения tionix_vdi_client и архитектура любых подключаемых динамически библиотек поддержки должны совпадать.

Необходимо настроить окружение, указывающее путь к библиотечному файлу libisbc_pkcs11_main.so. Для этого используется переменная PYKCS11LIB. Настройка переменной окружения выполняется перед запуском клиента VDI, выполнением команды:

export PYKCS11LIB="/usr/local/x64/Release/libisbc_pkcs11_main.so"

Рекомендуется после выполненной настройки проверить доступность всех зависимостей данной библиотеки, определяемых при её инициализации. Выполните команду:

ldd $PYKCS11LIB

Примечание.

Переменная PYKCS11LIB также может быть указана в качестве параметра запуска клиента (в конфигурационном файле).

Распакованные библиотеки 32-/64-разрядной поддержки в ОС CentOS7 могут быть также перенесены в директории /usr/local/lib и /usr/local/lib64.

Важно. Необходимо быть внимательным при прописывании пути в переменной PYKCS11LIB, чтобы соблюдалось требование соответствия разрядности используемого ПО и загружаемых динамически системных библиотек.

3.2.6.2. Установка библиотеки поддержки Rutoken ECP 2.0

С помощью утилиты pcsc_scan выполните поиск смарт-карты:

pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: Aktiv Rutoken ECP 00 00
...

Важно.

Во Wrapper необходимо добавить опцию /smartcard.

Скачайте библиотеку поддержки Rutoken.

Установите DEB-пакет:

sudo dpkg -i librtpkcs11ecp_2.0.9.0-1_amd64.deb

Дальше следует склонировать менеджер Рутокена:

git clone https://github.com/AktivCo/rutoken-linux-gui-manager --recursive
sudo apt -y install git
git clone https://github.com/AktivCo/rutoken-linux-gui-manager --recursive

Зайдите в директорию менеджера и запустите token-assistent.run:

cd rutoken-linux-gui-manager
./token-assistent.run

3.2.6.3. Разрешение на использование (политика доступа)

Для возможности работы со смарт-картой в ОС Linux, использующей политики доступа, необходимо выполнить (без прав суперпользователя) команды:

sed -i "s/no/yes/" /usr/share/polkit-1/actions/org.debian.pcsc-lite.policy
systemctl restart pcscd.socket

Будет включено разрешение на доступ к смарт-картам, поддерживаемым пакетом pcsc-lite.