Рутокен ЭЦП и Рутокен S в rdesktop одновременно

Тема, как настроить RDP соединение с тонкого linux клиента на терминальные сервера Windows, раскрыта здесь. https://forum.rutoken.ru/topic/1666/
Настоятельно рекомендую для начала ознакомится с ней.

В этом посте я покажу как обойти подводные камни при настройке терминала, который мог бы одинаково хорошо работать, как с Рутокеном ЭЦП так и с Рутокеном S.

Все дело в том что на некоторых дистрибутивах linux имеются проблемы совместной работы libccid и openct с демоном pcscd.

И тот и другой "драйвер" поддерживают Рутокен ЭЦП, однако при одновременной работе они могут блокировать друг друга.

Выглядеть это может вот так:

Вывод pcsc_scan:
https://forum.rutoken.ru/uploads/transfer/0/4000/4434/thumb/p16l99cehr1i3l55b3l1srq9e51.PNG
Вывод pcscd -afddddd:
https://forum.rutoken.ru/uploads/transfer/0/4000/4434/thumb/p16l99fdub1r2r12cm15e13pep6e3.PNG

А фактически это будет выражаться тем, что Рутокен ЭЦП не будет виден в прикладных программах.

Решить это можно разными способами, но наиболее простой это отключение поддержки Рутокена ЭЦП в openct.

В файле /usr/lib/pcsc/drivers/openct-ifd.bundle/Contents/Info.plist нужно убрать следующие строки:
https://forum.rutoken.ru/uploads/transfer/0/4000/4434/thumb/p16l9beftr1v6f1m4m1d3bdpdf143.PNG
https://forum.rutoken.ru/uploads/transfer/0/4000/4434/thumb/p16l9bdr6f15ra1bjeubhfu91cmb1.PNG
https://forum.rutoken.ru/uploads/transfer/0/4000/4434/thumb/p16l9beteb13ggibh1n73c87crr5.PNG

после сохранения изменений следует перезапустить openct, например так:

# service openct restart

после чего pcscd увидит Рутокен ЭЦП
https://forum.rutoken.ru/uploads/transfer/0/4000/4434/thumb/p16l9bko9q1bgv1dmk1pki1fsbtf51.PNG

Re: Рутокен ЭЦП и Рутокен S в rdesktop одновременно

С Rutoken S этот способ не сработал, по прежнему наблюдается конфликт:

00000016 hotplug_libudev.c:309:HPAddDevice() Adding USB device: Aktiv Co. Rutoken S
00000047 readerfactory.c:934:RFInitializeReader() Attempting startup of Aktiv Co. Rutoken S 00 00 using /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so
00000175 readerfactory.c:824:RFBindFunctions() Loading IFD Handler 3.0
00000971 readerfactory.c:965:RFInitializeReader() Open Port 0x200000 Failed (usb:0a89)
00000009 readerfactory.c:275:RFAddReader() Aktiv Co. Rutoken S init failed.
00000008 readerfactory.c:985:RFUnInitializeReader() Attempting shutdown of Aktiv Co. Rutoken S 00 00.
00000006 readerfactory.c:861:RFUnloadReader() Unloading reader driver.
00000040 hotplug_libudev.c:377:HPAddDevice() Failed adding USB device: Aktiv Co. Rutoken S
00000013 utils.c:95:CheckForOpenCT() File /var/run/openct/status found. Remove OpenCT and try again

Re: Рутокен ЭЦП и Рутокен S в rdesktop одновременно

Опишите, пожалуйста подробнее, что Вы делали?
Если сервис openct остановлен, проявляется ли то же самое?

(2014-03-06 17:03:45 отредактировано smart)

Re: Рутокен ЭЦП и Рутокен S в rdesktop одновременно

В наличии Rutoken S и Ubuntu 12.04.
Поставил libccid, pcscd, libpcsclite1, драйвер и pcsc-tools.
После этого pcsc_scan ловил подключение/отключение устройства.

Потом поставил OpenCT и pcsc_scan перестал реагировать на подключение токена (вывод pcsc_scan и pcscd -afddddd соответствует первым 2м картинкам в этой теме).
Отредактировал /usr/lib/pcsc/drivers/openct-ifd.bundle/Contents/Info.plist.

user@host:~$ cat /usr/lib/pcsc/drivers/openct-ifd.bundle/Contents/Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleExecutable</key>
    <string>openct-ifd.so</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>openct-ifd</string>
    <key>CFBundlePackageType</key>
    <string>BNDL</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleVersion</key>
    <string>0.0.1d1</string>

    <key>ifdManufacturerString</key>
    <string>OpenCT Project (www.opensc-project.org/openct/)</string>
    <key>ifdProductString</key>
    <string>PC/SC Lite IFD wrapper for OpenCT</string>

    <key>ifdCapabilities</key>
    <string>0x00000000</string>
    <key>ifdProtocolSupport</key>
    <string>0x00000001</string>
    <key>ifdVersionNumber</key>
    <string>0x00000001</string>

    <key>ifdVendorID</key>
    <array>
        <string>0x0973</string>
        <string>0x0529</string>
        <string>0x0529</string>
        <string>0x0529</string>
        <string>0x0529</string>
        <string>0x073d</string>
        <string>0x04b9</string>
        <string>0x04b9</string>
        <string>0x096e</string>
        <string>0x03f0</string>
        <string>0x046a</string>
        <string>0x04e6</string>
        <string>0x04e6</string>
        <string>0x04e6</string>
        <string>0x04e6</string>
        <string>0x04e6</string>
        <string>0x04e6</string>
        <string>0x073d</string>
        <string>0x076b</string>
        <string>0x076b</string>
        <string>0x076b</string>
        <string>0x076b</string>
        <string>0x076b</string>
        <string>0x0783</string>
        <string>0x08e6</string>
        <string>0x08e6</string>
        <string>0x08e6</string>
        <string>0x0b97</string>
        <string>0x0b97</string>
        <string>0x0bf8</string>
        <string>0x0dc3</string>
        <string>0x072f</string>
        <string>0x072f</string>
        <string>0x072f</string>
        <string>0x072f</string>
        <string>0x072f</string>
        <string>0x072f</string>
        <string>0x104f</string>
        <string>0x0c4b</string>
        <string>0x0a89</string>
        <string>0x0a89</string>
    </array>

    <key>ifdProductID</key>
    <array>
        <string>0x0001</string>
        <string>0x050c</string>
        <string>0x0514</string>
        <string>0x0600</string>
        <string>0x0700</string>
        <string>0x0005</string>
        <string>0x1202</string>
        <string>0x1300</string>
        <string>0x0005</string>
        <string>0x1024</string>
        <string>0x0010</string>
        <string>0x5115</string>
        <string>0x5116</string>
        <string>0x5117</string>
        <string>0x511d</string>
        <string>0xE001</string>
        <string>0xE003</string>
        <string>0x0c00</string>
        <string>0x1021</string>
        <string>0x3021</string>
        <string>0x5121</string>
        <string>0x5321</string>
        <string>0x6622</string>
        <string>0x0003</string>
        <string>0x3437</string>
        <string>0x3438</string>
        <string>0x4433</string>
        <string>0x7762</string>
        <string>0x7772</string>
        <string>0x1006</string>
        <string>0x1004</string>
        <string>0x0001</string>
        <string>0x8009</string>
        <string>0x9000</string>
        <string>0x9006</string>
        <string>0x9007</string>
        <string>0x90d0</string>
        <string>0x0004</string>
        <string>0x0100</string>
        <string>0x0020</string>
        <string>0x0012</string>
    </array>

    <key>ifdFriendlyName</key>
    <array>
        <string>Axalto/Schlumberger/Gemalo egate token</string>
        <string>Aladdin eToken PRO</string>
        <string>Aladdin eToken PRO</string>
        <string>Aladdin eToken PRO 64</string>
        <string>Aladdin eToken PRO NG OTP</string>
        <string>Eutron CryptoIdendity</string>
        <string>Rainbow iKey 2000</string>
        <string>Rainbow iKey 3000</string>
        <string>G&D Starkey 100</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Generic CCID Reader</string>
        <string>Pertosmart Card Reader</string>
        <string>Pertosmart Card Reader</string>
        <string>Pertosmart Card Reader</string>
        <string>Pertosmart Card Reader</string>
        <string>Pertosmart Card Reader</string>
        <string>Pertosmart Card Reader</string>
        <string>WB Electronics Inifinty USB Ulimited</string>
        <string>Cyberjack Reader</string>
        <string>Aktiv Rutoken S</string>
        <string>Aktiv uaToken S</string>
    </array>
</dict>
</plist>
user@host:~$ 

Перезапускал сервис, но на ситуацию это никак не повлияло.

user@host:~$ sudo service openct restart
Restarting smart card terminal framework: OpenCT1 process killed.
.
user@host:~$ sudo pcscd -afddddd
00000000 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000035 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000009 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000009 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000009 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000097 configfile.l:245:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d
00000022 configfile.l:287:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/libccidtwin
00000040 configfile.l:287:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/openct
00000025 pcscdaemon.c:556:main() pcsc-lite 1.7.4 daemon ready.
00001123 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000108 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000102 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/001/002
00000102 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x05E3, PID: 0x0608, path: /dev/bus/usb/001/012
00000101 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0028, path: /dev/bus/usb/001/013
00000096 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x05E3, PID: 0x0608, path: /dev/bus/usb/001/012
00000100 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0020, path: /dev/bus/usb/001/014
00000028 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0020, path: /dev/bus/usb/001/014
00000010 hotplug_libudev.c:309:HPAddDevice() Adding USB device: Aktiv Co. Rutoken S
00000028 readerfactory.c:934:RFInitializeReader() Attempting startup of Aktiv Co. Rutoken S 00 00 using /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so
00000120 readerfactory.c:824:RFBindFunctions() Loading IFD Handler 3.0
00000624 readerfactory.c:965:RFInitializeReader() Open Port 0x200000 Failed (usb:0a89)
00000016 readerfactory.c:275:RFAddReader() Aktiv Co. Rutoken S init failed.
00000014 readerfactory.c:985:RFUnInitializeReader() Attempting shutdown of Aktiv Co. Rutoken S 00 00.
00000011 readerfactory.c:861:RFUnloadReader() Unloading reader driver.
00000032 hotplug_libudev.c:377:HPAddDevice() Failed adding USB device: Aktiv Co. Rutoken S
00000017 utils.c:95:CheckForOpenCT() File /var/run/openct/status found. Remove OpenCT and try again
00000105 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x05E3, PID: 0x0608, path: /dev/bus/usb/001/012
00000097 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/001/002
00000119 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000115 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000098 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002
00000098 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x0458, PID: 0x003A, path: /dev/bus/usb/002/003
00000093 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002
00000101 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x04D9, PID: 0x1702, path: /dev/bus/usb/002/004
00000093 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x04D9, PID: 0x1702, path: /dev/bus/usb/002/004
00000089 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002
^C04526048 pcscdaemon.c:682:signal_trap() Received signal: 2
00000009 pcscdaemon.c:695:signal_trap() Preparing for suicide
00000038 pcscdaemon.c:682:signal_trap() Received signal: 2
00000006 readerfactory.c:1254:RFCleanupReaders() entering cleaning function
00000008 winscard_svc.c:130:ContextsDeinitialize() remaining threads: 0
00000004 pcscdaemon.c:634:at_exit() cleaning /var/run/pcscd
00000025 pcscdaemon.c:634:at_exit() cleaning /var/run/pcscd
00000012 pcscdaemon.c:658:clean_temp_files() Cannot remove /var/run/pcscd/pcscd.comm: No such file or directory
00000007 pcscdaemon.c:663:clean_temp_files() Cannot remove /var/run/pcscd/pcscd.pid: No such file or directory
user@host:~$ 

если остановить сервис openct, то всё работает

user@host:~$ sudo service openct stop
Stopping smart card terminal framework: OpenCT 1 process killed.
.
user@host:~$ sudo pcscd -afddddd
00000000 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000024 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000005 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000003 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000004 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000089 configfile.l:245:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d
00000015 configfile.l:287:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/libccidtwin
00000033 configfile.l:287:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/openct
00000018 pcscdaemon.c:556:main() pcsc-lite 1.7.4 daemon ready.
00001110 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000088 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000086 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/001/002
00000095 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x05E3, PID: 0x0608, path: /dev/bus/usb/001/012
00000092 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0028, path: /dev/bus/usb/001/013
00000085 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x05E3, PID: 0x0608, path: /dev/bus/usb/001/012
00000090 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0020, path: /dev/bus/usb/001/014
00000018 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0020, path: /dev/bus/usb/001/014
00000005 hotplug_libudev.c:309:HPAddDevice() Adding USB device: Aktiv Co. Rutoken S
00000021 readerfactory.c:934:RFInitializeReader() Attempting startup of Aktiv Co. Rutoken S 00 00 using /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so
00000110 readerfactory.c:824:RFBindFunctions() Loading IFD Handler 3.0
00001069 readerfactory.c:295:RFAddReader() Using the reader polling thread
00000622 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x05E3, PID: 0x0608, path: /dev/bus/usb/001/012
00000101 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/001/002
00000124 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000101 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000101 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002
00000101 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x0458, PID: 0x003A, path: /dev/bus/usb/002/003
00000103 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002
00000102 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x04D9, PID: 0x1702, path: /dev/bus/usb/002/004
00000095 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x04D9, PID: 0x1702, path: /dev/bus/usb/002/004
00000102 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002
00000041 readerfactory.c:1301:RFWaitForReaderInit() Waiting init for reader: Aktiv Co. Rutoken S 00 00
00001027 eventhandler.c:256:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000019 Card ATR: 3B 6F 00 FF 00 56 72 75 54 6F 6B 6E 73 30 20 00 00 90 00 

Re: Рутокен ЭЦП и Рутокен S в rdesktop одновременно

из Info.plist openct Вам надо удалить предпоследние строчки
<string>0x0a89</string>
<string>0x0020</string>
<string>Aktiv Rutoken S</string>

Re: Рутокен ЭЦП и Рутокен S в rdesktop одновременно

Не помогло.

По прежнему
readerfactory.c:965:RFInitializeReader() Open Port 0x200000 Failed (usb:0a89)
и
utils.c:95:CheckForOpenCT() File /var/run/openct/status found. Remove OpenCT and try again

Re: Рутокен ЭЦП и Рутокен S в rdesktop одновременно

smart пишет:

Не помогло.

По прежнему
readerfactory.c:965:RFInitializeReader() Open Port 0x200000 Failed (usb:0a89)
и
utils.c:95:CheckForOpenCT() File /var/run/openct/status found. Remove OpenCT and try again

Рестартните оба сервиса openct и pcscd. Почистите папку /var/run/openct

Re: Рутокен ЭЦП и Рутокен S в rdesktop одновременно

user@host:~$ sudo rm -rf /var/run/openct/*
user@host:~$ sudo service openct restart
Restarting smart card terminal framework: OpenCT0 processes killed.
.
user@host:~$ sudo service pcscd restart
user@host:~$ sudo pcscd -afddddd
00000000 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000041 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000006 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000006 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000005 debuglog.c:269:DebugLogSetLevel() debug level=debug
00000148 configfile.l:245:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d
00000025 configfile.l:287:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/libccidtwin
00000055 configfile.l:287:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/openct
00000030 pcscdaemon.c:556:main() pcsc-lite 1.7.4 daemon ready.
00001787 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000144 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000134 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/001/002
00000137 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x05E3, PID: 0x0608, path: /dev/bus/usb/001/006
00000139 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0028, path: /dev/bus/usb/001/007
00000134 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x05E3, PID: 0x0608, path: /dev/bus/usb/001/006
00000137 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0020, path: /dev/bus/usb/001/008
00000029 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0020, path: /dev/bus/usb/001/008
00000009 hotplug_libudev.c:309:HPAddDevice() Adding USB device: Aktiv Co. Rutoken S
00000031 readerfactory.c:934:RFInitializeReader() Attempting startup of Aktiv Co. Rutoken S 00 00 using /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so
00000178 readerfactory.c:824:RFBindFunctions() Loading IFD Handler 3.0
00000944 readerfactory.c:965:RFInitializeReader() Open Port 0x200000 Failed (usb:0a89)
00000009 readerfactory.c:275:RFAddReader() Aktiv Co. Rutoken S init failed.
00000007 readerfactory.c:985:RFUnInitializeReader() Attempting shutdown of Aktiv Co. Rutoken S 00 00.
00000006 readerfactory.c:861:RFUnloadReader() Unloading reader driver.
00000042 hotplug_libudev.c:377:HPAddDevice() Failed adding USB device: Aktiv Co. Rutoken S
00000012 utils.c:95:CheckForOpenCT() File /var/run/openct/status found. Remove OpenCT and try again
00000148 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x05E3, PID: 0x0608, path: /dev/bus/usb/001/006
00000131 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/001/002
00000191 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000128 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000130 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002
00000130 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x0458, PID: 0x003A, path: /dev/bus/usb/002/003
00000126 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002
00000133 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x04D9, PID: 0x1702, path: /dev/bus/usb/002/004
00000129 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x04D9, PID: 0x1702, path: /dev/bus/usb/002/004
00000123 hotplug_libudev.c:258:get_driver() Looking for a driver for VID: 0x8087, PID: 0x0024, path: /dev/bus/usb/002/002

Re: Рутокен ЭЦП и Рутокен S в rdesktop одновременно

Я бы советовал попробовать удалить запись

usb:0a89/0020, # Aktiv Rutoken S


из /etc/openct.conf (смотреть в самом низу файла).
Проблема явно в том, что openct первым захватывает usb-устройство, о чем и пишет Ludovic Rousseau  в комменте перед utils.c:CheckForOpenCT():

/**
 * Check is OpenCT is running and display a critical message if it is
 *
 * The first cause of pcsc-lite failure is that OpenCT is installed and running
 * and has already claimed the USB device. In that case RFAddReader() fails
 * and I get a user support request
 */

(2014-03-07 17:19:22 отредактировано smart)

Re: Рутокен ЭЦП и Рутокен S в rdesktop одновременно

Да! Это решение вопроса!
Таким образом, для работы Rutoken S достаточно команды

sudo sed -i 's/usb:0a89\/0020/#usb:0a89\/0020/' /etc/openct.conf

А /usr/lib/pcsc/drivers/openct-ifd.bundle/Contents/Info.plist можно не трогать.