В этом разделе описываются общие требования к набору команд APDU для карт, не совместимых с ISO14443-4 (которые называются картами памяти).
команда General-Authenticate
Команда General-Authenticate используется для выполнения последовательности проверки подлинности на карта MIFARE. Эта команда применима только к картам MIFARE Mini, Classic 1k и 4K.
формат команды General-Authenticate
Get-Help
Класс
INS
P1
P2
Lc
Входящие данные:
General-Authenticate
0xFF
0x86
0x00
0x00
0x01
Адрес MSB, адрес LSB, тип ключа A или B, номер ключа
формат ответа General-Authenticate
Ответ
SW1, SW2
команда Get-Data
Команда Get-Data используется для получения сведений из бесконтактного nfc-тега или карта.
0x01: исторические байты карта (тип A: исторические байты atr, тип B: ответ ATTRIB)
0x00
0x00
формат ответа Get-Data
Ответ
Выход данных, SW1, SW2
команда Load-Key
Команда Load-Key используется для хранения ключей MIFARE в драйвере. Эта команда применима только к картам MIFARE Mini, Classic 1k и 4K.
формат команды Load-Key
Get-Help
Класс
INS
P1
P2
Lc
Входящие данные:
Load-Key
0xFF
0x82
Структура ключа
Номер ключа
0x6
Значение ключа
формат ответа Load-Key
Ответ
SW1, SW2
Команда "Управление сеансом"
Реализация этой команды должна выполняться в спецификации PCSC.
Управление форматом команд сеанса
Get-Help
Класс
INS
P1
P2
Lc
Входящие данные:
Общая проверка подлинности
0xFF
0xC2
0x00
0x00
Переменная
Объект данных TLV
Ниже перечислены обязательные объекты данных TLV, которые должны поддерживаться драйвером:
Тег
Объект данных
0x80
Объект данных version
0x81
Запуск прозрачного сеанса
0x82
Завершение прозрачного сеанса
команда Read-Binary
Команда Read-Binary используется для чтения данных из бесконтактного NFC-тега или карта. Команда применима только для карт памяти (MIFARE Classic/UL, Felica, ISO15693 и Jewel/Topaz).
формат команды Read-Binary
Get-Help
Класс
INS
P1
P2
Lc
Входящие данные:
Ли (Li)
Read-Binary
0xFF
0xB0
Адрес MSB
Адрес LSB
Длина данных в
Данные
Ожидаемая длина
семья Read-Binary MIFARE
Get-Help
ЦРУ
INS
P1
P2
Le
UL READ 16
0xFF
0xB0
0x00
0x00 0x15
0x10
CL 1k READ 16
0xFF
0xB0
0x00
0x00 0x3F
0x10
CL 4k READ 16
0xFF
0xB0
0x00
0x00 0xFF
0x10
семья Read-Binary Jewel
Get-Help
ЦРУ
INS
P1
P2
Le
ПРОЧИТАТЬ ВСЕ
0xFF
0xB0
0x00
0x00
0x00
RID
0xFF
0xB0
0x00
0x00
0x06
READ
0xFF
0xB0
Блокировать нет
Смещение блока
0x01
ЧТЕНИЕ 8
0xFF
0xB0
Блокировать нет
0x00
0x08
READ SEG
0xFF
0xB0
0x00
Надстройка сегментов
0x80
семья Read-Binary Фелица
Get-Help
ЦРУ
INS
P1
P2
Lc
Входящие данные:
CHECK
0xFF
0xB0
0x00
0x00
Длина данных в
Количество служб, количество блоков, список блоков
Семейство ISO 15693
Get-Help
ЦРУ
INS
P1
P2
Le
READ
0xFF
0xB0
Номер блока
0x00
0x04
Ответ семейства ISO 15693
Ответ
Выход данных, SW1, SW2
Команда прозрачного обмена
Формат команд прозрачного обмена
Get-Help
Класс
INS
P1
P2
Lc
Входящие данные:
Общая проверка подлинности
0xFF
0xC2
0x00
0x01
Переменная
Объект данных TLV
Ниже приведены обязательные объекты данных TLV для прозрачной команды Exchange, которые должны поддерживаться драйвером для прозрачного обмена командами на карты хранения.
Тег
Объект данных
0x95
Приемопередатка — передача и прием
0x5F46
Таймер
команда Update-Binary
Команда Update-Binary используется для записи данных в бесконтактный nfc-тег или карта. Команда применима только для карт памяти (MIFARE Classic/UL, Felica, ISO15693 и Jewel/Topaz). Формат запроса и ответа для команды, как описано ниже.
формат команды Update-Binary
Get-Help
Класс
INS
P1
P2
Lc
Входящие данные:
Update-Binary
0xFF
0xD6
Адрес MSB
Адрес LSB
Длина данных в
Данные
семья Update-Binary MIFARE
Get-Help
ЦРУ
INS
P1
P2
Le
ЗАПИСЬ UL 4
0xFF
0xD6
0x00
0x00 0x15
0x04
CL 1k WRITE 16
0xFF
0xD6
0x00
0x00 0x3F
0x10
CL 4K WRITE 16
0xFF
0xB0
0x00
0x00 0xFF
0x10
семья Update-Binary Jewel
Get-Help
ЦРУ
INS
P1
P2
Le
WRITE1-E
0xFF
0xD6
Номер блока
Смещение блока
0x01
WRITE8-E
0xFF
0xD6
Номер блока
0x00
0x08
семья Update-Binary Фелица
Get-Help
ЦРУ
INS
P1
P2
Le
Входящие данные:
UPDATE
0xFF
0xD6
0x00
0x00
Длина данных в
Количество служб, количество блоков, список блоков