The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Работа с web-клиентом альфабанка (i..."
Отправлено auto_tips, 23-Апр-09 23:18 
Краткое руководство для тех, кому в банке упорно твердят "наша система работает только под windows".
На примере альфабанка для юридических лиц (с etoken) и Ubuntu 8.04.

Данное руководство подойдет для всех систем на основе ibank и систем, которые используют IAIK для
"расширенной" связки между JAVA и PKCS11.

Итак, порядок действий.

1. Ставим драйверы etoken
-------------------------

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

Берем на сайте http://aladdin.ru любую версию, которая больше нравится.
Возможные проблемы: на самых последних сборках убунты (9.04) драйверы отказались работать.
Когда выйдут версии под новое ядро - никому не известно. При желании, выкрутиться можно как-то так.

В аладдине проблему подтвердили, но ничем не обрадовали. Поэтому на тестовой виртуальной машине для чистоты эксперимента использовал Ubuntu 8.04 LTS

(!!!) Перед тем как двигаться дальше, убедитесь, что у вас полностью работает поддержка eToken от аладдина.
Если PKI Client не показывает содержимого ключа - продолжать нет смысла.

Теперь настраиваем то, чего не хватило альфабанку

Так как цифровые подписи там реализованы при участии Java, то любопытные могут открыть java-консоль,
включить лог ошибок, и все посмотреть. После каждого шага можно пытаться залогиниться в "центр сертификации",
и наблюдать за новыми ошибками.


2. Ставим Java
--------------

(!) Обратите внимание, что софт wrapper-а PKCS11, который используется в альфабанке,
заточен под Java от Sun, поэтому ставить IceTea и прочие альтернативы НЕ НАДО.
Наверное, можно попробовать пересобрать исходники под другую жабу, но я этого не пробовал.

Java ставится стандартным способом, из репозиториев, комментировать здесь нечего.


3. Ставим wrapper для IAIK (первая часть, pkcs11wrapper)
--------------------------------------------------------

IAIK - это библиотека для доступа к PKCS11 из Java-апплетов.

Любопытные могут прочитать тут (http://ideelabor.ee/opensource/wiki/IdKaardiTarkvara/Digiall...),
хотя файлы там старые (не поддерживают проброс нескольких функций, которые использует альфабанк).
Свежую версию я скачал на сайте разработчиков http://jce.iaik.tugraz.at/download/ .

На убунте я скопировал .so-библиотеку в каталог /usr/lib , чтобы при обновлении java ничего не переставлять.

После этого в консоли пропали ошибки, что врапер не найден, и появилась ошибка, что не удается инициализировать модуль eTpkcs11.


4. Создаем symlink на модуль pkcs11 для eToken.
-----------------------------------------------

Название модулей eToken различается под Windows и Линукс. Лечится просто.

  идем в каталог /usr/lib
  создаем там ссылку "eTpkcs11" на файл "libeTPkcs11.so" (это симлинк, в том же каталоге)

(!!!) Обратите внимание, что буквы Р в разном регистре.

Теперь веб-клиент начинает понимать пин-код, и показывает сертификаты. Но при попытке залогиниться
или авторизоваться, в джава-консоли выдается ошибка, что не найден какой-то метод в классе IAIK.


5. Ставим остатки IAIK (часть 2, java)
--------------------------------------

Берем jar-файл из архива, и копируем туда, где java его будет нормально видеть. На убунте у меня получился такой путь:

   /usr/lib/jvm/java-6-sun/jre/lib/ext

По идее этого должно быть достаточно, но почему-то у меня в консоли полезли ошибки вида "Access Denied".

Как временное решение - создал в домашней папке файл .java.policy и написал там

   grant {
      permission java.security.AllPermission;
   };

Вообще такие политики создавать категорически нельзя. Но я совершенно не разбираюсь в линуксовой Java,
поэтому пока сделал так и пошел искать более опытных товарищей.
Естественно, можно перекрутить все конфигурационные файлы, но мне больше нравится, когда работают пакеты,
поставленные из репозитория, без изменений. Как только кто-нибудь умный скажет мне более правильный способ - сразу поменяю.

Все!

Теоретически etoken работает со свободными драйверами OpenCT/OpenSC, и проприетарщину можно было бы выкинуть, но есть 2 проблемы:

1. У них другой формат хранения данных. Точнее, это драйверы aladdin не соответствуют спецификации PKCS15 (хранение сертификатов).
На страничке разработчиков OpenCT написано, что Aladdin появился на рынке до того, как возник стандарт PKCS15,
поэтому к проблеме надо относиться с пониманием. Правильный метод - записать сертификат в ключ средствами OpenCT/OpenSC.

2. Альфабанк соглашается работать только с etoken. Получить сертификат в чистом виде,
чтобы самостоятельно записать в ключ, у них нельзя. Они еще для полного счастья делают жесткую
привязку серийного номера ключа к логину.

Поэтому в данном конкретном случае остается использовать проприетарные драйверы.


URL: http://forum.rcdesign.ru/blogs/349/blog6448.html
Обсуждается: https://www.opennet.ru/tips/info/2045.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру