Настройка Etoken в Gentoo Linux
Установка SafeNet Authentication Client в Gentoo

Возникла необходимость пользоваться клиент-банком ОАО "Промсвязьбанк" на дистрибутиве Linux Gentoo x64. Для аутентификации используется Aladdin eToken, для которого мы будем устанавливать SafeNet Authentication Client для Linux. Данная заметка скорее всего прекрасно подойдет и для клиентов Банка Москвы, и для Альфа-Банка.
Устанавливаем layman, если он у Вас не установлен:
emerge -av layman
Подключаем оверлей mva:
layman -a mva
Что такое layman, оверлеи и как всем этим добром пользоваться советую прочитать здесь.
Единственное замечание: чтобы не засорять дерево портежей, я не позволяю ему синхронизироваться со всеми добавленными в систему оверлеями. Поэтому касательно оверлеев имеется всего одна запись в make.conf такого вида: PORTDIR_OVERLAY="/usr/local/portage" А необходимый пакет из какого-либо оверлея просто добавляю в локальный оверлей симлинками.
Размаскируем пакет
для архитектуры x64:
echo "=app-crypt/etoken-sac-8.1 ~amd64" >> /etc/portage/package.keywords
или для x86 архитектуры:
echo "=app-crypt/etoken-sac-8.1 ~x86" >> /etc/portage/package.keywords
Далее пишем письмо в техподдержку алладина (support.etoken @ aladdin-rd точка ru), в котором просим их выслать необходимые файлы, а именно, нам нужен SafeNet Authentication Client для Linux. На момент написания этой заметки версия клиента: 8.1.0-4. По совершенно невероятной мазо-логике драйверы отсутствуют на сайте Алладина в свободном доступе. Возможно чуть большее количество запросов в техподдержку приведет к нормальному пути получения файлов.
Распакуйте полученный архив.
Для архитектуры x64 копируем SafenetAuthenticationClient-8.1.0-4.x86_64.rpm и SAC-32-CompatibilityPack-8.1.0-4.x86_64.rpm
cp SafenetAuthenticationClient-8.1.0-4.x86_64.rpm /usr/portage/distfiles
cp SAC-32-CompatibilityPack-8.1.0-4.x86_64.rpm /usr/portage/distfiles
Для архитектуры x32 нам нужен только SafenetAuthenticationClient-8.1.0-4.i386.rpm
cp SafenetAuthenticationClient-8.1.0-4.i386.rpm /usr/portage/distfiles
Собираем пакет:
emerge -av app-crypt/etoken-sac
Добавим в автозагрузку:
rc-update add eTSrv default
Осталось поправить скрипт запуска eTSrv. Открываем /etc/init.d/eTSrv любимым редактором и вставляем после 7 строки (NAME=eTSrv) следующую строку:
DAEMON=$
Запускаем:
/etc/init.d/eTSrv start
Вставляем ключ и проверяем работу:
pkcs11-tool --module /usr/lib64/libeTPkcs11.so -L
Ваш ключ должен быть виден в списке. Открываем клиент-банк и радуемся ))
Для управления ключами можно использовать графическую утилиту etProps.
Комментарии: 10
Небольшое дополнение:
удалите считыватель, который устанавливается драйвером etoken. Для этого просто удалите символическую ссылку отсюда:
/usr/lib/readers/usb/~aks-ifdh.bundle
если этого не сделать, именно он будет использоваться для работы с ключами, и клиент банка откажется работать.
У меня после удаления здесь
/usr/lib/readers/usb/
остался только ifd-ccid.bundle
и все работает отлично.
На самом деле не нужно ничего удалять, просто в конфиге ридера не прописано Ваше устройство.
Конфигурационный файл с описание устройств лежит здесь:
/usr/lib/readers/usb/aks-ifdh.bundle/Contents/Info.plist
в нем нужно прописать ваш ключ, например:
в массиве <key>ifdVendorID</key>
добавить <string>0x0A89</string>
в массиве <key>ifdProductID</key>
добавить <string>0x0030</string>
в массиве <key>ifdFriendlyName</key>
добавить <string>Aktiv Rutoken ECP</string>
а можно скачать готовый файл, там большинство прописано. Просто замените им существующий.
Info.plist
Как владелец вышеописанного оверлея прошу автора поправить стать за неактуальностью :) Я уже поправил нехватку директории (на самом деле, это издержки того, что git не добавляет в хранилище пустые директории.
Кстати, по подобным вещам и правкам луччше писать мне на имейл из инфы об оверлее, а не расписывать на весь интернет обходные костыли :)
Уважаемый mva!
Статью поправил, спасибо Вам за огромный труд по ведению данного оверлея!
Да, Вы правы, видимо торопились, и как то пропустили репорт Вам в почту ))
Сделал как описано выше, однако
не запускается /etc/init.d/eTSrv >>
http://pastebin.calculate-linux.ru/ru/show/9672 и затем
/etc/init.d/eTSrv start
eTSrv |/etc/init.d/eTSrv: line 23: /usr/bin/eTSrv: Нет такого файла или каталога
eTSrv | * ERROR: eTSrv failed to start
прошу прокомментировать? Спасибо!
Станислав, сейчас не могу посмотреть, но явно у Вас нет бинарника или скрипта eTSrv в каталоге bin. Поищите где он у Вас находится. Вечером посмотрю у себя.
Да, действительно его там нет...
which /bin/eTSrv
which: no eTSrv in (/bin)
И как же быть?
И в целом отыскать его так же не представлется возможным
which eTSrv
which: no eTSrv in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.3)
Странно, при сборке не было никаких ошибок у Вас? У меня он благополучно находится здесь:
/usr/bin/eTSrv
Подобная проблема.
1. Сборка прошла без ошибок.
# eix etoken
app-crypt/etoken-sac [1]
Available versions: (~)8.3.34_p0^m {minimal multilib ssl}
Installed versions: 8.3.34_p0^m(14:14:55 24.05.2016)(multilib ssl -minimal)
Homepage: http://aladdin-rd.ru
Description: SafeNet (Aladdin) eTokens Middleware (PRO, NG OTP, Flash, Java)
2. Отсутствует /usr/bin/eTSrv
3. Создаю vi /usr/bin/eTSrv и вставляю
http://pastebin.calculate-linux.ru/ru/show/9672
4. # /usr/bin/eTSrv start
eTSrv |/usr/bin/eTSrv: unrecognized option '--test'
eTSrv | * ERROR: eTSrv failed to start
Добавить комментарий