LINUX.ORG.RU

Смарткарта в OpenBSD

 ,


0

2

Пытаюсь настроить работу Rutoken-Lite в OpenBSD.
Вводные: OpenBSD 7.7
по программам:

1 pcsc-lite-2.3.1
2 pcsc-tools-1.7.3
3 opensc-0.26.1
4 ccid-1.6.2

Устройство определяется так:

fan# dmesg | grep Rut
ugen0 at uhub4 port 3 "Aktiv Rutoken lite" rev 2.00/1.00 addr 4

Рутокен имеет VendorID - 0a89
Но у меня почему-то строка пустая:

fan# lsusb
Bus 000 Device 004: ID 0a89:0025

Не знаю влияет это как-то или нет?

Вывод usbdevs:

fan# usbdevs -v                                                                                                               
Controller /dev/usb0:
addr 04: 0a89:0025 Aktiv, Rutoken lite
	 full speed, power 100 mA, config 1, rev 1.00
	 driver: ugen0

Права на usb0:

fan# ls -l | grep usb0
crw-rw----  1 root  wheel      61,   0 May 12  2025 usb0

В группе wheel состаю:

fan$ id
uid=1000(fan) gid=1000(fan) groups=1000(fan), 0(wheel), 5(operator), 118(_shutdown), 553(_saned)

Запускаю pcscd:

fan# rcctl start pcscd                                                         
pcscd
(ok)
fan#

Проверяю поддержку устройства:

fan# opensc-explorer                                                           
OpenSC Explorer version 0.26.1
No smart card readers found.

Соответственно сканирование уходит в бесконечность:

fan# pcsc_scan  
PC/SC device scanner
V 1.7.3 (c) 2001-2024, Ludovic Rousseau <ludovic.rousseau@free.fr>
Using reader plug'n play mechanism
Scanning present readers...
Waiting for the first reader... |

И дальше ничего не происходит.
С таким же набором программ в Slackware 15.0 сканирование работает.



Последнее исправление: RodoSlav (всего исправлений: 3)

Насколько я помню, pcsc работает поверх libusb того же автора. Возможно, дело в версии этой библиотеки.

dmaj
()

С таким же набором программ в Slackware 15.0 сканирование работает

В слаке и вайфай работает искаропки. В опенке же «сосурити фёстингом» занимаются в основном. Помню, одмины разных подкроватных лолхостов с бсдями надували щоки шта их-то бсди требуют кококих-то невпупенных «экзотерических» ЗНАНИЙ(ТМ) Вот и наслаждайсо.

slackwarrior ★★★★★
()
Ответ на: комментарий от dmaj

Версия libusb текущая для моей сборки:

fan# pkg_info -Q libusb
libusb1-1.0.27 (installed)

Обнаружил, что Рутокен имеет VendorID - 0a89
Но у меня почему-то строка пустая:

fan# lsusb
Bus 000 Device 004: ID 0a89:0025

Интересно, это влияет на работу pcsc_scan?

RodoSlav
() автор топика
Последнее исправление: RodoSlav (всего исправлений: 1)

выхлоп stace давай, без него телепаты настроиться на прием не могут.

ах да, еще надо собрать opensc и тузлу с флажком -g

ckotctvo
()
Последнее исправление: ckotctvo (всего исправлений: 1)

А с каких пор Rutoken-Lite стал смарткартой?

Для начала надо взять правильную модель Rutoken ECP 3, желательно 3120 Touch.

sanyo1234
()
Ответ на: комментарий от ckotctvo

strace в OpenBSD вроде не подвозили :)

fan# kdump

выдаёт следующее:

98572 pcsc_scan RET   write 7
 98572 pcsc_scan CALL  nanosleep(0x63ce460ac60,0)
 98572 pcsc_scan STRU  struct timespec { 0.100000000 }
 98572 pcsc_scan RET   nanosleep 0
 98572 pcsc_scan CALL  write(1,0x63d97d68000,0x7)
 98572 pcsc_scan GIO   fd 1 wrote 7 bytes
       "\^[[3D | "
 98572 pcsc_scan RET   write 7
 98572 pcsc_scan CALL  nanosleep(0x63ce460ac60,0)
 98572 pcsc_scan STRU  struct timespec { 0.100000000 }
 98572 pcsc_scan PSIG  SIGINT caught handler=0x63ade151710 mask=0<>
 98572 pcsc_scan RET   nanosleep -1 errno 4 Interrupted system call
 98572 pcsc_scan CALL  sigreturn(0x63ce460a780)
 98572 pcsc_scan RET   sigreturn JUSTRETURN
 98572 pcsc_scan CALL  kbind(0x63ce460ab98,24,0x3546dcf54c5a070)
 98572 pcsc_scan RET   kbind 0
 98572 pcsc_scan CALL  socket(AF_UNIX,0x8001<SOCK_STREAM|SOCK_CLOEXEC>,0)
 98572 pcsc_scan RET   socket 4
 98572 pcsc_scan CALL  connect(4,0x63ce460ab80,27)
 98572 pcsc_scan STRU  struct sockaddr { AF_UNIX, "/var/run/pcscd/pcscd.comm" }
 98572 pcsc_scan NAMI  "/var/run/pcscd/pcscd.comm"
 98572 pcsc_scan RET   connect 0
 98572 pcsc_scan CALL  fcntl(4,F_GETFL)
 98572 pcsc_scan RET   fcntl 2
 98572 pcsc_scan CALL  fcntl(4,F_SETFL,0x6<O_RDWR|O_NONBLOCK>)
 98572 pcsc_scan RET   fcntl 0
 98572 pcsc_scan CALL  poll(0x63ce460ab98,1,INFTIM)
 98572 pcsc_scan STRU  struct pollfd { fd=4, events=0x4<POLLOUT>, revents=0x4<POLLOUT> }
 98572 pcsc_scan RET   poll 1
 98572 pcsc_scan CALL  sendto(4,0x63ce460abe8,0x8,0x400<MSG_NOSIGNAL>,0,0)
 98572 pcsc_scan GIO   fd 4 wrote 8 bytes
RodoSlav
() автор топика
Последнее исправление: RodoSlav (всего исправлений: 1)
Ответ на: комментарий от RodoSlav
  1. А он дружит хотя бы с OpenSC для начала?

  2. Какой смысл даже пытаться с таким недо рутокеном? Безопасности от него нет никакой.

sanyo1234
()

...дальше ничего не происходит...

И не произойдёт. Это опёнок, детка!

sparkie ★★★★★
()
Ответ на: комментарий от sanyo1234

Дружит.
В Slackware 15.0 проверил.
В моём случае речь не о безопасности, а возможности электронной подписи с последующей сдачей отчётности в ФНС.

RodoSlav
() автор топика
Ответ на: комментарий от Atlant
fan# usbdevs -v                                                                                                               
Controller /dev/usb0:
addr 04: 0a89:0025 Aktiv, Rutoken lite
	 full speed, power 100 mA, config 1, rev 1.00
	 driver: ugen0

Права на usb0:

fan# ls -l | grep usb0
crw-rw----  1 root  wheel      61,   0 May 12  2025 usb0

В группе wheel состаю:

fan$ id
uid=1000(fan) gid=1000(fan) groups=1000(fan), 0(wheel), 5(operator), 118(_shutdown), 553(_saned)
RodoSlav
() автор топика
Ответ на: комментарий от sanyo1234

Хотя извиняюсь, облом:

fan# opensc-explorer                                                           
OpenSC Explorer version 0.26.1
No smart card readers found.

Что делать?
При этом версия Opensc в Slackware: 0.23.0
В OpenBSD: 0.26.1

RodoSlav
() автор топика
Ответ на: комментарий от Atlant

захожу под пользователем.
Потом делаю su.

RodoSlav
() автор топика
Ответ на: комментарий от RodoSlav

с учетом того что у тебя lite, а согласно руководствам в нем нет шифрования. то тебе так и так надо начинать с установки криптоппро, а в криптопро своя поддержка порой токенов была(вроде только с 5 версии начали разрешать через стандарт PKCS#11).

Если бы у тебя был рутокен ЭЦП 3.0 (или 2.0 который сейчас не разрешается как криптопровайдер использовать) - то вероятно отработало. По крайней мере под linux - этот вариант работает, при условии генерации ключевой информации на токене через PKCS#11.

Atlant ★★★★★
()
Ответ на: комментарий от sanyo1234

Rutoken ECP 2

так я о том же. Рутокен ЭЦП отрабатывает стандарт PKCS#11.

Atlant ★★★★★
()
Ответ на: комментарий от Atlant

Думаю, что КриптоПро здесь не причём, т.к. у меня в Slackware так же нет КриптоПро, но при этом pcsc_scan работает.
А в VirtualBox установлен Debian 10, вот там да полный фарш.
И ФНС всё принимает и переваривает на ура.

RodoSlav
() автор топика
Последнее исправление: RodoSlav (всего исправлений: 2)
Ответ на: комментарий от RodoSlav

Из интересного в дампе ядра после запуска Opensc-explorer:

53586 opensc-explorer CALL  setsockopt(8,6<tcp>,1,0x7c08a9aaa9f4,4)
53586 opensc-explorer RET   setsockopt -1 errno 42 Protocol not available

53586 opensc-explorer CALL  open(0xe1271640d80,0<O_RDONLY>)
53586 opensc-explorer NAMI  "/usr/local/lib/charset.alias"
53586 opensc-explorer RET   open -1 errno 2 No such file or directory

53586 opensc-explorer CALL  connect(8,0x7c08a9aab030,106)
53586 opensc-explorer STRU  struct sockaddr { AF_UNIX, "/tmp/dbus-nQQzkVqSQK" }
53586 opensc-explorer NAMI  "/tmp/dbus-nQQzkVqSQK"
53586 opensc-explorer RET   connect 0

53586 opensc-explorer CALL  read(9,0xe123a5a0997,0x1)
53586 opensc-explorer RET   read -1 errno 35 Resource temporarily unavailable

53586 opensc-explorer CALL  kbind(0x7c08a9aab3d8,24,0xd8423f1d79211b53)
53586 opensc-explorer RET   sendmsg -1 errno 32 Broken pipe
RodoSlav
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.