Pki client etoken ��� linux

Pki client etoken ��� linux

Для обеспечения работы с электронными ключами eToken понадобится установить драйвер (http://www.aladdin-rd.ru/support/downloads/etoken/).

Устанавливаем драйвер:

/Desktop# alien -kci ‘/home/qwer/Desktop/pkiclient-5.00.28-0.i386.rpm’

error: incorrect format: unknown tag

dpkg —no-force-overwrite -i pkiclient_5.00.28-0_i386.deb

Selecting previously deselected package pkiclient.

(Reading database . 128922 files and directories currently installed.)

Unpacking pkiclient (from pkiclient_5.00.28-0_i386.deb) .

Setting up pkiclient (5.00.28-0) .

Processing triggers for ureadahead .

Processing triggers for libc-bin .

ldconfig deferred processing now taking place

Устанавливаем КриптоПро CSP 3.6 (обязательные пакеты):

/Desktop/linux-ia32# alien -kci lsb-cprocsp-base-3.6.1-4.noarch.rpm

error: incorrect format: unknown tag

dpkg —no-force-overwrite -i lsb-cprocsp-base_3.6.1-4_all.deb

Selecting previously deselected package lsb-cprocsp-base.

(Reading database . 129507 files and directories currently installed.)

Unpacking lsb-cprocsp-base (from lsb-cprocsp-base_3.6.1-4_all.deb) .

Setting up lsb-cprocsp-base (3.6.1-4) .

Adding system startup for /etc/init.d/cprocsp .

Processing triggers for ureadahead .

/Desktop/linux-ia32# alien -kci lsb-cprocsp-rdr-3.6.1-4.i486.rpm

error: incorrect format: unknown tag

dpkg —no-force-overwrite -i lsb-cprocsp-rdr_3.6.1-4_i386.deb

Selecting previously deselected package lsb-cprocsp-rdr.

(Reading database . 129675 files and directories currently installed.)

Unpacking lsb-cprocsp-rdr (from lsb-cprocsp-rdr_3.6.1-4_i386.deb) .

Setting up lsb-cprocsp-rdr (3.6.1-4) .

Adding new reader:

Nick name: FLASH

Name device: FLASH

/Desktop/linux-ia32# alien -kci lsb-cprocsp-capilite-3.6.1-4.i486.rpm

error: incorrect format: unknown tag

dpkg —no-force-overwrite -i lsb-cprocsp-capilite_3.6.1-4_i386.deb

Selecting previously deselected package lsb-cprocsp-capilite.

(Reading database . 129713 files and directories currently installed.)

Unpacking lsb-cprocsp-capilite (from lsb-cprocsp-capilite_3.6.1-4_i386.deb) .

Setting up lsb-cprocsp-capilite (3.6.1-4) .

/Desktop/linux-ia32# alien -kci lsb-cprocsp-kc1-3.6.1-4.i486.rpm

error: incorrect format: unknown tag

dpkg —no-force-overwrite -i lsb-cprocsp-kc1_3.6.1-4_i386.deb

Selecting previously deselected package lsb-cprocsp-kc1.

(Reading database . 129761 files and directories currently installed.)

Unpacking lsb-cprocsp-kc1 (from lsb-cprocsp-kc1_3.6.1-4_i386.deb) .

Setting up lsb-cprocsp-kc1 (3.6.1-4) .

Устанавливаем модуль поддержки PCSC-считывателей (дополнительный пакет):

/Desktop/linux-ia32# alien -kci cprocsp-rdr-pcsc-3.6.1-4.i486.rpm

error: incorrect format: unknown tag

dpkg —no-force-overwrite -i cprocsp-rdr-pcsc_3.6.1-4_i386.deb

Selecting previously deselected package cprocsp-rdr-pcsc.

(Reading database . 129772 files and directories currently installed.)

Unpacking cprocsp-rdr-pcsc (from cprocsp-rdr-pcsc_3.6.1-4_i386.deb) .

Setting up cprocsp-rdr-pcsc (3.6.1-4) .

Электронный ключ eToken должен стоять в ПК, проверяем через list_pcsc:

available reader: AKS ifdh 00 00

Добавляем считыватель:

/Desktop/linux-ia32# /opt/cprocsp/sbin/ia32/cpconfig -hardware reader -add «AKS ifdh 00 00»

Adding new reader:

Nick name: AKS ifdh 00 00

Просмотр списка настроенных считывателей:

/Desktop/linux-ia32# /opt/cprocsp/sbin/ia32/cpconfig -hardware reader -view

Nick name: AKS ifdh 00 00

Reader name: AKS ifdh 00 00

Nick name: FLASH

Reader name: FLASH

Nick name: HDIMAGE

Reader name: HDIMAGE

Устанавливаем модуль поддержки для etoken:

# alien -kci ‘/home/qwer/Desktop/cprocsp-rdr-etoken_3.6.1-1.0.2-1.i386.rpm’

error: incorrect format: unknown tag

dpkg —no-force-overwrite -i cprocsp-rdr-etoken-3.6.1_1.0.2-1_i386.deb

Selecting previously deselected package cprocsp-rdr-etoken-3.6.1.

(Reading database . 129783 files and directories currently installed.)

Unpacking cprocsp-rdr-etoken-3.6.1 (from cprocsp-rdr-etoken-3.6.1_1.0.2-1_i386.deb) .

Setting up cprocsp-rdr-etoken-3.6.1 (1.0.2-1) .

Просмотр списка настроенных носителей:

# /opt/cprocsp/sbin/ia32/cpconfig -hardware media -view

Nick name: eToken_JAVA_10B

Media name: etoken_java_10b

Nick name: eToken_JAVA_10

Media name: etoken_java_10

Nick name: eToken_PRO_M420B

Media name: etoken_pro_m420b

Nick name: eToken_PRO_M420

Media name: etoken_pro_m420

Nick name: eToken_PRO32

Media name: etoken_pro32

Nick name: eToken_PRO16

Media name: etoken_pro16

Nick name: TRUSTD

Media name: Magistra Debug

Nick name: TRUSTS

Media name: Magistra SocCard

Nick name: TRUST

Читайте также:  Daemon tools активированный для windows 10

Media name: Magistra

Nick name: OSCAR2

Connect name: KChannel

Nick name: OSCAR2

Connect name: CSP

Media name: . CSP 2.0

Nick name: OSCAR

Для тестирования создадим самоподписанный сертификат с закрытым ключом:

root@ubuntu:/opt/cprocsp/bin/ia32# ./csptestf -keyset -newkeyset -makecert -cont ‘\\.\AKS ifdh 00 00\test’ -keytype exchange

CSP (Type:75) v3.6.5364 KC1 Release Ver:3.6.7491 OS:Linux CPU:IA32 FastCode:READY:AVX.

AcquireContext: OK. HCRYPTPROV: 137091795

GetProvParam(PP_NAME): Crypto-Pro GOST R 34.10-2001 KC1 CSP

Container name: «test»

Exchange key is not available.

Attempting to create an exchange key.

CryptoPro CSP: Set pin-code on produced container «test».

an exchange key created.

Self signed certificate created: E=test@cryptopro.ru, CN=test

Certificate stored in container.

Keys in container:

root@ubuntu:/opt/cprocsp/bin/ia32# /opt/cprocsp/bin/ia32/csptest -oid -general

CSP (Type:75) v3.6.5364 KC1 Release Ver:3.6.7491 OS:Linux CPU:IA32 FastCode:READY:AVX.

CryptAcquireContext succeeded.HCRYPTPROV: 154155347

root@ubuntu:/opt/cprocsp/bin/ia32# lsb_release -a

LSB Version: core-2.0-ia32:core-2.0-noarch:core-3.0-ia32:core-3.0-noarch:core-3.1-ia32:core-3.1-noarch:core-3.2-ia32:core-3.2-noarch:core-4.0-ia32:core-4.0-noarch:cxx-3.0-ia32:cxx-3.0-noarch:cxx-3.1-ia32:cxx-3.1-noarch:cxx-3.2-ia32:cxx-3.2-noarch:cxx-4.0-ia32:cxx-4.0-noarch:graphics-2.0-ia32:graphics-2.0-noarch:graphics-3.0-ia32:graphics-3.0-noarch:graphics-3.1-ia32:graphics-3.1-noarch:graphics-3.2-ia32:graphics-3.2-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-3.2-ia32:printing-3.2-noarch:printing-4.0-ia32:printing-4.0-noarch

Источник

ИТ-услуги для бизнеса

Настройка клиент-банка Альфа-Банк, Промсвязьбанк и др. для работы в linux

Установка необходимых драйверов для работы с клиент-банком с аутентификацией Etoken от Alladin на примере Debian Wheezy x64.

В настоящий момент ситуация с драйверами устройств в Linux для ключей Etoken заметно улучшилась. Это Вам не «работает из коробки», но все же не такие «танцы с бубном» как пару лет назад. Вкупе с портированием программы-клиента всем известной 1С от одноименной компании на ОС Linux, у малого бизнеса есть все шансы выйти из «тени» в ситуации с не лицензионным софтом. Но что-то мы ушли от темы.

Если у Вас установлена открытая версия JRE, рекомендуется установить версию от Oracle. Смотрим версию Java:

если установлены пакеты java OpenJDK — удаляем их:

sudo apt-get remove OpenJDK*

Устанавливаем java от Oracle:

sudo echo «deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main» > /etc/apt/sources.list.d/webupd8team-java.list
sudo echo «deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main» >> /etc/apt/sources.list.d/webupd8team-java.list
sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys EEA14886
sudo apt-get update
sudo apt-get install oracle-java7-installer

Устанавливаем необходимое для работы с ключом Etoken окружение:

sudo apt-get install ia32-libs libhal1 opensc pcscd

Установка библиотек x64

Пакеты libhal1 и libpcslite1 у Вас уже должны быть установлены. Смотрите какие версии установлены следующей командой:

dpkg -l | grep libhal1
dpkg -l | grep libpcsclite1

Качаем и устанавливаем соответствующую версию библиотек для архитектуры x64 с репозиториев Debian:

wget http://ftp.us.debian.org/debian/pool/main/p/pcsc-lite/libpcsclite1_1.8.4-1_amd64.deb
wget http://ftp.us.debian.org/debian/pool/main/h/hal/libhal1_0.5.14-8_amd64.deb
sudo dpkg -x libpcsclite1_1.8.4-1_amd64.deb libpcsclite1-amd64
sudo dpkg -x libhal1_0.5.14-8_amd64.deb libhal1-amd64
sudo cp libpcsclite1-amd64/usr/lib/x86_64-linux-gnu/libpcsclite.so.1.0.0 /lib64/
sudo ln -s /lib64/libpcsclite.so.1.0.0 /lib64/libpcsclite.so.1
sudo mkdir /usr/lib64
sudo cp libhal1-amd64/usr/lib/libhal.so.1.0.0 /usr/lib64/
sudo ln -s /usr/lib64/libhal.so.1.0.0 /usr/lib64/libhal.so.1

Установка драйвера SafenetAuthenticationClient

wget http://www.secdiary.com/packages/pool/main/SafenetAuthenticationClient-8.0.5-0_amd64.deb
sudo dpkg -i SafenetAuthenticationClient-8.0.5-0_amd64.deb
sudo ln -s /usr/lib64/libeTPkcs11.so /usr/lib/

Перезагружаемся (этого просит у нас драйвер SafenetAuthenticationClient) и проверяем работу ключа, он должен быть виден в списке:

pkcs11-tool —module /usr/lib64/libeTPkcs11.so -L

Ключ конечно же должен быть вставлен в usb-порт 🙂

В нашем случае видим следующую картину:

$ pkcs11-tool —module /usr/lib64/libeTPkcs11.so -L
Available slots: Slot 0 (0x0): Aladdin eToken PRO USB 72K Java [Main Interface] 00 00
token label: eToken
token manuf: SafeNet Inc.
token model: eToken
token flags: rng, login required, PIN initialized, token initialized, other flags=0x200
serial num : 008ee8ca
Slot 1 (0x1): (empty)
Slot 2 (0x2): (empty)
Slot 3 (0x3): (empty)
Slot 4 (0x4): (empty)
Slot 5 (0x5): (empty)

Читайте также:  Не могу настроить линукс сервер

На этом все. Запускаем клиент-банк, пробуем войти в систему и подписать документы.

Если Вы хотите тоже самое сделать в Ubuntu смотрите этот топик на Хабре.

Источник

HowTo: Подключение к Cisco VPN с использованием Aladdin eToken в Linux (Ubuntu)

Сравнительно недавно я решил перевести домашний компьютер с Windows на Linux. То есть идея такая бродила уже некоторое время, подогреваемая новостями с фронтов борьбы с добровольно-принудительной установкой Windows 10 и размышлениями о неизбежном устаревании «семерки» следом за XP, а вот поводом взяться за дело стал выход очередного LTS-релиза Ubuntu. При этом основным мотивом такого перехода я назову простое любопытство: домашний компьютер используется в основном для развлечений, ну а знакомство с новой ОС — развлечение не хуже прочих. Причем развлечение, как мне кажется, полезное в плане расширения кругозора. Дистрибутив же от Canonical был выбран просто как наиболее популярный: считаю при первом знакомстве с системой это немаловажным подспорьем.

Довольно быстро я на собственном опыте убедился, что для котиков и кино Ubuntu вполне подходит. Но, поскольку компьютер используется еще и для удаленной работы, для отказа от Windows не хватало настроенного подключения к Cisco VPN c авторизацией по eToken.

Набор программ

Было ясно, что для подключения понадобятся по меньшей мере драйвер токена и некий VPN-клиент. В результате поисков в сети получился такой список:

  1. OpenConnect — VPN-клиент, «совершенно случайно» совместимый с серверами Cisco «AnyConnect»
  2. GnuTLS — свободная реализация протоколов TLS и SSL. Что важно, в состав этой библиотеки входит утилита p11tool для работы со смарт-картами
  3. SafeNet Authentication Client — набор драйверов и дополнительных утилит, обеспечивающий работу с электронными ключами eToken

Поскольку для установки соединения OpenConnect-у требуется URL сертификата клиента, который можно узнать с помощью утилиты p11tool, и обеим программам требуется драйвер для работы со смарт-картой — с установки этого драйвера и начнем.

Установка клиента eToken

Как резонно замечено в статье про настройку eToken в Ubuntu 12.04, ссылка на SafeNet Authentication Client почти секретная. Но в то же время на просторах интернета нашлась более свежая заметка про аналогичные танцы с бубном уже в 14.04, причем с живой ссылкой на дистрибутив где-то в бразильском филиале SafeNet. Что еще интереснее, на том же сервере есть файл с актуальной версией клиента — 9.1, которая, ура-ура, не требует устаревших библиотек. Правильный же способ получения клиента — конечно обратиться к поставщику вашего ключа.

На текущий момент пакет SafenetAuthenticationClient-9.1.7-0_amd64.deb ( или SafenetAuthenticationClient-9.1.7-0_i386.deb для 32-битных систем ) элементарно ставится двойным щелчком по нему в файловом менеджере. Но во время начала работы над этим материалом еще не была исправлена ошибка в Ubuntu Software, из-за которой не работала установка сторонних пакетов. Поэтому была написана

При успешной установке в меню Applications появляется приложение SafeNet Authentication Client Tools.

Установка и настройка GnuTLS

Дело в том, что в определенный момент я совершенно застрял, не понимая, почему токен из родного клиента виден, а через p11tool — нет. И именно отсюда я понял, где же лежит собственно драйвер. Зная путь к драйверу, ставим и настраиваем GnuTLS по инструкции.

Читайте также:  Bluetooth клавиатура не работает windows 10

Теперь с токеном смогут работать любые приложения, использующие GnuTLS. А мы сможем воспользоваться утилитой p11tool для выяснения URL-а нашего сертификата.

Чтение данных токена

Вывести список имеющихся в токене сертификатов можно следующей командой:

Вывод p11tool выглядит примерно так:

Object 0:
URL: pkcs11:model=eToken;manufacturer=SafeNet%2c%20Inc.;serial=99999999;token=Username;id=%XX%XX;object=%7bXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX%7d;type=cert
Type: X.509 Certificate
Label:
ID: XX:XX
Object 1:…

Сертификатов может быть несколько, а для подключения требуется один конкретный. В инструкции по p11tool от OpenConnect в такой ситуации предлагают попробовать каждый. Я же для сопоставления сертификата с его URL составил небольшой скрипт, который выводит как URL, так и текстовые данные каждого сертификата:

Здесь в цикле по URL-ам объектов p11tool —info выводит данные сертификата в своем представлении, а p11tool —export передает сертификат в формате pem-файла на вход openssl, который и выводит текстовое представление. Для передачи в OpenConnect нам нужен тот, где найдется строка Client Authentication — запоминаем его URL. Кроме того, если сервер использует самоподписанный сертификат, запоминаем еще и URL объекта с флагом CKA_CERTIFICATE_CATEGORY=CA.

Экспортируем сертификат удостоверяющего центра в файл (весь URL не обязателен — лишь бы он однозначно определял объект):

Наконец-то OpenConnect

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

Если сервер использует самоподписанный сертификат, при запуске в таком виде OpenConnect уточнит, доверяем ли мы серверу, и к тому же будет занято окно терминала. Поэтому слегка расширим команду:

С помощью cafile мы указали сертификат удостоверяющего центра — теперь не будет вопроса относительно доверия серверу. Опция background говорит сама за себя, а pid-file позволяет указать имя файла, в котором сохранится идентификатор фонового процесса. Кроме того, пароль токена может быть указан прямо в URL с помощью атрибута pin-value. Но это несколько… небезопасно.

Останавливать фоновый процесс правильно следующей командой:

По сообщению SIGINT OpenConnect корректно завершает соединение, а если разорвать соединение «жестко», могут быть проблемы при следующем подключении. Хотя у меня не было.

Послесловие

Задача решена, и я радостно пользуюсь для удаленного доступа приложением Remmina, которое запускаю сразу при подключении к vpn, добавив в скрипт запуска OpenConnect команду:

Правда, пришлось отключить синхронизацию буфера обмена: иначе на удаленной машине он в некоторых приложениях не работает; и включить настройку «Disable tray icon»: в противном случае при каждом подключении в трей добавляется новая иконка. Опять же, переход в домашнюю директорию перед вызовом Remmina неспроста: приложение почету-то не видит путь , а задавать полный путь с именем пользователя мне кажется неправильным.

Выводов относительно применимости Linux дома делать не буду — мне пока хватает, а статья задумана именно как HowTo.

P.S.: На окончательный выбор версии Ubuntu повлияло именно решение данной задачи: в пятой, включенной в Ubuntu 14.04, версии OpenConnect обнаружилась ошибка, мешавшая установке соединения. Вот ради лишенной той ошибки седьмой версии OpenConnect я и поставил возможно еще сырую 16.04.

EDIT: в Ubuntu 19.04 обновилась версия libcrypto и даже драйвер, поставляемый с 10 версией SafeNet, не находит данную библиотеку. Спасаемся симлинком
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/libcrypto.so

Еще раз ссылки на использованные материалы:

Источник

Оцените статью