Alfabank eToken: различия между версиями
Asy (обсуждение | вклад) Нет описания правки |
Sb (обсуждение | вклад) мНет описания правки |
||
(не показано 36 промежуточных версий 9 участников) | |||
Строка 1: | Строка 1: | ||
При настройке рабочего места в ALT linux была использована статья http://forum.rcdesign.ru/blogs/349/blog6448.html | При настройке рабочего места в ALT linux была использована статья http://forum.rcdesign.ru/blogs/349/blog6448.html <br> | ||
Установка производилась на платформе i586. | |||
== Состав ПО | == Состав ПО == | ||
<pre> | <pre> | ||
ALT Linux Branch 5.1 (2010-10-03) | ALT Linux Branch 5.1 (2010-10-03) | ||
Строка 9: | Строка 10: | ||
pcsc-lite-1.5.5-alt1 | pcsc-lite-1.5.5-alt1 | ||
iaikPkcs11Wrapper1.2.17.zip (источник: http://jce.iaik.tugraz.at/ ) | iaikPkcs11Wrapper1.2.17.zip (источник: http://jce.iaik.tugraz.at/ ) | ||
etokenpkiclientlinux50sp1_2009-08-18.zip | |||
(источники: http://www.aladdin-rd.ru/ http://www.aladdin.com/) | |||
</pre> | </pre> | ||
== Токен == | |||
Токен определяется ядром так: | |||
usb 2-2: New USB device found, idVendor=0529, idProduct=0600 | |||
usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 | |||
usb 2-2: Product: Token 4.28.1.0 2.7.195 | |||
usb 2-2: Manufacturer: Aladdin Knowledge Systems Ltd. | |||
Вывод lsusb: | |||
Bus 002 Device 002: ID 0529:0600 Aladdin Knowledge Systems eToken Pro 64k (4.2) | |||
<div id="pkiclient"></div> | |||
== Установка pkiclient-5.00.28-0.i386.rpm == | == Установка pkiclient-5.00.28-0.i386.rpm == | ||
Пакет находится в архиве etokenpkiclientlinux50sp1_2009-08-18.zip в соответствующем каталоге, его надо извлечь и скопировать, например, в /tmp. | |||
apt-get install pkiclient-5.00.28-0.i386.rpm | apt-get install pkiclient-5.00.28-0.i386.rpm | ||
Пакет установится, но есть проблема. В пакете содержится несколько библиотек | Пакет установится, но есть проблема. В пакете содержится несколько библиотек Qt 4 (libQtCore.so.4.2.3, libQtGui.so.4.2.3, libQtXml.so.4.2.3), а в /etc/ld.so.conf.d устанавливается файл wwwwetoken-ld.conf, содержащий путь "/usr/lib/eToken". Это приводит к тому, что пакеты, ALT Linux, которые используют Qt 4, перестают работать. Разработчикам из Aladdin проблема известна (я открывал [Ticket#2010093010000149], при этом мне сказали, что уже знают о проблеме), но дистрибутивы ALT Linux не входят в число поддерживаемых, так что неизвестно, что и когда сделают. Самостоятельно проблему можно решить с использованием скриптов-враперов: | ||
* Удаляем/комментируем путь в wwwwetoken-ld.conf. | * Удаляем/комментируем путь в wwwwetoken-ld.conf. | ||
perl -p -i -e "s/^/#/" /etc/ld.so.conf.d/wwwwetoken-ld.conf | perl -p -i -e "s/^/#/" /etc/ld.so.conf.d/wwwwetoken-ld.conf | ||
* Переименовываем исполняемые файлы, которым нужны библиотеки | не забудьте запустить <b>ldconfig</b> (достаточно без параметров) | ||
* Переименовываем исполняемые файлы, которым нужны библиотеки из /usr/lib/eToken | |||
cd /usr/bin | cd /usr/bin | ||
mv etProps etProps.bin | mv etProps etProps.bin | ||
Строка 23: | Строка 37: | ||
touch /usr/bin/etProps /usr/bin/PKIMonitor | touch /usr/bin/etProps /usr/bin/PKIMonitor | ||
chmod 755 /usr/bin/etProps /usr/bin/PKIMonitor | chmod 755 /usr/bin/etProps /usr/bin/PKIMonitor | ||
содержимое скриптов идентичное | содержимое скриптов идентичное: | ||
<pre> | <pre> | ||
#!/bin/bash | #!/bin/bash | ||
export LD_LIBRARY_PATH=/usr/lib/eToken:$LD_LIBRARY_PATH | export LD_LIBRARY_PATH=/usr/lib/eToken${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} | ||
exec $0.bin $@ & | exec $0.bin $@ & | ||
</pre> | </pre> | ||
== Установка библиотек из iaikPkcs11Wrapper1.2.17.zip == | == Установка библиотек из iaikPkcs11Wrapper1.2.17.zip == | ||
Из этого архива нам требуется java/lib/iaikPkcs11Wrapper.jar и libpkcs11wrapper.so, последних в архиве несколько штук, на разные вкусы, я использовал из native/platforms/linux/debug. iaikPkcs11Wrapper.jar можно положить в /usr/lib/jvm/jre/lib/ext/, libpkcs11wrapper.so - в /usr/lib. | |||
Тут есть 2 подводных каменя.<br> | |||
'''1.''' В этой Java-библиотеке предполагается, что модуль pkcs11 называется eTpkcs11, а не libeTPkcs11.so, так что | |||
cd /usr/lib | |||
ln -s libeTPkcs11.so eTpkcs11 | |||
'''2.''' /usr/lib/jvm/jre - это символьная ссылка, которая меняется при обновлении Java, так что iaikPkcs11Wrapper.jar надо не забывать перекладывать в этом случае. | |||
Дополнение. При установке 64-х битной версии pkiclient, чтобы все заработало, нужно в дополнение к вышесказанному подложить в /usr/lib64 64-х битную-же версию библиотеки libpkcs11wrapper.so | |||
(она находится в iaikPkcs11Wrapper1.2.17.zip в native/platforms/linux_х64/debug) | |||
Возможно в этом случае не обязательно подкладывать в /usr/lib 32-х разрядную версию - этого я не проверял. | |||
== Настройка прав для Java == | |||
для тех пользователей, которые будут работать с Альфа-банком, в домашний каталог следует положить файл .java.policy<br> | |||
(<span style="color:#FF0000">В таком виде политику оставлять не следует</span>): | |||
grant { | |||
permission java.security.AllPermission; | |||
}; | |||
Если все заработало, можно прописать кошерную политику (адаптировано для Linux из каментов к [http://forum.rcdesign.ru/blogs/349/blog6448.html статье]): | |||
grant { | |||
permission java.lang.RuntimePermission "loadLibrary.pkcs11wrapper"; | |||
permission java.io.FilePermission "/usr/lib/libpkcs11wrapper.so", "read"; | |||
permission java.io.FilePermission "/usr/lib/jvm/jre/lib/ext/iaikPkcs11Wrapper.jar", "read"; | |||
}; | |||
Для ее отладки активируем java-консоль и заходим в альфа-клиент из Firefox. Мне, например, пришлось создать символические ссылки в каталогах /usr/lib/jvm/jre/lib/ext/ и /usr/lib/jvm/jre/lib/ext/i386/ на /usr/lib/libpkcs11wrapper.so. | |||
== Эпилог == | |||
Теперь можно начинать работать с Альфа-банком с рабочей станции с ALT Linux. Остаётся одна, пока не решённая, проблема: не работает генерация сертификатов, сертификаты придётся генерировать из-под Windows. В основном, это ежегодная операция. | |||
<span style="color:#088A29">Комментарий от клиента Альфа-банка:</span> к сожалению, да, придется из-под Виндовс, причем желательно не виртуальной. Наверное, можно и эту проблему решить, но дается только одна попытка :) | |||
== Эпилог 2 (грустный финал) == | |||
Оказалось, что, всё же, полноценно работать нельзя. Не получается подписать документ при попытке сделать платёж. Плюс, в какой-то момент, появилась непонятная ошибка при закрытии Java-приложения. В итоге открыт новый счёт в банке, который использует платформу Bifit. Собственно автор статьи с http://forum.rcdesign.ru давно сделал то же самое. Жаль, что та статья не попалась до открытия счёта в Альфабанке. | |||
<span style="color:#088A29">Комментарий от клиента Альфа-банка:</span> | |||
К счастью, это не так: на самом деле, полноценно работать можно. Все прекрасно подписывается. | |||
Другое дело, что в самом банк-клиенте, при подписывании, нужно МЫШКОЙ нажать КНОПКУ. Если нажать ENTER на клавиатуре - происходит нажатие какой-то другой кнопки в форме ввода, передаются неверные данные и документ не подписывается. | |||
== Послесловие (чья-то надежда ?) == | |||
Подводный камень, связанный с обновлением Java и переименованием символьной ссылки, обнаружен при удалении лишних пакетов после закрытия счёта. Видимо, какая-то часть последних проблем связана с этим. Проверить я уже не могу, однако безуспешная попытка генерации сертификата делалась при правильном расположении iaikPkcs11Wrapper.jar. | |||
<span style="color:#088A29">Комментарий от клиента Альфа-банка:</span> | |||
При обновлении JAVA новые библиотеки ставятся в новый каталог, типа /usr/lib/jvm/java-XXXX. | |||
Пакеты от pksc при этом автоматически не переносятся, и по сути система перестает их видеть. | |||
Нужно просто скопировать их в новое место. | |||
== Ссылки == | |||
http://www.etokenonlinux.org/et/FAQ | |||
[[Категория: | [[Категория:CookBook]] | ||
{{Category navigation|title=ПО, не входящее в репозитории ALT Linux|category=CookBook|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 15:52, 12 июля 2021
При настройке рабочего места в ALT linux была использована статья http://forum.rcdesign.ru/blogs/349/blog6448.html
Установка производилась на платформе i586.
Состав ПО
ALT Linux Branch 5.1 (2010-10-03) java-1.6.0-sun-1.6.0.20-alt2 mozilla-plugin-java-1.6.0-sun-1.6.0.20-alt2 firefox-3.6-3.6.10-alt0.20100909.M50P.1 pcsc-lite-1.5.5-alt1 iaikPkcs11Wrapper1.2.17.zip (источник: http://jce.iaik.tugraz.at/ ) etokenpkiclientlinux50sp1_2009-08-18.zip (источники: http://www.aladdin-rd.ru/ http://www.aladdin.com/)
Токен
Токен определяется ядром так:
usb 2-2: New USB device found, idVendor=0529, idProduct=0600 usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 2-2: Product: Token 4.28.1.0 2.7.195 usb 2-2: Manufacturer: Aladdin Knowledge Systems Ltd.
Вывод lsusb:
Bus 002 Device 002: ID 0529:0600 Aladdin Knowledge Systems eToken Pro 64k (4.2)
Установка pkiclient-5.00.28-0.i386.rpm
Пакет находится в архиве etokenpkiclientlinux50sp1_2009-08-18.zip в соответствующем каталоге, его надо извлечь и скопировать, например, в /tmp.
apt-get install pkiclient-5.00.28-0.i386.rpm
Пакет установится, но есть проблема. В пакете содержится несколько библиотек Qt 4 (libQtCore.so.4.2.3, libQtGui.so.4.2.3, libQtXml.so.4.2.3), а в /etc/ld.so.conf.d устанавливается файл wwwwetoken-ld.conf, содержащий путь "/usr/lib/eToken". Это приводит к тому, что пакеты, ALT Linux, которые используют Qt 4, перестают работать. Разработчикам из Aladdin проблема известна (я открывал [Ticket#2010093010000149], при этом мне сказали, что уже знают о проблеме), но дистрибутивы ALT Linux не входят в число поддерживаемых, так что неизвестно, что и когда сделают. Самостоятельно проблему можно решить с использованием скриптов-враперов:
- Удаляем/комментируем путь в wwwwetoken-ld.conf.
perl -p -i -e "s/^/#/" /etc/ld.so.conf.d/wwwwetoken-ld.conf
не забудьте запустить ldconfig (достаточно без параметров)
- Переименовываем исполняемые файлы, которым нужны библиотеки из /usr/lib/eToken
cd /usr/bin mv etProps etProps.bin mv PKIMonitor PKIMonitor.bin
- Создаём скрипты etProps и PKIMonitor
touch /usr/bin/etProps /usr/bin/PKIMonitor chmod 755 /usr/bin/etProps /usr/bin/PKIMonitor
содержимое скриптов идентичное:
#!/bin/bash export LD_LIBRARY_PATH=/usr/lib/eToken${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} exec $0.bin $@ &
Установка библиотек из iaikPkcs11Wrapper1.2.17.zip
Из этого архива нам требуется java/lib/iaikPkcs11Wrapper.jar и libpkcs11wrapper.so, последних в архиве несколько штук, на разные вкусы, я использовал из native/platforms/linux/debug. iaikPkcs11Wrapper.jar можно положить в /usr/lib/jvm/jre/lib/ext/, libpkcs11wrapper.so - в /usr/lib.
Тут есть 2 подводных каменя.
1. В этой Java-библиотеке предполагается, что модуль pkcs11 называется eTpkcs11, а не libeTPkcs11.so, так что
cd /usr/lib ln -s libeTPkcs11.so eTpkcs11
2. /usr/lib/jvm/jre - это символьная ссылка, которая меняется при обновлении Java, так что iaikPkcs11Wrapper.jar надо не забывать перекладывать в этом случае.
Дополнение. При установке 64-х битной версии pkiclient, чтобы все заработало, нужно в дополнение к вышесказанному подложить в /usr/lib64 64-х битную-же версию библиотеки libpkcs11wrapper.so
(она находится в iaikPkcs11Wrapper1.2.17.zip в native/platforms/linux_х64/debug)
Возможно в этом случае не обязательно подкладывать в /usr/lib 32-х разрядную версию - этого я не проверял.
Настройка прав для Java
для тех пользователей, которые будут работать с Альфа-банком, в домашний каталог следует положить файл .java.policy
(В таком виде политику оставлять не следует):
grant { permission java.security.AllPermission; };
Если все заработало, можно прописать кошерную политику (адаптировано для Linux из каментов к статье):
grant { permission java.lang.RuntimePermission "loadLibrary.pkcs11wrapper"; permission java.io.FilePermission "/usr/lib/libpkcs11wrapper.so", "read"; permission java.io.FilePermission "/usr/lib/jvm/jre/lib/ext/iaikPkcs11Wrapper.jar", "read"; };
Для ее отладки активируем java-консоль и заходим в альфа-клиент из Firefox. Мне, например, пришлось создать символические ссылки в каталогах /usr/lib/jvm/jre/lib/ext/ и /usr/lib/jvm/jre/lib/ext/i386/ на /usr/lib/libpkcs11wrapper.so.
Эпилог
Теперь можно начинать работать с Альфа-банком с рабочей станции с ALT Linux. Остаётся одна, пока не решённая, проблема: не работает генерация сертификатов, сертификаты придётся генерировать из-под Windows. В основном, это ежегодная операция.
Комментарий от клиента Альфа-банка: к сожалению, да, придется из-под Виндовс, причем желательно не виртуальной. Наверное, можно и эту проблему решить, но дается только одна попытка :)
Эпилог 2 (грустный финал)
Оказалось, что, всё же, полноценно работать нельзя. Не получается подписать документ при попытке сделать платёж. Плюс, в какой-то момент, появилась непонятная ошибка при закрытии Java-приложения. В итоге открыт новый счёт в банке, который использует платформу Bifit. Собственно автор статьи с http://forum.rcdesign.ru давно сделал то же самое. Жаль, что та статья не попалась до открытия счёта в Альфабанке.
Комментарий от клиента Альфа-банка: К счастью, это не так: на самом деле, полноценно работать можно. Все прекрасно подписывается. Другое дело, что в самом банк-клиенте, при подписывании, нужно МЫШКОЙ нажать КНОПКУ. Если нажать ENTER на клавиатуре - происходит нажатие какой-то другой кнопки в форме ввода, передаются неверные данные и документ не подписывается.
Послесловие (чья-то надежда ?)
Подводный камень, связанный с обновлением Java и переименованием символьной ссылки, обнаружен при удалении лишних пакетов после закрытия счёта. Видимо, какая-то часть последних проблем связана с этим. Проверить я уже не могу, однако безуспешная попытка генерации сертификата делалась при правильном расположении iaikPkcs11Wrapper.jar.
Комментарий от клиента Альфа-банка: При обновлении JAVA новые библиотеки ставятся в новый каталог, типа /usr/lib/jvm/java-XXXX. Пакеты от pksc при этом автоматически не переносятся, и по сути система перестает их видеть. Нужно просто скопировать их в новое место.