(2010-06-22 05:14:20 отредактировано Шишлов Иван)

Rutoken ЭЦП, pscs-lite, Fedora-13-x86_64

Здравствуйте.
Пытаюсь настроить взаимодействие вышеуказанных компонентов для того чтобы приступить настройке считывателей/носителей для CriptoPro3.6
На форуме http://www.cryptopro.ru/cryptopro/forum … amp;#13375 сказали что необходимо настроить взаимодействие между pcscd и токеном. Покопался в мануалах и форумах и пришел к выводу, что pcscd должен автоматом обрабатывать USB устройства. Возможно требуется небольшая настройка hal, но не смог ее осилить самостоятельно. Либо pcscd не может работать совместно с hal и необходимо настроить его вручную, но в документации по reader.conf написано, что для USB устройств не надо этого делать.

Версии установок:
[root@ivan information]# rpm -q pcsc-lite ccid
pcsc-lite-1.5.5-4.fc13.x86_64
ccid-1.3.11-1.fc13.x86_64

Мои попытки чего-нибудь добиться от pcsd:

[root@ivan information]# pcscd -f -d
00000000 debuglog.c:230:DebugLogSetLevel() debug level=debug
00000416 pcscdaemon.c:512:main() pcsc-lite 1.5.5 daemon ready.
00152525 hotplug_libhal.c:318:get_driver() Looking a driver for VID: 0x1005, PID: 0xB113
00018839 hotplug_libhal.c:318:get_driver() Looking a driver for VID: 0x1D6B, PID: 0x0002
00001151 hotplug_libhal.c:318:get_driver() Looking a driver for VID: 0x03F0, PID: 0x2C24
00000921 hotplug_libhal.c:318:get_driver() Looking a driver for VID: 0x1D6B, PID: 0x0001
00001245 hotplug_libhal.c:318:get_driver() Looking a driver for VID: 0x1D6B, PID: 0x0001
00001175 hotplug_libhal.c:318:get_driver() Looking a driver for VID: 0x1D6B, PID: 0x0001
00003462 hotplug_libhal.c:318:get_driver() Looking a driver for VID: 0x0BDA, PID: 0x0151
00000909 hotplug_libhal.c:318:get_driver() Looking a driver for VID: 0x1D6B, PID: 0x0002
00001207 hotplug_libhal.c:318:get_driver() Looking a driver for VID: 0x1D6B, PID: 0x0001
00001203 hotplug_libhal.c:318:get_driver() Looking a driver for VID: 0x1D6B, PID: 0x0001
00001168 hotplug_libhal.c:318:get_driver() Looking a driver for VID: 0x1D6B, PID: 0x0001
00001303 winscard_msg_srv.c:239:SHMProcessEventsServer() Common channel packet arrival
00000021 winscard_msg_srv.c:248:SHMProcessEventsServer() SHMProcessCommonChannelRequest detects: 6
00000007 pcscdaemon.c:147:SVCServiceRunLoop() A new context thread creation is requested: 6
00000038 winscard_svc.c:133:ContextThread() Thread is started: 6
00000026 winscard_msg_srv.c:317:SHMProcessEventsContext() command CMD_VERSION received by client 6
00000007 winscard_svc.c:189:ContextThread() Client is protocol version 3:0
00000060 winscard_msg_srv.c:317:SHMProcessEventsContext() command ESTABLISH_CONTEXT received by client 6
00000022 winscard.c:242:SCardEstablishContext() Establishing Context: 16989995
00000210 winscard_msg_srv.c:239:SHMProcessEventsServer() Common channel packet arrival
00000014 winscard_msg_srv.c:248:SHMProcessEventsServer() SHMProcessCommonChannelRequest detects: 7
00000006 pcscdaemon.c:147:SVCServiceRunLoop() A new context thread creation is requested: 7
00000037 winscard_svc.c:133:ContextThread() Thread is started: 7
00000022 winscard_msg_srv.c:317:SHMProcessEventsContext() command CMD_VERSION received by client 7
00000006 winscard_svc.c:189:ContextThread() Client is protocol version 3:0
00000050 winscard_msg_srv.c:317:SHMProcessEventsContext() command ESTABLISH_CONTEXT received by client 7
00000011 winscard.c:242:SCardEstablishContext() Establishing Context: 16988348
00196701 winscard_msg_srv.c:239:SHMProcessEventsServer() Common channel packet arrival
00000032 winscard_msg_srv.c:248:SHMProcessEventsServer() SHMProcessCommonChannelRequest detects: 8
00000008 pcscdaemon.c:147:SVCServiceRunLoop() A new context thread creation is requested: 8
00000071 winscard_svc.c:133:ContextThread() Thread is started: 8
00000036 winscard_msg_srv.c:317:SHMProcessEventsContext() command CMD_VERSION received by client 8
00000007 winscard_svc.c:189:ContextThread() Client is protocol version 3:0
00000061 winscard_msg_srv.c:317:SHMProcessEventsContext() command ESTABLISH_CONTEXT received by client 8
00000013 winscard.c:242:SCardEstablishContext() Establishing Context: 17013017
19067842 hotplug_libhal.c:318:get_driver() Looking a driver for VID: 0x0A89, PID: 0x0020   

Всего после включения токена появляется одна (последняя строка)

В /var/log/messages появляются такие строки:
Jun 22 13:01:37 ivan kernel: usb 7-1: new low speed USB device using uhci_hcd and address 4
Jun 22 13:01:37 ivan kernel: usb 7-1: New USB device found, idVendor=0a89, idProduct=0020
Jun 22 13:01:37 ivan kernel: usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jun 22 13:01:37 ivan kernel: usb 7-1: Product: Rutoken S
Jun 22 13:01:37 ivan kernel: usb 7-1: Manufacturer: Aktiv Co.
Jun 22 13:09:11 ivan kernel: usb 7-1: USB disconnect, address 4
Jun 22 13:09:11 ivan halevt: Running: halevt-umount -u /org/freedesktop/Hal/devices/usb_device_a89_20_noserial_if0; halevt-umount -s
Jun 22 13:09:11 ivan halevt: Running: halevt-umount -u /org/freedesktop/Hal/devices/usb_device_a89_20_noserial; halevt-umount -s

Очень похоже, что необходимо настроить hal.
Но я не знаю как это сделать. Сможет кто-нибуть помочь это сделать?

В fedora-12-x86_64 проблема в точности такая же.

С уважением, Иван.

(2010-06-22 07:33:28 отредактировано Шишлов Иван)

Re: Rutoken ЭЦП, pscs-lite, Fedora-13-x86_64

Вроде нашел ответ на свой вопрос.
Если заглянуть в каталог ll /etc/udev/rules.d/
итого 76
-rw-r--r--. 1 root root 6733 Апр 17 08:42 40-hplip.rules
-rw-r--r--. 1 root root  561 Апр 17 08:42 56-hpmud_support.rules
-rw-r--r--. 1 root root 1316 Янв 21 01:27 60-fprint-autosuspend.rules
-rw-r--r--  1 root root 4171 Фев  4 06:13 60-openct.rules
-rw-r--r--. 1 root root   55 Ноя  4  2009 60-sysprof.rules
-rw-r--r--. 1 root root  788 Янв 14 12:51 70-persistent-cd.rules
-rw-r--r--. 1 root root  840 Мар 26 14:15 70-persistent-net.rules
-rw-r--r--. 1 root root   40 Апр 23 09:04 80-kvm.rules
-rw-r--r--  1 root root 1914 Ноя 19  2009 85-pcscd_ccid.rules
-rw-r--r--. 1 root root  244 Июл 26  2009 85-pcscd_egate.rules

Нас интересуют файлы 60-openct.rules  и 85-pcscd_ccid.rules
Необходимо либо поменять обработчики для устройства рутокен
[root@ivan rules.d]# grep 0a89 /etc/udev/rules.d/*
/etc/udev/rules.d/60-openct.rules:ATTR{idVendor}=="0a89", ATTR{idProduct}=="0020", RUN+="/lib/udev/openct_usb /dev/$name"
/etc/udev/rules.d/60-openct.rules:ATTR{idVendor}=="0a89", ATTR{idProduct}=="0012", RUN+="/lib/udev/openct_usb /dev/$name"

например в файл 85-pcscd_ccid.rules добавить правило, а лучше даже создать новый файл 86-pcscd_ccid.rules
# Aktive Rutoken S
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0a89", ATTRS{idProduct}=="0020", RUN+="/usr/sbin/pcscd --hotplug"
вот только непонятно, что делать со строкой этого устройства поддерживающего интерфейс openct, то ли удалять, то ли оставлять?

PS. Все таки я не нашел ответ на свой вопрос, ибо етокен обнаруживается и без настройки этого файла, иначе должен бы не работать.

Re: Rutoken ЭЦП, pscs-lite, Fedora-13-x86_64

Здравствуйте, Иван.

В указанной Вами ветке форума обратите внимание на следующее:

Татьяна пишет:

Да, необходимо чтобы смарт-карта работала через pcsc.
Кроме того, от производителя смарт-карт понадобится помимо драйвера ещё и модуль поддержки смарт-карты для КриптоПро CSP.
Татьяна,
сотрудник отдела технического сопровождения компании Крипто-Про

И Рутокен ЭЦП и Рутокен S работают через pcsc-lite. Но модуля поддержки Крипто-Про для linux для Рутокена нет.

Рутокен ЭЦП работает в pcsc-lite напрямую. А для Рутокен S, который, судя по приложенным логам, имеется у Вас, нужна прокладка в виде OpenCT.

Однако, если Ваша цель работа с Крипто-Про с Рутокеном в linux, боюсь мне придется Вас разочаровать. Модуля поддержки нет.

rules.d трогать не надо, там все верно настроено, Рутокен S - не ccid устройство

(2010-06-22 09:55:33 отредактировано Шишлов Иван)

Re: Rutoken ЭЦП, pscs-lite, Fedora-13-x86_64

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

Здравствуйте, Иван.

В указанной Вами ветке форума обратите внимание на следующее:

Татьяна пишет:

Да, необходимо чтобы смарт-карта работала через pcsc.
Кроме того, от производителя смарт-карт понадобится помимо драйвера ещё и модуль поддержки смарт-карты для КриптоПро CSP.
Татьяна,
сотрудник отдела технического сопровождения компании Крипто-Про

И Рутокен ЭЦП и Рутокен S работают через pcsc-lite. Но модуля поддержки Крипто-Про для linux для Рутокена нет.

Рутокен ЭЦП работает в pcsc-lite напрямую. А для Рутокен S, который, судя по приложенным логам, имеется у Вас, нужна прокладка в виде OpenCT.

Однако, если Ваша цель работа с Крипто-Про с Рутокеном в linux, боюсь мне придется Вас разочаровать. Модуля поддержки нет.

rules.d трогать не надо, там все верно настроено, Рутокен S - не ccid устройство

Я приобретал именно Рутокен ЭЦП. Для этого устройства поддержка криптопро в linux, для рутокена, есть?

Re: Rutoken ЭЦП, pscs-lite, Fedora-13-x86_64

Модуля поддержки Рутокен ЭЦП для Крипто-Про тоже нет. Вряд ли заработает без него.
Проблема с pcscd, возможно, связана с 64-битностью.
Скорее всего где нибудь путь неправильный.
Посмотрите /usr/lib64/pcsc/drivers/idf-ccid.bundle/Contents/Info.plist
Кроме того там должны быть строчки про Рутокен, проверьте, пожалуйста, их наличие и корректность

(2010-06-23 03:49:28 отредактировано Шишлов Иван)

Re: Rutoken ЭЦП, pscs-lite, Fedora-13-x86_64

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

Модуля поддержки Рутокен ЭЦП для Крипто-Про тоже нет. Вряд ли заработает без него.
Проблема с pcscd, возможно, связана с 64-битностью.
Скорее всего где нибудь путь неправильный.
Посмотрите /usr/lib64/pcsc/drivers/idf-ccid.bundle/Contents/Info.plist
Кроме того там должны быть строчки про Рутокен, проверьте, пожалуйста, их наличие и корректность

А к кому обращатся за модулем поддержки Рутокена ЭЦП для Крипто-Про?
И вообще какие Рутокены подерживаются  для Крипто-Про 3.6?

Вот содержимое файла:

[root@ivan rules.d]# grep Aktiv /usr/lib64/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
        <string>Aktiv Rutoken Magistra</string>
        <string>Aktiv Rutoken ECP</string>
Хотя у меня  dmesg выдает:
[root@ivan rules.d]# dmesg|tail -6
usb 7-2: USB disconnect, address 3
usb 7-2: new low speed USB device using uhci_hcd and address 4
usb 7-2: New USB device found, idVendor=0a89, idProduct=0020
usb 7-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 7-2: Product: Rutoken S
usb 7-2: Manufacturer: Aktiv Co.
Все понятно, у меня рутокен S, вышла неувязка с  приятелем, которого попросил купить конкретно рутокен ЭЦП, а он привез с Москвы рутокен S, да еще 3 штуки(о ужас).

Re: Rutoken ЭЦП, pscs-lite, Fedora-13-x86_64

Модуля поддержки Рутокенов для Крипто-Про 3.6 в linux пока нет.
Крипто-Про в linux работает с Рутокеном только в своей Java версии (КриптоПро JCP).
Существует модуль поддержки Рутокен S для этой системы.
Других вариантов пока нет.