Re: Как правильно устанавливать RuToken в Linux?

Здравствуйте SubDmitry

Мы установили OpenSUSE и восстановили вашу проблему.

Пакеты, поставляемые с этим дистрибутивом, для корректной работы требуют небольшой модификации.

Добавьте, пожалуйста, в файл  /usr/share/hal/fdi/information/10freedesktop/10-usb-openct.fdi строчки:

<match key="usb.vendor_id" int="0x0A89">
        <match key="usb.product_id" int="0x0020">
            <merge key="smart_card_reader.openct_capable" type="bool">true</merge>
    </match>
</match>

после чего перезагрузите демон hal:

# service haldaemon restart

если у вас установлены библиотеки, поставляемые с дистрибутивом по умолчанию (openct-0.6.15 .. ), то этого уже достаточно.

перезагрузите openct:

# service openct restart

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

# openct-tool list

возможна ситуация, что он отзовется не сразу, в этом случае попробуйте повынимать и повставлять токен несколько раз, перезагружая openct - должно помочь

если же вы, как вы и писали, установили библиотеки более свежих версий (openct-0.6.17 .. ), то нужно будет исправить еще один файл =)

в файле /etc/openct.conf

в разделе Path to ifdhandler

закоментируйте строки

user=scard;
groups = {
scard,
};

чтобы получилось

#user=scard;
#groups = {
#scard,
#};

сохраните файл и перезагрузите openct

теперь токен должен отзываться на команду

# openct-tool list

Отчеты об ошибках будут отправлены разработчикам дистрибутива OpenSUSE
Спасибо за ваше участие, SubDmitry

Re: Как правильно устанавливать RuToken в Linux?

Здравствуйте, Кирилл Мещеряков!

Огромное спасибо за ответ, у меня все получилось!

# openct-tool list

обнаружил наличие токена! Теперь буду учиться использовать для веб-авторизации.

Честно говоря, не ожидал, что мне так быстро и активно постараются помочь на форуме. Это вызывает уверенность, что вы проявляете большую заинтересованность в продвижении и популяризации своего продукта, что достаточно редко в наше время. Обязательно буду советовать колеблящемся приобретать рутокен, а не и-токен :)

Кирилл Мещеряков пишет:

Здравствуйте SubDmitry

Мы установили OpenSUSE и восстановили вашу проблему.

Пакеты, поставляемые с этим дистрибутивом, для корректной работы требуют небольшой модификации.

Добавьте, пожалуйста, в файл  /usr/share/hal/fdi/information/10freedesktop/10-usb-openct.fdi строчки:

<match key="usb.vendor_id" int="0x0A89">
        <match key="usb.product_id" int="0x0020">
            <merge key="smart_card_reader.openct_capable" type="bool">true</merge>
    </match>
</match>

Единственная оговорка, что блок надо добавлять не в конец файла, а после последнего блока, начинающегося с текста

<match key="usb.vendor_id"

, иначе не работает.

Отчеты об ошибках будут отправлены разработчикам дистрибутива OpenSUSE
Спасибо за ваше участие, SubDmitry

Я был очень рад помочь. Тем более, что сам сильно заинтересован в результатах переписки :) Еще раз огромное спасибо!

Re: Как правильно устанавливать RuToken в Linux?

Ну.. и теперь еще вопросы имеются. При подключения токена система (openSuse Linux 11.1) обнаруживает его только после перезагрузки сервиса openct. Это что, надо hal настраивать, чтобы токен автоматически подхватывался при подключении? Или я что-то не так понимаю?

И как настроить его на работу с FireFox? Сделал все по инструкции, подключил библиотеку (закладка дополнительные-устройства защиты-загрузка-модуль OpenSC PKCS#11). Показывает, что имеется подключенный ruToken. А как заставить браузер сохранять пароли на токен, или брать их оттуда при запросе на авторизацию различных сайтов?

Заранее спасибо.

Re: Как правильно устанавливать RuToken в Linux?

Здравствуйте!

Такое случается если вы неправильно отредактировали файл /usr/share/hal/fdi/information/10freedesktop/10-usb-openct.fdi
Токен должен обнаруживатся системой автоматически. Проверьте файл, возможно там ошибка.
Разумеется, строки нужно добавлять не в конец файла, а где нибудь в середину.
Наверняка вы заметили, что это XML и он состоит из повторяющихся блоков.
Просто скопируйте один из блоков и измените его параметры на "0A89" и "0020", так будет надежнее. И не забудьте перезапустить демон hal.

# service haldaemon restart

Больше ничего в hal настраивать не нужно.

Рутокен может хранить сертификаты для доступа к защищенным сайтам, но он не передназначен для хранения паролей к сайтам непосредственно.
Однако, вы можете использовать сторонние программы - хранители паролей, к которым, возможно, удастся настроить доступ по токену.

Re: Как правильно устанавливать RuToken в Linux?

Ubuntu 9.10
скачал opensc openct c сайта rutoken
openct 0.6.14

$ ./configure --prefix=/usr --sysconfdir=/etc - проходит успешно.

При компиляции  ошибка
socket.c: In function 'ct_socket_getcreds':
socket.c:298: error: storage size of 'creds' isn't known
socket.c:298: warning: unused variable 'creds'
make[3]: *** [socket.lo] Ошибка 1


В репозитариях (Ubuntu 9.10) имеются пакеты opensc 0.11.8, openct 0.6.16
Что делать для корректной работы.
1. Устанавливать из репозитариев новую версию?
2. Компилировать из предлагаемых исходников?
3. Накаладывать патч на последнию версию (как именно)?

Заранее благодарен за ответ.
Мне кажеться необходим мануал, потому как похожие вопросы задаются, а Вы отвечаете только в личку
Заранее благодарен за помощь и оперативный ответ!!!

Re: Как правильно устанавливать RuToken в Linux?

FFT пишет:

1. Устанавливать из репозитариев новую версию?

Да

FFT пишет:

2. Компилировать из предлагаемых исходников?

Всегда лучше брать последнюю версию на http://www.opensc-project.org/

FFT пишет:

3. Накаладывать патч на последнию версию (как именно)?

Нет

Re: Как правильно устанавливать RuToken в Linux?

Здравствуйте.

1) Установив пакеты из репозитория вы получите не самую свежую версию, которая, однако, работает, при условии что Вы измените файл /usr/share/hal/fdi/information/10freedesktop/10-usb-openct.fdi  так, как написано в этой же ветке выше.

2) Самостоятельная компиляция наиболее свежих версий в настоящий момент хотя и не обязательна, но все же рекомендуется. http://www.opensc-project.org/

3) Патчи (размещенные на сайте) уже накладывать не нужно.

Re: Как правильно устанавливать RuToken в Linux?

Ввиду того, что я использовал украинскую версию (UATOKEN) возникли следующие особенности.

При выполнении команды lsusb 
Bus 002 Device 010: ID 0a89:0012


Параметр для разновидности RUTOKEN - UATOKEN имеет другой индекс 0x0a89:0012 а не 0x0a89:0020

Поэтому необходимо поправить
/etc/openct.conf 

driver rutoken
параметр usb:0089/0012
и соответственно 10-usb-openct.fdi
меняем параметры на 0012

В результате
openct-tool list выдает наличие токена.

Re: Как правильно устанавливать RuToken в Linux?

Таже история с UATOKEN и правкой фалов на ubuntu 9.10 OpenCT 0.6.18 и OpenSC  0.11.11 последних версий

sudo openct-tool list
  0 Rutoken S driver

но rutoken-tool и opensc-tool токен не видят :(

rutoken-tool -s
No smart card readers found.

rdesktop -r scard тоже не видит токен

Re: Как правильно устанавливать RuToken в Linux?

Здравствуйте!
Уже вел с Вами переписку (например, вот: https://forum.rutoken.ru/post/2045/#p2045) по поводу Рутокена в Линукс около года назад.. Прошло время, сменил версию Линукс с OpenSuSE 11.1 x32 на 11.2 x64. Но заставить работать РуТокен в Линуксе - до сих пор проблема.. По крайней мере, для меня лично.

Снова уточняю условия задачи:
1. RuToken (маркировка 64K140Z);
2. OpenSuSE 11.1 x32 на 11.2 x64.

Инструкцию по установке читал, а также список пакетов, которые необходимы для работы токена:  OpenSC 0.11.11, OpenSSL 1.0.0-beta3, OpenCT 0.6.18, pcsc-lite 1.5.5, ccid 1.3.11.
Что имеется у меня в системе из необходимого:

#rpm -q opensc openct openssl pcsc-lite ccid
opensc-0.11.9-7.1.x86_64
openct-0.6.17-9.1.x86_64
openssl-0.9.8k-3.7.1.x86_64
pcsc-lite-1.5.5-7.1.x86_64
пакет ccid не установлен

# rpm -qva |grep libopenct
libopenct1-0.6.17-3.1.x86_64
libopenct1-32bit-0.6.17-9.1.x86_64

# rpm -qva |grep libopensc
libopensc2-32bit-0.11.9-7.1.x86_64
libopensc2-0.11.9-2.1.x86_64

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

Далее, команда # openct-tool list выдает пустой результат.
Перезапуск сервиса openct ничего не дает. Команда #dmesg при этом обнаруживает токен (часть листинга):

..........
[  127.397240] usb 1-1.7: new low speed USB device using ehci_hcd and address 4
[  127.476205] usb 1-1.7: New USB device found, idVendor=0a89, idProduct=0020
[  127.476224] usb 1-1.7: New USB device strings: Mfr=1, Product=2, SerialNumber
=0
[  127.476240] usb 1-1.7: Product: Rutoken S
[  127.476250] usb 1-1.7: Manufacturer: Aktiv Co.
[  127.476469] usb 1-1.7: configuration #1 chosen from 1 choice
.............

Неужели надо снова руками править /usr/share/hal/fdi/information/10freedesktop/10-usb-openct.fdi? Вы же сообщали, что информацио об ошибке направлена разработчикам Линукс... Или это у меня что-то не получается?

Заранее спасибо за ответ.

Re: Как правильно устанавливать RuToken в Linux?

Здравствуйте.

Да, действительно, отсутствующая запись в fdi-файле появилась в версии openct 0.6.18
Однако, у Вас установлена 0.6.17
Я посмотрел OpenSUSE репозитории, там до сих пор находятся очень старые версии ПО opensc и openct.
Не очень понятно, почему они их не обновляют. Возможно, обновят при выпуске 11.3 или 12.
Добавьте строчки, должно заработать.
На сегодняшний день актуальными являются версии opensc 0.11.13 и openct 0.6.20 http://opensc-project.org
Рекомендуется пользоваться ими, так как в них сильно улучшена поддержка Рутокена.
Правда для этого придется собирать их из исходного кода, но если возникнут проблемы - пишите, мы постараемся помочь.

Re: Как правильно устанавливать RuToken в Linux?

Спасибо за ответ! А как поставить новые версии пакетов openct и т.д.? Их же надо компилировать предварительно. А как потом установить в системе откомпилированные пакеты? Не могу разобраться..

Re: Как правильно устанавливать RuToken в Linux?

Наиболее логичным было бы удаление всех пакетов с opensc и openct.
После этого скачиваете архивы с исходным кодом
http://www.opensc-project.org/files/opensc/
http://www.opensc-project.org/files/openct/
Распаковываете архивы и собираете код совершенно стандартным способом (configure, make, make install)
Подробности тут
http://www.opensc-project.org/opensc/wiki/QuickStart
http://www.opensc-project.org/opensc/wi … Installing
http://www.opensc-project.org/openct/wiki/QuickStart

Openct собирается для Рутокена командами
$ ./configure --enable-usb --enable-pcsc
$ make
#make install

после этого не забыть выполнить инструкции из http://www.opensc-project.org/openct/wiki/QuickStart

Opensc собирается для Рутокена командами
$ ./configure --enable-openct --enable-openssl
$ make
#make install

http://www.opensc-project.org/opensc/wi … Installing

Зависимости, которые потребуются при сборке: libtool, pkg-config, libpcsclite, libusb, libusb-dev, libssl, libssl-dev

Re: Как правильно устанавливать RuToken в Linux?

Кирилл Мещеряков пишет:

На сегодняшний день актуальными являются версии opensc 0.11.13 и openct 0.6.20 http://opensc-project.org
Рекомендуется пользоваться ими, так как в них сильно улучшена поддержка Рутокена.
Правда для этого придется собирать их из исходного кода, но если возникнут проблемы - пишите, мы постараемся помочь.

В общем, удалил из системы пакеты openct и opensc. После этого пытался по инстукции скомпилировать хотябы openct..
В Вашей инструкции написано, что для РуТокена надо собирать Openct командами

$ ./configure --enable-usb --enable-pcsc

, на сайте OpenCT - что

$ ./configure --prefix=/usr --sysconfdir=/etc

Добавил и те и другие ключи в одну командную строку. Вроде собрал, но не уверен, т.к. далее не все выполняется по инструкции. На сайте написано:

# cp etc/init-script /etc/init.d/openct
# ln -s ../init.d/openct /etc/rc0.d/K50openct
# ln -s ../init.d/openct /etc/rc1.d/S50openct
...

Так вот: первая строка выполняется (где копирование), а последующие-ошибка:

создание символьной ссылки `/etc/rc1.d/S50openct': Нет такого файла или каталога

Теперь, про зависимости для сборки, что есть в наличии:

Зависимости, которые потребуются при сборке: libtool, pkg-config, libpcsclite, libusb, libusb-dev, libssl, libssl-dev

установлены только
libtool-2.2.6-47.451.1.x86_64
pkg-config-0.23-49.2.x86_64

остальные:

# rpm -qva |grep libusb
libusb-1_0-0-1.0.2-2.2.x86_64
libusb-1_0-devel-1.0.2-2.2.x86_64
libusb-0_1-4-0.1.13-2.2.x86_64
libusb-1_0-0-32bit-1.0.2-2.2.x86_64
libusb-0_1-4-32bit-0.1.13-2.2.x86_64
libusb-compat-devel-0.1.3-2.2.x86_64

нет вообще: libssl, libssl-dev.. Только эти, не о них ли речь?

# rpm -qva |grep libopenssl
libopenssl0_9_8-0.9.8k-3.7.1.x86_64
libopenssl-devel-0.9.8k-3.7.1.x86_64
libopenssl0_9_8-32bit-0.9.8k-3.7.1.x86_64

libpcsclite:

# rpm -qva |grep libpcsclite
libpcsclite1-1.5.5-7.1.x86_64
libpcsclite1-32bit-1.5.5-7.1.x86_64

Все ли верно сделано при компиляции, почему ошибки и все ли зависимости соблюдены?
Заранее спасибо. Дмитрий.

Re: Как правильно устанавливать RuToken в Linux?

Похоже, что конфигурация у Вас корректная
пришлите вывод команды ./configure со всеми флагами, тогда можно будет увидеть, все ли собирается правильно