存储卡要求

本部分介绍非 ISO14443-4 兼容卡的常规 APDU 命令集要求, (称为存储卡) 。

General-Authenticate 命令

General-Authenticate 命令用于对 MIFARE 卡执行身份验证序列。 此命令仅适用于 MIFARE Mini、经典 1k 和 4k 卡。

General-Authenticate 命令格式

命令 Ins P1 P2 立法会 数据输入
General-Authenticate 0xFF 0x86 0x00 0x00 0x01 地址 MSB、地址 LSB、密钥类型 A 或 B、密钥编号

General-Authenticate 响应格式

响应
SW1、SW2

Get-Data 命令

Get-Data 命令用于从非接触式 NFC 标记/卡检索信息。

Get-Data 命令格式

命令 Ins P1 P2 L2
Get-Data 0xFF 0xCA 0x00:卡 (ISO14443 A 的序列号:UID、ISO14443-B:PUPI、Felica: IDm、Jewel: RID)

0x01:卡 (类型 A 的历史字节:ATR 中的历史字节,类型 B: ATTRIB 响应)
0x00 0x00

Get-Data 响应格式

响应
数据输出、SW1、SW2

Load-Key 命令

Load-Key 命令用于在驱动程序中存储 MIFARE 密钥。 此命令仅适用于 MIFARE Mini、经典 1k 和 4k 卡。

Load-Key 命令格式

命令 Ins P1 P2 立法会 数据输入
Load-Key 0xFF 0x82 键结构 密钥编号 0x6 键值

Load-Key 响应格式

响应
SW1、SW2

“管理会话”命令

此命令的实现应根据 PCSC 规范。

管理会话命令格式

命令 Ins P1 P2 立法会 数据输入
常规身份验证 0xFF 0xC2 0x00 0x00 变量 TLV 数据对象

以下是驱动程序需要支持的 TLV 数据对象:

标记 数据对象
0x80 版本数据对象
0x81 启动透明会话
0x82 结束透明会话

Read-Binary 命令

Read-Binary 命令用于从非接触式 NFC 标记/卡读取数据。 命令仅适用于 MIFARE Classic/UL、Felica、ISO15693 和 Jewel/Topaz 卡 (存储卡) 。

Read-Binary 命令格式

命令 Ins P1 P2 立法会 数据输入 Li
Read-Binary 0xFF 0xB0 地址 MSB 地址 LSB 传入数据长度 数据 所需长度

Read-Binary MIFARE 系列

命令 Cla Ins P1 P2
UL READ 16 0xFF 0xB0 0x00 0x00 0x15 0x10
CL 1k 读取 16 0xFF 0xB0 0x00 0x00 0x3F 0x10
CL 4k 读取 16 0xFF 0xB0 0x00 0x00 0xFF 0x10

Read-Binary 珠宝系列

命令 Cla Ins P1 P2
全部读取 0xFF 0xB0 0x00 0x00 0x00
RID 0xFF 0xB0 0x00 0x00 0x06
READ 0xFF 0xB0 阻止否 块偏移量 0x01
READ 8 0xFF 0xB0 阻止否 0x00 0x08
读取 SEG 0xFF 0xB0 0x00 段添加器 0x80

Read-Binary 费利卡家族

命令 Cla Ins P1 P2 立法会 数据输入
CHECK 0xFF 0xB0 0x00 0x00 传入数据长度 服务数、块数、阻止列表

ISO 15693 系列

命令 Cla Ins P1 P2
READ 0xFF 0xB0 块编号 0x00 0x04

ISO 15693 系列响应

响应
数据输出、SW1、SW2

透明交换命令

透明交换命令格式

命令 Ins P1 P2 立法会 数据输入
常规身份验证 0xFF 0xC2 0x00 0x01 变量 TLV 数据对象

下面是透明 Exchange 命令的必需 TLV 数据对象,这些对象由驱动程序支持,以便将命令透明交换到存储卡:

标记 数据对象
0x95 Transceive - 传输和接收
0x5F46 Timer

Update-Binary 命令

Update-Binary 命令用于将数据写入非接触 NFC 标记/卡。 命令仅适用于 MIFARE Classic/UL、Felica、ISO15693 和 Jewel/Topaz 卡) (存储卡。 命令的请求和响应的格式如下所述。

Update-Binary 命令格式

命令 Ins P1 P2 立法会 数据输入
Update-Binary 0xFF 0xD6 地址 MSB 地址 LSB 传入数据长度 数据

Update-Binary MIFARE 系列

命令 Cla Ins P1 P2
UL WRITE 4 0xFF 0xD6 0x00 0x00 0x15 0x04
CL 1k 写入 16 0xFF 0xD6 0x00 0x00 0x3F 0x10
CL 4k 写入 16 0xFF 0xB0 0x00 0x00 0xFF 0x10

Update-Binary 珠宝系列

命令 Cla Ins P1 P2
WRITE1-E 0xFF 0xD6 块编号 块偏移量 0x01
WRITE8-E 0xFF 0xD6 块编号 0x00 0x08

Update-Binary 费利卡家族

命令 Cla Ins P1 P2 数据输入
UPDATE 0xFF 0xD6 0x00 0x00 传入数据长度 服务数、块数、阻止列表

响应格式

命令 Cla Ins P1 P2
WRITE 0xFF 0xD6 块编号 0x00 0x04