3.2.6. Установка средств поддержки смарт-карт¶
Клиент VDI поддерживает аутентификацию пользователя с использованием смарт-карты.
Внимание.
Работа со смарт-картой поддерживается только для ОС Linux.
Чтобы модуль функционировал со смарт-картой, необходимо проделать следующие действия:
- Установите пакеты: 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
- Установите необходимые зависимости (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 (с зависимостями)
- Установите пакеты поддержки языка 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
.