Загрузки – ESMART

Загрузки – esmart

Модули поддержки ESMART Token уже входят в состав всех версий КриптоПро CSP.
Загружайте и устанавливайте данный пакет, только если вы столкнулись с проблемой, для решения которой производитель рекомендует установить данную версию модулей.

Эмулятор виртуальной смарткарты

В процессе изучения вопроса по использованию смарткарт в Linux наткнулся на проект

Virtual Smart Card Architecture

который предоставляет средства для эмуляции ридеров и самих смарткарт в Linux, Windows и MacOS X.

Features

Из всего фреймворка меня в первую очередь интересует функционал по эмуляции виртуальной смарткарты, потому я и подготовил пакет для пары экспериментов.

Установить его можно из моего репозитория

$ sudo aptitude install virtualsmartcard
$ sudo service pcscd restart

Для удобства работы со смарткартами нужно установить пакет opensc.

$ sudo aptitude install opensc

И затем проверить, что виртуальные ридеры видны в системе и доступны прикладному софту.

$ opensc-tool --list-readers
# Detected readers (pcsc)
Nr. Card Features Name
0 No Virtual PCD 00 00
1 No Virtual PCD 00 01
2 No Virtual PCD 00 02
3 No Virtual PCD 00 03
4 No Virtual PCD 00 04
5 No Virtual PCD 00 05
6 No Virtual PCD 00 06
7 No Virtual PCD 00 07
8 No Virtual PCD 00 08
9 No Virtual PCD 00 09
10 No Broadcom Corp 5880 [Contacted SmartCard] (0123456789ABCD) 00 00

В соседнем терминале запустим эмулятор смарткарты стандарта ISO7816 и проверим реакцию на это событие.

$ vicc -t iso7816
02.09.2022 11:24:28 [WARNING] Using default SAM parameters. PIN=1234, Card Nr=1234567890
02.09.2022 11:24:28 [INFO] Connected to virtual PCD at localhost:35963
02.09.2022 11:24:28 [INFO] Power Up
02.09.2022 11:24:29 [INFO] Power Down

Теперь обновим состояние ридеров – по идее сейчас виртуальная карта должна появиться в одном из ридеров.

$ opensc-tool --list-readers
# Detected readers (pcsc)
Nr. Card Features Name
0 Yes Virtual PCD 00 00
1 No Virtual PCD 00 01
2 No Virtual PCD 00 02
3 No Virtual PCD 00 03
4 No Virtual PCD 00 04
5 No Virtual PCD 00 05
6 No Virtual PCD 00 06
7 No Virtual PCD 00 07
8 No Virtual PCD 00 08
9 No Virtual PCD 00 09
10 No Broadcom Corp 5880 [Contacted SmartCard] (0123456789ABCD) 00 00

Все верно и в первом ридере статус карты сменился с “No” на “Yes”. Теперь попробуем поработать с картой через opensc-explorer.

Запрос информации о корневом файле

OpenSC [3F00]> info 3F00
Dedicated File ID 3F00
File path: 3F00
File size: 65535 bytes
ACL for SELECT: N/A
ACL for LOCK: N/A
ACL for DELETE: NONE
ACL for CREATE: NONE
ACL for REHABILITATE: NONE
ACL for INVALIDATE: NONE
ACL for LIST FILES: NONE
ACL for CRYPTO: N/A
ACL for DELETE SELF: N/A

Генерация 8 случайных чисел в смарткарте

OpenSC [3F00]> random 8
00000000: F9 B3 C9 9D 8F D6 DC 81 ........

Создаем на смарткарте файл 8888/1F00 и загружаем его обратно на диск

$ dd if=/dev/urandom of=test.bin bs=1024 count=1
1 0 записей считано
1 0 записей написано скопировано 1024 байта (1,0 kB), 0,000283354 c, 3,6 MB/c
$ opensc-explorer
OpenSC [3F00]> mkdir 8888 256
OpenSC [3F00]> cd 8888
OpenSC [3F00/8888]> create 1F00 1024
OpenSC [3F00/8888]> put 1F00 test.bin
Total of 1024 bytes written.
OpenSC [3F00/8888]> info 1F00
Elementary File ID 1F00
File path: 3F00/8888/1F00
File size: 1024 bytes
EF structure: Transparent
ACL for READ: N/A
ACL for UPDATE: N/A
ACL for DELETE: N/A
ACL for WRITE: N/A
ACL for REHABILITATE: N/A
ACL for INVALIDATE: N/A
ACL for LIST FILES: N/A
ACL for CRYPTO: N/A
OpenSC [3F00/8888]> get 1F00 check.bin
Total of 1024 bytes read from 1F00 and saved to check.bin.
OpenSC [3F00/8888]> rm 1F00
OpenSC [3F00/8888]> cd ..
OpenSC [3F00]> rm 8888

Проверим, что содержимое файлов test.bin и check.bin совпадает

$ md5sum test.bin check.bin
804420d7560e82065b74eff561cfb2c8 test.bin
804420d7560e82065b74eff561cfb2c8 check.bin

Несмотря на работу базовых функций инициализировать карту в формат PKCS15

не удастся

.

Если нужна низкоуровневая работа с картой, то можно попробовать инструмент Java Smart Card Explorer.

$ wget --trust-server-names http://sourceforge.net/projects/jsmartcard/files/latest/download
$ java -jar JSmartCardExplorer.jar

Читайте также:  Как получить эцп по доверенности
Оцените статью
ЭЦП Эксперт