См. также: Запуск службы pcscd с ненулевыми мандатными атрибутами
Etoken
- -это USB-токены и смарт-карты с аппаратной реализацией зарубежных криптоалгоритмов, предназначенные для работы с инфраструктурой открытых ключей (PKI).
Поддерживаемые модели eToken в Astra Linux
- 4100
- 5100
- 5105
- 5110
- 5200
- Pro 72k
- NG-OPT
Установка
Для выполнения действий данной инструкции необходимо установить следующие пакеты из репозитория Astra Linux:
- библиотека libccid
- пакеты libpcsclite1 и pcscd;
- opensc
Для установки в терминале введите команду:
sudo apt install libccid pcscd libpcsclite1 opensc libengine-pkcs11-openssl*
Установка SafeNet Authentication Client
SafeNet Authentication Client – это программный клиент, который позволяет взаимодействовать прикладному программному обеспечению с электронными ключами и смарт-картами eToken производства компании Gemalto. Помимо набора драйверов и интерфейсов для взаимодействия Safenet Authentication Client включает необходимый набор функций для организации локального администрирования электронных ключей и смарт-карт.
Сам клиент следует загрузить с официального сайта Gemalto
После загрузки клиента с офф. сайта, его следует установить. Для этого введите команду:
sudo dpkg -i SafenetAuthenticationClient-amd64.deb
Если при запуске SafeNet Authentication client возникает ошибка:
CRYPTO/Crypto.c:247: init_openssl_crypto: Assertion lib failed.
то для корректной работы, следует создать символическую ссылку на нужную библиотеку. Для этого в терминале, нужно ввести команду:
Проверка работы eToken в системе
Для проверки работы Etoken:
Подключите устройство к компьютеру.
Способ №1
Введите команду:
pkcs11-tool --module /usr/lib/libeToken.so -T
Способ №2
Выберите в Меню "Пуск" → "Прочие" → "SafeNet Authentication Сlient Tools" и подключите токен. После чего должна отобразиться информация о подключенном токене:
Инициализация токена eToken
Для инициализации токена необходимо воспользоваться утилитой pkcs11-tool.
pkcs11-tool --login --init-token --label "eToken Astra" --init-pin 12345678 --module /usr/lib/libeToken.so
--slot 0 — указывает в какой виртуальный слот подключено устройство. Как правило, это слот 0, но могут быть и другие значения – 1,2 и т.д.
--init-token – команда инициализации токена.
--pin - пин код пользователя.
--label 'eToken Astra' - метка(название) устройства.
--module - указывает путь до библиотеки eToken
или в SafeNet Authentication Сlient Tools выбрать кнопку "инициализировать токен".
Внимание! Инициализация устройства удалит все данные на eToken без возможности восстановления.
Создание ключевой пары RSA
Для генерации ключевой пары RSA в терминале следует ввести команду:
Создание самоподписанного сертификата
Для создания самоподписанного сертификата в терминале следует ввести команду:
engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:/usr/lib/libeToken.so
после чего ввести команду:
req -engine pkcs11 -new -key 0:16 -keyform engine -x509 -out test.pem -text
и команду
exit
В поле Common Name должно быть указано имя пользователя ОС.
Загрузка сертификата на токен
Создав свой личный сертификат, его следует загрузить на eToken.
Перекодируем полученный сертификат из PEM в DER:
(или с помощью графической утилиты SACTool)
Проверка ключей и сертификатов в eToken:
Установка дополнительный пакетов
Пуск - Настройки - Менеджер пакетов
через Быстрый фильтр или через поиск находим и отмечаем к установке следующие пакеты:
- libpam-p11
- libp11-2
либо воспользовавшись терминалом FLY:
sudo apt-get install libp11-2 libpam-p11
Конвертируем сертификат в текстовый формат
openssl x509 -
in
<имя_сертификата_из_токена>
.crt-out
<имя_сертификата_из_токена>
.pem -inform DER -outform PEM
где <имя_сертификата_из_токена>
- имя файла, в котором сохранен ваш сертификат из токена в текстовом формате
Теперь нам необходимо прочитать с токена сертификат с нужным ID и записать его в файл доверенных сертификатов:
Добавляем сертификат в список доверенных сертификатов:
mkdir ~/.eid
chmod 0755 ~/.eid
cat
<имя_сертификата_из_токена>
.pem >> ~/.eid
/authorized_certificates
chmod 0644 ~/.eid/authorized_certificates
mkdir /home/user/.eid
chmod 0755 /home/user/.eid
cat
<имя_сертификата_из_токена>
>> /home/user/.eid
/authorized_certificates
chmod 0644 /home/user/.eid/authorized_certificates
Важно помнить, что при регистрации нескольких токенов на одном компьютере необходимо указывать пользователям раличные id.
Настраиваем аутентификацию
Пуск - утилиты - Терминал Fly
sudo
nano
/usr/share/pam-configs/p11
записываем в файл следующую информацию:
|
сохраняем файл, нажимаем Alt + X, а затем Y
после этого выполняем
sudo
pam-auth-update
Вход по токену
Пуск - утилиты - Терминал Fly
|
Вход выполняется с подключенным токеном к компьютеру. В момент ввода пароля будет сообщено, что требуется <PIN пользователя>.