(2020-08-16 13:36:38 отредактировано sanyo)

Использование смарткарт под Linux

Добрый день,

Пожалуйста, уточните:

1) Совместим ли rtadmin с вашими смарткартами Rutoken ECP2 2100 и 2151 ?

./rtadmin -f
Internal error: PKCS#11 library code: 0x00000030

Пробовал это с картридером SafeTouch конца 2015 года выпуска, может быть, несовместимость картридера со смарткартами - такое возможно?

2) Какие еще утилиты под Linux совместимы с этими смарткартами?

Пытался использовать pkcs11-tool с модулем librtpkcs11ecp.so пишет:

Using slot 0 with a present token (0x0)
error: PKCS11 function C_OpenSession failed: rv = CKR_DEVICE_ERROR (0x30)

3) opensc-tool -l
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    Yes             SafeTech SafeTouch [SmartCard] (01010601120000) 00 00

opensc-tool -n
Using reader with a card: SafeTech SafeTouch [SmartCard] (01010601120000) 00 00
Unsupported card

(2020-08-17 13:25:46 отредактировано Ксения Шаврова)

Re: Использование смарткарт под Linux

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

sanyo пишет:

Пробовал это с картридером SafeTouch конца 2015 года выпуска, может быть, несовместимость картридера со смарткартами - такое возможно?

Наши смарт-карты поддерживают работу с ридером SafeTouch Pro. Есть вероятность, что с ридером SafeTouch смарт-карты Рутокен корректно не заработают.
Рекомендуем проверить смарт-карту через другие ридеры.
Утилита rtAdmin совместима со смарт-картами Rutoken ECP2 2151.
Список всех необходимых для работы со смарт-картами утилит можно найти здесь.

(2020-08-17 14:02:52 отредактировано sanyo)

Re: Использование смарткарт под Linux

>Наши смарт-карты поддерживают работу с ридером SafeTouch Pro

Пожалуйста, уточните с какой версией прошивки и уровня HW SafeTouch PRO
вы проверяли ваши смарткарты Rutoken ECP2 2020-ого года выпуска.

Не посоветуете, где легче всего приобрести SafeTouch PRO? В каком банке?

Re: Использование смарткарт под Linux

sanyo, приветствую!

Приношу извинения за неточность в ответе от моего коллеги. По NFC протоколу смарт-карты 2100 и 2151 не работают. Сообщение поправлено.

Думаю, приобрести SafeTouch PRO лучше у производителя.

(2020-08-31 20:22:01 отредактировано sanyo)

Re: Использование смарткарт под Linux

Увы, производителю ненужна такая мелкая шелупонь как розничные покупатели, им подавай заказы от банков на сотни девайсов, уж хотя бы в secure-market сдавали на продажу, наверно им лень/невыгодно оказывать поддержку, ну хоть бы без поддержки продавали, но с гарантией конечно и с подробными инструкциями.

(2020-08-24 16:08:34 отредактировано sanyo)

Re: Использование смарткарт под Linux

Добрый день,

Поступила новая информация от сотрудника производителя SafeTouch PRO:

1) Устройства SafeTouch PRO НЕ залочены на определенный банк, в комплекте ДБО которого они идут, т.е. можно самостоятельно купить смарткарту в магазине (,а не банке) и она будет работать с SafeTouch PRO.

2) Смарткарты Рутокен НЕ поддерживаются в старых устройствах SafeTouch 2015 года выпуска.

3) Смарткарты Рутокен поддерживаются в SafeTouch PRO хотя бы без интеграции с КРиптоАРМ, а смаркарты ESMART Token НЕ поддерживаются. Причем в SafeTouch PRO поддерживаются только алгоритмы ГОСТ, т.е. SSH не будет работать по такой схеме, потому что он использует алгоритмы RSA.

4) Получается, из уже упомянутых устройств для авторизации по кнопке в SSH пока есть только одно решение - Рутокен ЭЦП 2.0 Touch без вариантов?

5) По словам сотрудника банка "Кольцо Урала" их устройства SafeTouch PRO программно залочены только на смарткарты этого банка, но по словам сотрудника производителя SafeTouch PRO такого не может быть, потому что они не лочат свои устройства на смарткарты только определенного банка, вот такие противоречивые сведения приходят от поддержки банков. Надеюсь, производитель не может ошибаться? :)

Re: Использование смарткарт под Linux

Получается, что единственный вариант - это Рутокен ЭЦП 2.0 Touch для подтверждения подписи, если используются ключи RSA.

Re: Использование смарткарт под Linux

Тимофей Ершов пишет:

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

sanyo пишет:

Пробовал это с картридером SafeTouch конца 2015 года выпуска, может быть, несовместимость картридера со смарткартами - такое возможно?

Наши смарт-карты поддерживают работу с ридером SafeTouch Pro. Есть вероятность, что с ридером SafeTouch смарт-карты Рутокен корректно не заработают.
Рекомендуем проверить смарт-карту через другие ридеры.
Утилита rtAdmin совместима со смарт-картами Rutoken ECP2 2151.
Список всех необходимых для работы со смарт-картами утилит можно найти здесь.

Карту 2151 нужно дополнительно прописывать где-то в системе?

pcsc_scan
PC/SC device scanner
V 1.4.27 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.17
Using reader plug'n play mechanism
Scanning present readers...
0: SafeTech SafeTouch [SmartCard] (01010601120000) 01 00

Mon Aug 31 21:01:22 2020
Reader 0: SafeTech SafeTouch [SmartCard] (01010601120000) 01 00
  Card state: Card removed,

Mon Aug 31 21:01:28 2020
Reader 0: SafeTech SafeTouch [SmartCard] (01010601120000) 01 00
  Card state: Card inserted,
  ATR: 3B 1A 96 72 75 74 6F 6B 65 6E 6D 73 63

ATR: 3B 1A 96 72 75 74 6F 6B 65 6E 6D 73 63
+ TS = 3B --> Direct Convention
+ T0 = 1A, Y(1): 0001, K: 10 (historical bytes)
  TA(1) = 96 --> Fi=512, Di=32, 16 cycles/ETU
    250000 bits/s at 4 MHz, fMax for Fi = 5 MHz => 312500 bits/s
+ Historical bytes: 72 75 74 6F 6B 65 6E 6D 73 63
  Category indicator byte: 72 (proprietary format)

Possibly identified card (using /root/.cache/smartcard_list.txt):
        NONE

Your card is not present in the database.
Please submit your unknown card at:
http://smartcard-atr.appspot.com/parse? … 656E6D7363

(2020-08-31 20:40:59 отредактировано sanyo)

Re: Использование смарткарт под Linux

Использую инструкцию: https://www.rutoken.ru/download/manual/ … _Linux.pdf


# dpkg -al | grep ccid
ii  libccid                              1.4.26-1                             amd64        PC/SC driver for USB CCID smart card readers

# dpkg -al | grep rtpkcs
ii  librtpkcs11ecp                       2.0.5.1                              amd64        Rutoken PKCS#11 Library

# dpkg -al | grep libpcsclite1
ii  libpcsclite1:amd64                   1.8.22-1+devuan2                     amd64        Middleware to access a smart card using PC/SC (library)

# dpkg -al | grep pcscd
ii  pcscd                                1.8.22-1+devuan2                     amd64        Middleware to access a smart card using PC/SC (daemon side)

# dpkg -al | grep pcsc-tools
ii  pcsc-tools                           1.4.27-1                             amd64        Some tools to use with smart cards and PC/SC

# dpkg -al | grep opensc
ii  opensc                               0.16.0-3+deb9u1                      amd64        Smart card utilities with support for PKCS#15 compatible cards
ii  opensc-pkcs11:amd64                  0.16.0-3+deb9u1                      amd64        Smart card utilities with support for PKCS#15 compatible cards


На Linux хосте нормально работает USB токен Rutoken ECP2, но не работает ни одна смарткарта: 2100 и 2151.

Что мне делать? Если не заработает с другим считывателем ACS ACR3901U-H3, то возвращать смарткарты обратно по гарантии?

(2020-08-31 20:09:42 отредактировано sanyo)

Re: Использование смарткарт под Linux

Лог демона pcscd (/usr/sbin/pcscd -afddddd) при попытке подключения и извлечения разных карт:

54410958 eventhandler.c:356:EHStatusHandlerThread() Card Removed From Alcor Micro AU9560 01 00
05642002 ifdhandler.c:1154:IFDHPowerICC() action: PowerUp, usb:24a2/0102:libudev:0:/dev/bus/usb/004/007 (lun: 0)                                                                                                                                                               
00000018 commands.c:204:CmdPowerOn() 5V requested but not support by reader                                                                                                                                                                                                   
00022986 eventhandler.c:404:EHStatusHandlerThread() powerState: POWER_STATE_POWERED                                                                                                                                                                                           
00000014 eventhandler.c:421:EHStatusHandlerThread() Card inserted into SafeTech SafeTouch [SmartCard] (01010601120000) 00 00                                                                                                                                                   
00000016 Card ATR: 3B 1A 96 72 75 74 6F 6B 65 6E 6D 73 63                                                                                                                                                                                                                     
05004969 ifdhandler.c:1154:IFDHPowerICC() action: PowerDown, usb:24a2/0102:libudev:0:/dev/bus/usb/004/007 (lun: 0)                                                                                                                                                             
00001993 eventhandler.c:480:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED                                                                                                                                                                                         
10072006 eventhandler.c:356:EHStatusHandlerThread() Card Removed From SafeTech SafeTouch [SmartCard] (01010601120000) 00 00                                                                                                                                                   
02067001 ifdhandler.c:1154:IFDHPowerICC() action: PowerUp, usb:058f/9540:libudev:0:/dev/bus/usb/004/006 (lun: 10000)                                                                                                                                                           
00304006 commands.c:249:CmdPowerOn Card absent or mute                                                                                                                                                                                                                         
00000015 ifdhandler.c:1221:IFDHPowerICC() PowerUp failed                                                                                                                                                                                                                       
00000012 eventhandler.c:410:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED                                                                                                                                                                                         
00000011 eventhandler.c:421:EHStatusHandlerThread() Card inserted into Alcor Micro AU9560 01 00                                                                                                                                                                               
00000008 eventhandler.c:437:EHStatusHandlerThread() Error powering up card.                                                                                                                                                                                                   
04727949 eventhandler.c:356:EHStatusHandlerThread() Card Removed From Alcor Micro AU9560 01 00                                                                                                                                                                                 
07960004 ifdhandler.c:1154:IFDHPowerICC() action: PowerUp, usb:058f/9540:libudev:0:/dev/bus/usb/004/006 (lun: 10000)                                                                                                                                                           
00304003 commands.c:249:CmdPowerOn Card absent or mute                                                                                                                                                                                                                         
00000013 ifdhandler.c:1221:IFDHPowerICC() PowerUp failed                                                                                                                                                                                                                       
00000012 eventhandler.c:410:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED                                                                                                                                                                                         
00000012 eventhandler.c:421:EHStatusHandlerThread() Card inserted into Alcor Micro AU9560 01 00                                                                                                                                                                               
00000008 eventhandler.c:437:EHStatusHandlerThread() Error powering up card.                                                                                                                                                                                                   
01646950 eventhandler.c:356:EHStatusHandlerThread() Card Removed From Alcor Micro AU9560 01 00                                                                                                                                                                                 
02576000 ifdhandler.c:1154:IFDHPowerICC() action: PowerUp, usb:24a2/0102:libudev:0:/dev/bus/usb/004/007 (lun: 0)                                                                                                                                                               
00000018 commands.c:204:CmdPowerOn() 5V requested but not support by reader                                                                                                                                                                                                   
00139985 eventhandler.c:404:EHStatusHandlerThread() powerState: POWER_STATE_POWERED                                                                                                                                                                                           
00000014 eventhandler.c:421:EHStatusHandlerThread() Card inserted into SafeTech SafeTouch [SmartCard] (01010601120000) 00 00                                                                                                                                                   
00000017 Card ATR: 3B BE 96 00 00 42 06 21 00 00 00 00 00 00 00 00 00 90 00                                                                                                                                                                                                   
01905966 eventhandler.c:480:EHStatusHandlerThread() powerState: POWER_STATE_UNPOWERED                                                                                                                                                                                         
00002001 eventhandler.c:356:EHStatusHandlerThread() Card Removed From SafeTech SafeTouch [SmartCard] (01010601120000) 00 00

(2020-08-31 20:20:19 отредактировано sanyo)

Re: Использование смарткарт под Linux

Судя по логу не удается подать питание на карты?

Что-то похожее:

http://lists.infradead.org/pipermail/pc … 01027.html

гуглится на многих страницах.

(2020-09-01 00:50:29 отредактировано sanyo)

Re: Использование смарткарт под Linux

По считывателю Alcor AU9540 немного прояснилось:

https://ccid.apdu.fr/ccid/unsupported.html

the reader (or the BIOS?) decides to power off the card without intervention of the CCID driver
Alcor Micro AU9540 keeps powering down when card is present

А SafeTouch 2015 может  вообще совсем полностью не работать с современными картами Рутокен ЭЦП2 или только не отлавливать команды APDU на подпись, но при этом все же работать как с обычным считывателем без кнопки?

(2020-09-01 00:39:38 отредактировано sanyo)

Re: Использование смарткарт под Linux

/usr/lib/pcsc/drivers# cat ifd-ccid.bundle/Contents/Info.plist | grep ACS | grep ACR3901U

<string>ACS ACR3901U ICC Reader</string>

Это совместимо со считывателем "ACS ACR3901U-H3" ?

Или надо прямо точно ACR3901U без H3?

Re: Использование смарткарт под Linux

sanyo пишет:
Тимофей Ершов пишет:

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

sanyo пишет:

Пробовал это с картридером SafeTouch конца 2015 года выпуска, может быть, несовместимость картридера со смарткартами - такое возможно?

Наши смарт-карты поддерживают работу с ридером SafeTouch Pro. Есть вероятность, что с ридером SafeTouch смарт-карты Рутокен корректно не заработают.
Рекомендуем проверить смарт-карту через другие ридеры.
Утилита rtAdmin совместима со смарт-картами Rutoken ECP2 2151.
Список всех необходимых для работы со смарт-картами утилит можно найти здесь.

Карту 2151 нужно дополнительно прописывать где-то в системе?

pcsc_scan
PC/SC device scanner
V 1.4.27 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.17
Using reader plug'n play mechanism
Scanning present readers...
0: SafeTech SafeTouch [SmartCard] (01010601120000) 01 00

Mon Aug 31 21:01:22 2020
Reader 0: SafeTech SafeTouch [SmartCard] (01010601120000) 01 00
  Card state: Card removed,

Mon Aug 31 21:01:28 2020
Reader 0: SafeTech SafeTouch [SmartCard] (01010601120000) 01 00
  Card state: Card inserted,
  ATR: 3B 1A 96 72 75 74 6F 6B 65 6E 6D 73 63

ATR: 3B 1A 96 72 75 74 6F 6B 65 6E 6D 73 63
+ TS = 3B --> Direct Convention
+ T0 = 1A, Y(1): 0001, K: 10 (historical bytes)
  TA(1) = 96 --> Fi=512, Di=32, 16 cycles/ETU
    250000 bits/s at 4 MHz, fMax for Fi = 5 MHz => 312500 bits/s
+ Historical bytes: 72 75 74 6F 6B 65 6E 6D 73 63
  Category indicator byte: 72 (proprietary format)

Possibly identified card (using /root/.cache/smartcard_list.txt):
        NONE

Your card is not present in the database.
Please submit your unknown card at:
http://smartcard-atr.appspot.com/parse? … 656E6D7363

Все необходимые настройки описаны в данном руководстве.

Re: Использование смарткарт под Linux

sanyo пишет:

Использую инструкцию: https://www.rutoken.ru/download/manual/ … _Linux.pdf


# dpkg -al | grep ccid
ii  libccid                              1.4.26-1                             amd64        PC/SC driver for USB CCID smart card readers

# dpkg -al | grep rtpkcs
ii  librtpkcs11ecp                       2.0.5.1                              amd64        Rutoken PKCS#11 Library

# dpkg -al | grep libpcsclite1
ii  libpcsclite1:amd64                   1.8.22-1+devuan2                     amd64        Middleware to access a smart card using PC/SC (library)

# dpkg -al | grep pcscd
ii  pcscd                                1.8.22-1+devuan2                     amd64        Middleware to access a smart card using PC/SC (daemon side)

# dpkg -al | grep pcsc-tools
ii  pcsc-tools                           1.4.27-1                             amd64        Some tools to use with smart cards and PC/SC

# dpkg -al | grep opensc
ii  opensc                               0.16.0-3+deb9u1                      amd64        Smart card utilities with support for PKCS#15 compatible cards
ii  opensc-pkcs11:amd64                  0.16.0-3+deb9u1                      amd64        Smart card utilities with support for PKCS#15 compatible cards


На Linux хосте нормально работает USB токен Rutoken ECP2, но не работает ни одна смарткарта: 2100 и 2151.

Что мне делать? Если не заработает с другим считывателем ACS ACR3901U-H3, то возвращать смарткарты обратно по гарантии?

Судя по предыдущему посту и этой строчке

Scanning present readers...
0: SafeTech SafeTouch [SmartCard] (01010601120000) 01 00

Вы используете считыватель SafeTouch. С этим считывателем наши смарт-карты точно не будут работать. Со считывателем  ACR3901U-H3 смарт-карты Рутокен работать должны.