Тема: видимость vdToken в RHEL 7
Столкнулся со следующей проблемой.
vdToken не определяется операционной системой RHEL 7.5 как смарт-карта
В то время как ОС Windows 7 сразу определяет, что вставленное USB-устройство -- это смарт-карта неизвестного типа.
Подчеркну особо, что ни на машине с RHEL 7.5, ни на машине с Windows 7 не установлено никакого софта от Валидаты.
Но это и не нужно, т.к. наш use case заключается в следующем:
Мы редиректим этот vdTоken через rdp-сессию на машину, где валидатовский софт установлен.
В случае с Windows всё работает ОК:
запускаем mstsc.exe, на всяк.случай в .rdp файле указываем
redirectsmartcards:i:1
rdp-сервер видит, что ему в сессии передали смарткарту и после указания пин-кода обнаруживает на vdToken'е приватные ключи
А вот в случае с RHEL 7.5 система просто не понимает, что ей подсунули смарткарту.
Расскажу, как это выглядит с поддерживаемыми через opensc смарткартами:
Утилитой pcsc_scan можно определить, какие в точности смарткарты есть у вас в системе:
root@regl ~# pcsc_scan
PC/SC device scanner
V 1.4.25 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.8
Using reader plug'n play mechanism
Scanning present readers...
0: Aktiv Rutoken ECP 00 00
1: Aladdin eToken PRO USB 72K Java [Main Interface] 01 00
Tue Jul 3 11:47:49 2018
Reader 0: Aktiv Rutoken ECP 00 00
Card state: Card inserted, Shared Mode,
ATR: 3B 8B 01 52 75 74 6F 6B 65 6E 20 44 53 20 C1
ATR: 3B 8B 01 52 75 74 6F 6B 65 6E 20 44 53 20 C1
+ TS = 3B --> Direct Convention
+ T0 = 8B, Y(1): 1000, K: 11 (historical bytes)
TD(1) = 01 --> Y(i+1) = 0000, Protocol T = 1
-----
+ Historical bytes: 52 75 74 6F 6B 65 6E 20 44 53 20
Category indicator byte: 52 (proprietary format)
+ TCK = C1 (correct checksum)
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B 8B 01 52 75 74 6F 6B 65 6E 20 44 53 20 C1
Rutoken ECP (DS)
Reader 1: Aladdin eToken PRO USB 72K Java [Main Interface] 01 00
Card state: Card inserted, Shared Mode,
ATR: 3B D5 18 00 81 31 FE 7D 80 73 C8 21 10 F4
ATR: 3B D5 18 00 81 31 FE 7D 80 73 C8 21 10 F4
+ TS = 3B --> Direct Convention
+ T0 = D5, Y(1): 1101, K: 5 (historical bytes)
TA(1) = 18 --> Fi=372, Di=12, 31 cycles/ETU
129032 bits/s at 4 MHz, fMax for Fi = 5 MHz => 161290 bits/s
TC(1) = 00 --> Extra guard time: 0
TD(1) = 81 --> Y(i+1) = 1000, Protocol T = 1
-----
TD(2) = 31 --> Y(i+1) = 0011, Protocol T = 1
-----
TA(3) = FE --> IFSC: 254
TB(3) = 7D --> Block Waiting Integer: 7 - Character Waiting Integer: 13
+ Historical bytes: 80 73 C8 21 10
Category indicator byte: 80 (compact TLV data object)
Tag: 7, len: 3 (card capabilities)
Selection methods: C8
- DF selection by full DF name
- DF selection by partial DF name
- Implicit DF selection
Data coding byte: 21
- Behaviour of write functions: proprietary
- Value 'FF' for the first byte of BER-TLV tag fields: invalid
- Data unit in quartets: 2
Command chaining, length fields and logical channels: 10
- Logical channel number assignment: by the card
- Maximum number of logical channels: 1
+ TCK = F4 (correct checksum)
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B D5 18 00 81 31 FE 7D 80 73 C8 21 10 F4
Bank of Lithuania Identification card
Aladdin PRO/Java card
http://www.aladdin-rd.ru/catalog/etoken/java/
^C
root@regl ~#
и потом запустить rdp-сессию вот так:
root@regl ~# xfreerdp -a 16 -g 1280x768 -d DOMAIN -u user testhost.domain.local:3389 --plugin rdpdr --data scard:"Aladdin eToken PRO USB 72K Java [Main Interface] 01 00" &
connected to testhost.domain.local:3389
Password:
root@regl ~#
А вот в случае с vdToken просто нечего указать в параметре --data scard: