Титла: Проблем с карточетец ACR38 под Slackware 13.37 Публикувано от: glupa4e в Jan 04, 2012, 20:57 Здравейте,
инсталирах новата версия на Slackware - 13.37. Допълнително съм инсталирал: ccid-1.4.3 opensc-0.12.2 pcsc-lite-1.8.1 pcsc-perl-1.4.12 Ето малко данни: Код: bash-4.1$ lsusb Резултатът е: Код: bash-4.1$ opensc-tool -l Какво още трябва да направя, за да проработи електронния подпис? Благодаря! Титла: Re: Проблем с карточетец ACR38 под Slackware 13.37 Публикувано от: v_badev в Jan 05, 2012, 10:44 Да пуснеш pcscd.
Титла: Re: Проблем с карточетец ACR38 под Slackware 13.37 Публикувано от: glupa4e в Jan 05, 2012, 10:59 Ето какво съумях да направя:
Код: bash-4.1$ /etc/rc.d/rc.pcscd start Пак не тръгна :-(. Как мога да насторя pcscd да се пуска само когато "бодна" четеца? Мерси! Титла: Re: Проблем с карточетец ACR38 под Slackware 13.37 Публикувано от: v_badev в Jan 05, 2012, 11:45 Тази версия на демона би трябвало да си стартира автоматично при нужда и да умира след една минута неизползване, но честно казано не вярвам че в Slackware пакета всичко е настроено правилно за да работи автоматичното стартиране. Може да видиш дали pcscd намира четеца, като го пуснеш в debug режим (pcscd -fd) и гледаш за съобщения свързани с твоят четец. Така ще видиш и къде е точно проблема.
Титла: Re: Проблем с карточетец ACR38 под Slackware 13.37 Публикувано от: glupa4e в Jan 05, 2012, 19:33 До момента правех опити като нормален потребител при стартирането. Сега обаче ми се наложи да направя упражнението като root.
root@computer: ~# pcscd -fd 00000000 debuglog.c:265:DebugLogSetLevel() debug level=debug 00000409 configfile.l:245:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d 00000036 configfile.l:287:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/libccidtwin 00000090 pcscdaemon.c:518:main() pcsc-lite 1.8.1 daemon ready. 00002792 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/003/001 00000284 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/004/001 00000312 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/005/001 00000277 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001 00000273 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/006/001 00000312 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001 00000214 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001 00000232 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x09DA, PID: 0x000E, path: /dev/bus/usb/007/002 00000209 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/007/001 00000230 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x072F, PID: 0x90CC, path: /dev/bus/usb/007/004 00000079 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x072F, PID: 0x90CC, path: /dev/bus/usb/007/004 00000017 hotplug_libudev.c:312:HPAddDevice() Adding USB device: ACS ACR 38U-CCID 00000065 readerfactory.c:934:RFInitializeReader() Attempting startup of ACS ACR 38U-CCID 00 00 using /usr/lib64/pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so 00000234 readerfactory.c:824:RFBindFunctions() Loading IFD Handler 3.0 00000059 ifdhandler.c:1732:init_driver() Driver version: 1.4.3 00000791 ifdhandler.c:1750:init_driver() LogLevel: 0x0003 00000020 ifdhandler.c:1771:init_driver() DriverOptions: 0x0000 00000112 ifdhandler.c:79:IFDHCreateChannelByName() lun: 0, device: usb:072f/90cc:libudev:0:/dev/bus/usb/007/004 00000308 ccid_usb.c:244:OpenUSBByName() ifdManufacturerString: Ludovic Rousseau (ludovic.rousseau@free.fr) 00000008 ccid_usb.c:245:OpenUSBByName() ifdProductString: Generic CCID driver 00000006 ccid_usb.c:246:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later 00001051 ccid_usb.c:485:OpenUSBByName() Found Vendor/Product: 072F/90CC (ACS ACR 38U-CCID) 00000008 ccid_usb.c:487:OpenUSBByName() Using USB bus/device: 7/4 00002778 ccid_usb.c:917:get_data_rates() IFD does not support GET_DATA_RATES request: 0 00004006 ifdhandler.c:401:IFDHGetCapabilities() tag: 0xFB3, usb:072f/90cc:libudev:0:/dev/bus/usb/007/004 (lun: 0) 00000011 readerfactory.c:296:RFAddReader() Using the reader polling thread 00002085 ifdhandler.c:401:IFDHGetCapabilities() tag: 0xFAE, usb:072f/90cc:libudev:0:/dev/bus/usb/007/004 (lun: 0) 00000017 ifdhandler.c:489:IFDHGetCapabilities() Reader supports 1 slot(s) 00000387 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/008/001 00000346 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001 00000242 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001 00000245 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x064E, PID: 0xF111, path: /dev/bus/usb/002/003 00000270 hotplug_libudev.c:261:get_driver() Looking for a driver for VID: 0x064E, PID: 0xF111, path: /dev/bus/usb/002/003 00000075 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00 00002329 ifdhandler.c:1151:IFDHPowerICC() action: PowerUp, usb:072f/90cc:libudev:0:/dev/bus/usb/007/004 (lun: 0) 00007784 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00 00010115 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00 00010107 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00 00010110 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00 00010134 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00 00010126 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00 00010086 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: ACS ACR 38U-CCID 00 00 00003577 eventhandler.c:256:EHStatusHandlerThread() powerState: POWER_STATE_POWERED 00000013 Card ATR: 3B F2 18 00 02 C1 0A 31 FE 58 C8 08 74 05006018 ifdhandler.c:1151:IFDHPowerICC() action: PowerDown, usb:072f/90cc:libudev:0:/dev/bus/usb/007/004 (lun: 0) 00098000 eventhandler.c:446:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED Аз не виждам някакъв проблем тук. После като нормален потребител правя: bash-4.1$ opensc-tool -l # Detected readers (pcsc) Nr. Card Features Name 0 Yes ACS ACR 38U-CCID 00 00 Сега явно ще тръгне. Не знам защо трябва да стартирам pcscd като root. Как може да се направи да се стартира само при нужда или да го добавя към първоначалните стартиращи скриптове? Сега как да регистрирам подписа в браузъра Firefox-Mozilla? Титла: Re: Проблем с карточетец ACR38 под Slackware 13.37 Публикувано от: v_badev в Jan 06, 2012, 09:58 Здравей, вероятно трябва да създадеш група pcsc и да промениш правата на /var/run/pcscd, както е описано в блога на Ludovic Rousseau ($2). Той е автора на pcscd и на свободният ccid драйвер. Udev правилата от този пост би трябвало да са се инсталирали заедно с ccid някъде, името на файла е 92_pcscd_ccid.rules. След като добавиш групата и настроиш правата, би трябвало с копирането на файла в правилната директория и рестартирането на udev автоматичното стартиране на pcscd да сработи.
Другият вариант е да го добавиш в стартиращ скрипт и pcscd да си работи постоянно. Демона не е тежък и не би трябвало да е проблем. Така или иначе ако настроиш Firefox да използва електронният подпис демона ще работи докато работи и браузъра (вероятно почти постоянно). За Firefox - ако си клиент на Инфонотари може да си сложиш автоматичният конфигуратор ($2). Той ще настрои всичко необходимо. За останалите доставчици първо трябва първо да си изтеглиш удостверителната им верига от техният сайта или от диск, ако са ти дали такъв, и да я инсталираш в браузъра. Може да ползваш ръководството на CAcert ($2), но за да може да подписваш в браузъра ще трябва да си отбележиш и втората опция за root-а. След това ще трябва да регистрираш и PKCS#11 модула на opensc във Firefox. За целта може да ползваш това ръководство ($2). Титла: Re: Проблем с карточетец ACR38 под Slackware 13.37 Публикувано от: glupa4e в Jan 06, 2012, 21:46 Ето какво направих:
Група pcscd: bash-4.1$ cat /etc/group | grep pcscd pcscd:x:257: Потребител pcscd: bash-4.1$ cat /etc/passwd | grep pcscd pcscd:x:257:257::/var/run/pcscd:/bin/false Ето как са модифицирани правата: bash-4.1$ ls -rtl | grep pcscd drwxrwxr-x 2 root pcscd 4096 яну 5 18:54 pcscd Четецът е: bash-4.1$ lsusb | grep ACR38 Bus 006 Device 003: ID 072f:90cc Advanced Card Systems, Ltd ACR38 SmartCard Reader idVendor=072f idProduct=90cc udev rule файлът е /lib/udev/rules.d/92_pcscd_ccid.rules в него добавям в секцията за ccid, защото моя четец е такъв: # generic CCID device (bInterfaceClass = 0x0b) ENV{ID_USB_INTERFACES}=="*:0b0000:*", GROUP="pcscd" # Advanced Card Systems, Ltd ACR38 SmartCard Reader ATTRS{idVendor}=="072f", ATTRS{idProduct}=="90cc", GROUP="pcscd" Рестартирам компютъра и пак не се получава. Между другото, инсталирах си конфигуратора за Mozilla Firefox на Инфонотари и пак pcscd не се стартира :(. Какво ми липсва? Титла: Re: Проблем с карточетец ACR38 под Slackware 13.37 Публикувано от: glupa4e в Jan 06, 2012, 22:15 единственото, което ми идва на ума е да добавя потребителя, с който влизам - slacker към групата pcscd?
Титла: Re: Проблем с карточетец ACR38 под Slackware 13.37 Публикувано от: glupa4e в Jan 06, 2012, 22:30 направих
bash-4.1$ cat /etc/group | grep pcscd pcscd:x:257:slacker и пак не помогна :-( Титла: Re: Проблем с карточетец ACR38 под Slackware 13.37 Публикувано от: v_badev в Jan 09, 2012, 09:34 Конфигуратора е само за да настрои Firefox да работи със смарт картата. Той не може да пусне pcscd сам.
Честно казано не знам защо демона не иска да се стартира автоматично. Явно ще трябва да му сложиш страртиращ скрипт, така че да се стартира със системата или да го пускаш ръчно, когато ти дотрябва. Не е необходимо да добавяш своят потребител в тази група. Поне в Ubuntu и Debian работи и без да си член на групата pcscd. Мися че тази група ти трябва само за да има достъп демона до usb четеца. |