...
Для установки OpenSC следует ввести команду:$
Command |
---|
sudo apt install opensc |
Opensc-tool
Идентификация
Для идентификация токена/смарт-карты и его серийного номера, следует ввести команду:
$ opensc-tool --name --atr --serial
Command | |||||||||
---|---|---|---|---|---|---|---|---|---|
Блок кода | |||||||||
|
|
|
|
| |||||
Using reader with a card: Aktiv Co. Rutoken S 00 00
S card |
Содержимое токена/смарт карты
Для того чтобы рекурсивно отобразить список файлов в токене/смарткарте, следует ввести команду:
...
Command |
---|
opensc-tool |
...
--list-files |
Пример вывода команды:
Блок кода |
---|
$ opensc-tool --list-files Using Using reader with a card: Aktiv Co. Rutoken S 00 00 3f00 type: DF, size: 0 select[NONE] lock[N/A] delete[NEVR] create[CHV2] rehab[N/A] inval[N/A] list[NONE] sec: 6F:01:01:01:01:00:FF:FF:02:00:00:00:02:00:00:00:02:00:00:00:02:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 3f000000 type: DF, size: 0 select[NONE] lock[N/A] delete[NEVR] create[CHV2] rehab[N/A] inval[N/A] list[NONE] sec: 6F:01:01:01:01:00:FF:FF:02:00:00:00:02:00:00:00:02:00:00:00:02:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 ... 3f000000000000020a000a06 type: wEF, ef structure: transparent, size: 300 read[N/A] update[CHV2] erase[CHV2] write[CHV2] rehab[N/A] inval[N/A] sec: 42:00:01:00:00:00:00:01:00:00:00:00:02:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:02:00:00:00:00:00:00:00 00000000: 30 14 16 08 54 65 73 74 43 6F 6E 74 80 08 54 65 0...TestCont..Te 00000010: 73 74 43 6F 6E 74 00 00 00 00 00 00 00 00 00 00 stCont.......... 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 3f000000000000020a000a03 type: wEF, ef structure: transparent, size: 3072 read[N/A] update[CHV2] erase[CHV2] write[CHV2] rehab[N/A] inval[N/A] sec: 42:00:01:00:00:00:00:01:00:00:00:00:02:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:02:00:00:00:00:00:00:00 00000000: 30 82 04 4B 30 82 04 41 A0 0A 06 08 2A 85 03 02 0..K0..A....*... 00000010: 02 25 02 01 03 02 06 40 30 24 03 01 00 A0 1F 06 .%.....@0$...... 00000020: 08 2A 85 03 07 01 01 01 01 30 13 06 07 2A 85 03 .*.......0...*.. 00000030: 02 02 23 01 06 08 2A 85 03 07 01 01 02 02 82 04 ..#...*......... 00000040: 00 00 00 00 A4 25 03 02 05 20 A0 1F 06 08 2A 85 .....%... ....*. 00000050: 03 07 01 01 06 01 30 13 06 07 2A 85 03 02 02 24 ......0...*....$ 00000060: 00 06 08 2A 85 03 07 01 01 02 02 86 82 03 82 30 ...*...........0 00000070: 82 03 7E 30 82 03 2D A0 03 02 01 02 02 13 12 00 ..~0..-......... 00000080: 2E 5F 42 04 FC 38 83 8E 34 42 9D 00 00 00 2E 5F ._B..8..4B....._ 00000090: 42 30 08 06 06 2A 85 03 02 02 03 30 7F 31 23 30 B0...*.....0.1#0 000000A0: 21 06 09 2A 86 48 86 F7 0D 01 09 01 16 14 73 75 !..*.H........su 000000B0: 70 70 6F 72 74 40 63 72 79 70 74 6F 70 72 6F 2E pport@astralinux 000000C0: 72 75 31 0B 30 09 06 03 55 04 06 13 02 52 55 31 .ru.0...U....RU1 000000D0: 0F 30 0D 06 03 55 04 07 13 06 4D 6F 73 63 6F 77 .0...U....Moscow 000000E0: 31 17 30 15 06 03 55 04 0A 13 0E 43 52 59 50 54 1.0...U....ASTRA 000000F0: 4F 2D 50 52 4F 20 4C 4C 43 31 21 30 1F 06 03 55 - RBT LLC1!0...U 00000100: 04 03 13 18 43 52 59 50 54 4F 2D 50 52 4F 20 54 ....Astra-RBT0 T 00000110: 65 73 74 20 43 65 6E 74 65 72 20 32 30 1E 17 0D est Center 20... 00000120: 31 38 31 30 31 39 30 37 35 30 34 39 5A 17 0D 31 181019075049Z..1 00000130: 39 30 31 31 39 30 38 30 30 34 39 5A 30 81 8C 31 90119080049Z0..1 00000140: 21 30 1F 06 09 2A 86 48 86 F7 0D 01 09 01 16 12 !0...*.H........ 00000150: 75 73 65 72 40 61 73 74 72 61 6C 69 6E 75 78 2E user@astralinux. 3f000000000000020a000a02 type: wEF, ef structure: transparent, size: 70 read[CHV2] update[CHV2] erase[CHV2] write[CHV2] rehab[N/A] inval[N/A] sec: 43:01:01:00:00:00:00:01:02:00:00:00:02:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:02:00:00:00:00:00:00:00 3f000000000000020a000a01 type: wEF, ef structure: transparent, size: 60 read[CHV2] update[CHV2] erase[CHV2] write[CHV2] rehab[N/A] inval[N/A] sec: 43:01:01:00:00:00:00:01:02:00:00:00:02:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:02:00:00:00:00:00:00:00 3f000000000000020a000a05 type: wEF, ef structure: transparent, size: 70 read[CHV2] update[CHV2] erase[CHV2] write[CHV2] rehabre$ opensc-tool --list-fileshab[N/A] inval[N/A] sec: 43:01:01:00:00:00:00:01:02:00:00:00:02:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:02:00:00:00:00:00:00:00 3f000000000000020a000a04 type: wEF, ef structure: transparent, size: 60 read[CHV2] update[CHV2] erase[CHV2] write[CHV2] rehab[N/A] inval[N/A] sec: 43:01:01:00:00:00:00:01:02:00:00:00:02:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:02:00:00:00:00:00:00:00 |
Opensc-explorer
Для старта программы, следует запустить команду $openscзапуска программы opensc-explorer выплнить команду:
Command |
---|
opensc-explorer |
Запрос информации о корневом файле
...
Блок кода |
---|
info 3F00 Dedicated File ID 3F00 File path: 3F00 3F00$ opensc-tool --list-files File size: 0 bytes ACL for SELECT: NONE ACL for LOCK: N/A ACL for DELETE: NEVR ACL for CREATE: CHV2 ACL for REHABILITATE: N/A ACL for INVALIDATE: N/A ACL for LIST FILES: NONE ACL for CRYPTO: N/A ACL for DELETE SELF: N/A Security attributes: 47 02 02 01 00 00 00 FF 00 00 00 00 00 00 00 |
Информация |
---|
|
Создание файла на смарткарте/копирование/удаление.
...
Создаем
...
на
...
смарткарте
...
файл
...
8888/1F00
...
и
...
загружаем
...
его
...
обратно
...
на диск:
Создаем файл test.bin со случайным содержимым:
Command | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| диск
$ dd
|
|
|
| ||||||
1+0 записей считано
записей написано
1024 байта (1,0 kB), 0,000283354 c, 3,6 MB/c $ |
Загружаем файл на смарткарту и выгружаем его копию:
Command | ||
---|---|---|
| ||
OpenSC [3F00]> mkdir 8888 256
[3F00]> cd 8888
[3F00/8888]> create 1F00 1024
[3F00/8888]> put 1F00 test.bin
of 1024 bytes written.
[3F00/8888]> info 1F00
File ID 1F00
path: 3F00/8888/1F00
size: 1024 bytes
structure: Transparent
for READ: N/A
for UPDATE: N/A
for DELETE: NN/A
for WRITE: N/A
for REHABILITATE: N/A
for INVALIDATE: N/A
for LIST FILES: N/A
for CRYPTO: N/A
[3F00/8888]> get 1F00 check.bin
of 1024 bytes read from 1F00 and saved to check.bin.
[3F00/8888]> rm 1F00
[3F00/8888]> cd ..
[3F00]> rm 8888 Проверим, что содержимое файлов8888 |
Проверить, что содержимое файлов test.bin
...
и
...
check.bin совпадает можно командой:
Command |
---|
md5sum совпадает $ md5sumtest.bin check.bin 804420d7560e82065b74eff561cfb2c8 test.bin 804420d7560e82065b74eff561cfb2c8 check.bin |
при одинаковом содержимом файлов полученные контрольные суммы должны совпасть.