HowTo: Интернет-банкинг для юридических лиц с использованием Aladdin eToken в Linux (Ubuntu)

    UPD: Обновлено для Ubuntu 13.10 x64 сам клиент SafenetAuthenticationClient придётся попросить у техподдержки Аладдин.

    Случилось так, что я решил организоваться как самостоятельный разработчик и открыл ИП. Долго я маялся с выбором банка для расчётного счёта, т.к. нужно было что-то максимально платформо-независимое — сильно не хотелось заводить винду только для интернет-банкинга, походы же в отделение банка, естественно, не рассматривались в принципе, да и дороже это выходит. В итоге я остановился на ПромСвязьБанке, в надежде, что ключи шифрования у них можно получить в виде файлов/на обычной флешке, а не на eToken'е (дело происходит в Омске). Я даже честно пытался обзванивать банки, на которых остановился и узнать на каком носителе выдаются у них ключи, но день потрачен был зря — ни в одном банке добраться до вменяемого специалиста мне не удалось. В итоге в выбранном банке услуга создания ключей оказалась довольно муторной. При генерации ключей я попытался выбрать в качестве носителя флешку, а не полученный eToken, но позже я узнал, что в этом банке «главная» подпись может быть только на eToken а для отчётов можно генерить ключи на флешку. В общем далее руководство как пользоваться интернет-банкингом с eToken под Ubuntu 12.04 x64.

    Руководство фактически повторяет данное за исключением версий библиотек и того, что сейчас всё есть в x64 варианте.

    Если Ваш интернет-банк использует клиента на Java (как мой), то рекомендую снести все свободные варианты JVM и поставить оригинальную версию от Oracle. Как это сделать можно узнать здесь.

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

    1. Подготовка.

    sudo apt-get install ia32-libs libhal1 opensc pcscd
    wget http://archive.ubuntu.com/ubuntu/pool/main/p/pcsc-lite/libpcsclite1_1.8.6-3ubuntu1b1_amd64.deb
    wget http://archive.ubuntu.com/ubuntu/pool/main/h/hal/libhal1_0.5.14-0ubuntu6_amd64.deb
    dpkg -x libpcsclite1_1.8.3-3ubuntu1_amd64.deb libpcsclite1-amd64
    dpkg -x libhal1_0.5.14-0ubuntu6_amd64.deb libhal1-amd64
    sudo cp libpcsclite1-amd64/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
    sudo ln -s /usr/lib64/libhal.so.1 /usr/lib/
    


    Если в последующем всё же возникают проблемы с установкой SafenetAuthenticationClient — установите 32битные версии библиотек:

    wget archive.ubuntu.com/ubuntu/pool/main/p/pcsc-lite/libpcsclite1_1.8.6-3ubuntu1b1_i386.deb
    wget archive.ubuntu.com/ubuntu/pool/main/h/hal/libhal1_0.5.14-0ubuntu6_i386.deb
    dpkg -x libpcsclite1_1.7.2-2ubuntu2_i386.deb libpcsclite1-i386
    dpkg -x libhal1_0.5.14-0ubuntu6_i386.deb libhal1-i386
    sudo cp libpcsclite1-i386/lib/i386-linux-gnu/libpcsclite.so.1.0.0  /lib32
    sudo ln -s /lib32/libpcsclite.so.1.0.0 /lib32/libpcsclite.so.1
    sudo cp libhal1-i386/usr/lib/libhal.so.1.0.0 /usr/lib32
    sudo ln -s /usr/lib32/libhal.so.1.0.0 /usr/lib32/libhal.so.1
    

    спасибо agel.

    Клиентам Альфа-Банка также стоит ознакомиться с этим комментарием, спасибо xmm!

    2. Установка сервиса (драйвера).

    Тут первым делом мы качаем клиент. Ссылка практически секретная, т.к. скачивать клиент можно только потеребив техподдерржку, но кому это надо?

    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/
    

    Всё готово. Проверить работу можно воткнув ключ в USB (через usb-хаб у меня заработало уже на этом этапе) и выполнив команду:

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

    Ключ должен быть в списке. После я ещё перезагрузил систему, т.к. при установке этого попросил клиент.

    Удачной работы!
    Метки:
    Поделиться публикацией
    Комментарии 26
    • +1
      судя по packages/pool/main/ эта штутка является репозиторием и его можно подключать в sources.list После этого будет и upgarade работать, и депенденсы решаться.
      • 0
        Если это и справедливо для библиотек, то репозиторий у клиента врядле есть в открытом доступе, т.е. все ссылки на линукс-клиент на сайте производителя токена ведут в техподдержку, а ссылка на скачивание была нагуглена, от того я не очень уверен что при обновлении библиотек не перестанет работать клиент.
        • 0
          Не совсем понимаю, что значит фраза «репозиторий у клиента врядле есть в открытом доступе».
          Если вы ставите до этого пакеты из репозиториев, то что мешает остальное оттуда же поставить? Фактически, повторяются шаги, которые за вас выполняет apt-get.
          Опять-таки странно, что ставятся более новые версии, чем есть в репозитории 12.04: у меня apt-cache говорит о том, что libpcsclite сейчас версии 1.7.4-2ubuntu2
          • 0
            Открытого репозитория этого пакета SafenetAuthenticationClient-8.0.5-0_amd64.deb я не нашёл. Ссылка в руководстве нагуглена по названию файла, чтобы его получить официально — необходимо связываться с техподдержкой Аладдина.
      • 0
        Я так понимаю, что все договоры на работу с резидентами и валютных операций не возникает?
        • 0
          Не понял вопрос…
          • 0
            ИП открыт что бы работать с заказчиками. Заказчик может быть как резидентом РФ (и тогда расчеты в рублях), так и не резидентом (расчет обычно в евро или долларах). Я так понимаю, что иностранных заказчиков нет и банк в контексте валютного контроля не выбирался?

            Кстати, сколько указанный банк реально берет за работу?
            • 0
              Да, о валюте не задумывался. В плане собственного бизнеса я новичок и всех подводных камней не знаю. Хотя работа с валютой упоминается в прейскуранте услуг.

              Стоит 250р./мес + 12р. за каждый исходящий платёж (кроме налогов/ПФР и т.д.) при работе исключительно с интернет-банком.
              • 0
                Неплохо. В втб 24 приходится 1200 отдавать.
        • 0
          SafenetAuthenticationClient не установится без дополнительных 32-битных библиотек:

          wget archive.ubuntu.com/ubuntu/pool/main/p/pcsc-lite/libpcsclite1_1.7.2-2ubuntu2_i386.deb
          wget archive.ubuntu.com/ubuntu/pool/main/h/hal/libhal1_0.5.14-0ubuntu6_i386.deb
          dpkg -x libpcsclite1_1.7.2-2ubuntu2_i386.deb libpcsclite1-i386
          dpkg -x libhal1_0.5.14-0ubuntu6_i386.deb libhal1-i386
          sudo cp libpcsclite1-i386/lib/libpcsclite.so.1.0.0 /lib32
          sudo cp libhal1-i386/usr/lib/libhal.so.1.0.0 /usr/lib32


          Что любопытно: сразу после установки SafenetAuthenticationClient, eToken от Альфа-Банка загорелся. Но pkcs11-tool показывает, что все слоты пустые.
          • 0
            Интересно. Возможно у меня в системе были 32битные версии библиотек, хотя я не припоминаю чтоб их устанавливал. А после перезагрузки системы ключ так и не заработал? Может стоит попробовать 32битную версию клиента тогда?
            • 0
              Ключ появился в списке после перезагрузки. Но банк-клиент его не видит.

              Что касается 32-битного клиента:
              safenetauthenticationclient:i386 8.0.5-0 (Multi-Arch: no) is not co-installable with safenetauthenticationclient:amd64 8.0.5-0 (Multi-Arch: no) which is currently installed
              • 0
                ну удалить 64битную версию :)
                • 0
                  В общем не ставится 32-битная, ругается:
                  dpkg: dependency problems prevent configuration of safenetauthenticationclient:i386:
                  safenetauthenticationclient:i386 depends on pcscd (>= 1.4.4)

                  В то время, как у меня:
                  $ pcscd -v
                  pcsc-lite version 1.7.4.
                  • 0
                    $ pcscd -v
                    pcsc-lite version 1.7.4.
                    Copyright (C) 1999-2002 by David Corcoran <corcoran@linuxnet.com>.
                    Copyright (C) 2001-2011 by Ludovic Rousseau <ludovic.rousseau@free.fr>.
                    Copyright (C) 2003-2004 by Damien Sauveron <sauveron@labri.fr>.
                    Report bugs to <muscle@lists.musclecard.com>.
                    Enabled features: Linux x86_64-pc-linux-gnu serial usb libudev usbdropdir=/usr/lib/pcsc/drivers ipcdir=/var/run/pcscd configdir=/etc/reader.conf.d
              • 0
                К слову, я тоже делаю всё под Ubuntu 12.04 x64.
                • 0
                  Видимо не та фаза луны. Я руководство фактически скопировал из своего терминала. Т.е. у меня так всё заработало. Система была переустановлена на 12.04 с нуля, и 32бюитных библиотек специально в неё я не ставил. Возможно они инсталлировались с чем-то попутно. Остаётся предположить, что какая-то особенная модель еТокена. Даже не знаю чем помочь…
                  • 0
                    А я правильно понимаю, что вы вот установили всё описанное выше, затем (ничего больше не запуская и не настраивая) при помощи Firefox вошли в банк-клиент и он успешно проводит аутентификацию по eToken?
                    • 0
                      Да именно так. Только перезагрузился после
                      pkcs11-tool --module /usr/lib64/libeTPkcs11.so -L
                      и проверял в Chrome. Теперь использую .jnlp файл (предоставляется банком) для внешнего запуска банк-клиента.
                      • 0
                        JVM у вас от Oracle? У меня — Oracle…
                        • 0
                          Да, Oracle.
                          Выходит, косяк Альфа-Банка (у него не ДБО BS-Client, а что-то своё видимо), потому что никаких ошибок больше не видно и ключ считывается верно.
              • 0
                Рекомендую попробовать Авангард. Флешка с файлами и валютные операции проходят очень легко
                • 0
                  День убил на запуск ibank от АльфаБанка. Пару раз уже бросал это дело, но всё-таки добил — наконец-то получилось подписать документ!

                  Мне тоже потребовались 32битные либы: error while loading shared libraries: libpcsclite.so.1: wrong ELF class: ELFCLASS64

                  Нашёл старую доку www.altlinux.org/Alfabank_eToken смотреть начиная с раздела «Установка библиотек из iaikPkcs11Wrapper1.2.17.zip»

                  И гранты лучше дать такие:
                  grant {
                  permission java.lang.RuntimePermission «loadLibrary.pkcs11wrapper»;
                  permission java.io.FilePermission "<>", «read»;
                  };
                  Гранты типа "/usr/*" у меня не заработали, а конкретно все пути вписывать мне влом стало, после 4х добавленных.

                  И в конце я поменял родной java-plugin от ubuntu 12.04 x64 на sun-овский:
                  $ mkdir ~/.mozilla/plugins
                  $ ln -s /usr/lib/jvm/java-6-sun-1.6.0.33/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

                  Возможно что-то лишнее сделал лишнее, но дальше экспериментировать уже не хочу.
                  • 0
                    спецсимволы отожрались:
                    permission java.io.FilePermission "<<ALL FILES>>", "read";
                    • 0
                      Спасибо за информацию! Добавляю в статью ссылку на Ваш комментарий.
                  • 0
                    Для Ubuntu 14.04 уже есть готовый драйвер, который просто ставится из deb-пакета без бубнов. После установки токен сразу определяется в Safenet-клиенте.

                    Дальше просто поставить Java и можно работать.

                    Например если архив Java x64 скачан и распакован в текущей папке, сюда же скачан файл запуска клиент-банка, то запуск выгдядит так:
                    JAVA_HOME=$PWD/jre1.8.0_31 jre1.8.0_31/bin/javaws -Xnosplash JuridicalClient.jnlp

                    без -Xnosplash у меня стартовать не захотел, ссылаясь на не найденную картинку заставки.

                    На официальном сайте алладин упоминания о поддержке ubuntu 14 нету, но по запросу выслали ссылку на архив с драйвером.

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.