3. Настройка Ubuntu Linux х64 для работы с нужным носителем

AvToken, AvPass

Для работы с AvPass, AvToken нужно изменить файл (100-local-permissions.rules), для чего откройте терминал и выполните команду:

sudo gedit /lib/udev/rules.d/100-local-permissions.rules

далее введите пароль суперпользователя.
Внесите в файл следующие строки, файл сохраните:

SUBSYSTEMS=="usb" ATTRS{idVendor}=="c1a5" ATTRS{idProduct}=="0402" MODE:="0777" SYMLINK+="AvToken"
SUBSYSTEMS=="usb" ATTRS{idVendor}=="c1a5" ATTRS{idProduct}=="0502" MODE:="0777" SYMLINK+="AvPass"
SUBSYSTEMS=="usb" ATTRS{idVendor}=="c1a5" ATTRS{idProduct}=="0501" MODE:="0777" SYMLINK+="AvPass v1"


Если в ПК был вставлен USB-носитель, извлеките его и вставьте обратно.

AvBign

Для использования USB-носителя AvBign нужно открыть терминал и выполнить следующие действия:
Установить библиотеки взаимодействия со смарт-картами:

sudo apt-get install pcscd pcsc-tools libccid libpcsclite1
sudo apt-get install opensc

Создать группу pcscd:

sudo groupadd pcscd

Добавить текущего пользователя в группу pcscd:

sudo adduser root pcscd

Далее нужно отредактировать список:

sudo nano /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist

В разделе ifdVendorID добавить первым в список:

<string>0x28A1</string>

В разделе ifdProductID добавить первым в список:

<string>0x0601</string>

В разделе ifdFriendlyName добавить первым в список:

<string>AVEST-SYSTEMS AvBign</string>

После чего сохранить файл, нажав сочетание клавиш Ctrl+O (O латинская).
Перезапустить сервис pcscd:

sudo service pcscd restart

Вставить устройство AvBign.
Чтобы убедиться, что устройство определяется успешно необходимо запустить утилиту pcsc_scan:

pcsc_scan
PC/SC device scanner
V 1.5.2 (c) 2001-2017, Ludovic Rousseau <ludovic.rousseau@free.fr>
Using reader plug'n play mechanism
Scanning present readers...
0: AVEST-SYSTEMS AvBign (AVB1059990001) 00 00
Thu Sep 24 14:31:24 2020
Reader 0: AVEST-SYSTEMS AvBign (AVB1059990001) 00 00
Card state: Card inserted,
ATR: 3B 8F 01 41 56 42 00 00 00 00 00 00 00 00 01 00 00 00 DA
ATR: 3B 8F 01 41 56 42 00 00 00 00 00 00 00 00 01 00 00 00 DA
+ TS = 3B --> Direct Convention
+ T0 = 8F, Y(1): 1000, K: 15 (historical bytes)
TD(1) = 01 --> Y(i+1) = 0000, Protocol T = 1
-----
+ Historical bytes: 41 56 42 00 00 00 00 00 00 00 00 01 00 00 00
Category indicator byte: 41 (proprietary format)
+ TCK = DA (correct checksum)
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B 8F 01 41 56 42 00 00 00 00 00 00 00 00 01 00 00 00 DA
AVEST-SYSTEMS AvBign (PKI)

ID-карта

Для использования ID-карты нужно открыть терминал и выполнить следующие действия:
Установить библиотеки взаимодействия со смарт-картами:

sudo apt-get install pcscd pcsc-tools libccid libpcsclite1
sudo apt-get install opensc

Создать группу pcscd:

sudo groupadd pcscd

Добавить текущего пользователя в группу pcscd:

sudo adduser root pcscd

Далее нужно отредактировать список Info.plist:

sudo nano /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist

В разделе ifdVendorID добавить первым в список:

<string>0x04E6</string>
<string>0x1FC9</string>
<string>0x096E</string>


В разделе ifdProductID добавить первым в список:

<string>0x5410</string>
<string>0x0117</string>
<string>0x0503</string>


В разделе ifdFriendlyName добавить первым в список:

<string>Active Reader</string>
<string>Reader Promsvyaz</string>
<string>Reader other</string>


После чего сохранить файл, нажав сочетание клавиш Ctrl+O (O латинская).
Перезапустить сервис pcscd:

sudo service pcscd restart

Присоединить считыватель ID-карт к компьютеру и вставить в него ID-карту.
Чтобы убедиться, что считыватель определяется успешно, необходимо запустить утилиту pcsc_scan:
Пример успешного распознавания подключенного считывателя и присоединенной карты:

pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: Модель ридера
Wed Jan 25 11:40:40 2023
Reader 0: Модель ридера
Event number: 0
Card state: Card inserted,
ATR: 3B DA 18 FF 81 91 FE 1F C3 80 64 12 11 11 10 73 C0 C1 80 1B
ATR: 3B DA 18 FF 81 91 FE 1F C3 80 64 12 11 11 10 73 C0 C1 80 1B
+ TS = 3B --> Direct Convention
+ T0 = DA, Y(1): 1101, K: 10 (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) = FF --> Extra guard time: 255 (special value)
TD(1) = 81 --> Y(i+1) = 1000, Protocol T = 1
-----
TD(2) = 91 --> Y(i+1) = 1001, Protocol T = 1
-----
TA(3) = FE --> IFSC: 254
TD(3) = 1F --> Y(i+1) = 0001, Protocol T = 15 - Global interface bytes following
-----
TA(4) = C3 --> Clock stop: no preference - Class accepted by the card: (3G) A 5V B 3V
+ Historical bytes: 80 64 12 11 11 10 73 C0 C1 80
Category indicator byte: 80 (compact TLV data object)
Tag: 6, len: 4 (pre-issuing data)
Data: 12 11 11 10
Tag: 7, len: 3 (card capabilities)
Selection methods: C0
- DF selection by full DF name
- DF selection by partial DF name
Data coding byte: C1
- EF of TLV structure supported
- Behaviour of write functions: write OR
- Value 'FF' for the first byte of BER-TLV tag fields: invalid
- Data unit in quartets: 2
Command chaining, length fields and logical channels: 80
- Command chaining
- Logical channel number assignment: No logical channel
- Maximum number of logical channels: 1
+ TCK = 1B (correct checksum)
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
NONE
Possibly identified card (using /home/test/.cache/smartcard_list.txt):
3B DA 18 FF 81 91 FE 1F C3 80 64 12 11 11 10 73 C0 C1 80 1B
Belarus national identity card (passport)

Пример успешного распознавания подключенного считывателя и отсутствующей карты:

pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: Модель ридера
Wed Jan 25 11:58:16 2023
Reader 0: Модель ридера
Event number: 0
Card state: Card removed