智能卡应用协议数据单元
在智能卡领域, 应用协议数据单元 (APDU) 是主机端和智能卡之间的通信单元。APDU的结构由ISO/IEC 7816-4 定义。 Organization, security and commands for interchange .[1]
APDU命令-响应消息对
有两种类别的APDU:命令APDU和响应APDU。命令APDU由读卡器发送到智能卡-它包含了一个必选的4字节的头部(CLA,INS,P1,P2)和0到255字节的数据。响应APDU由智能卡发送到读卡器-它包含了必选的2字节的状态字和0到256字节的数据。
命令APDU | ||
---|---|---|
字段名 | 长度(字节) | 说明 |
CLA | 1 | 指令类型 - 指示命令的类型,例如行业间命令或者专有命令 |
INS | 1 | 指令代码 - 表示特定的命令,如“写数据” |
P1-P2 | 2 | 该命令APDU的指令参数,如指明文件偏移地址以在偏移地址处写入数据 |
Lc | 0, 1 或 3 | 指明命令APDU中携带的数据(Command data)字节数(Nc) |
Command data | Nc | Nc字节的数据 |
Le | 0,1,2或3个 | 指明预期响应数据的最大字节数(Ne) |
响应APDU | ||
Response data | Nr(最大为Ne) | 响应数据 |
SW1-SW2 (响应后缀) |
2 | 命令处理状态,如90 00(十六进制)表示成功 |
参考文献:
- ^ ISO/IEC 7816-4:2005 Identification cards — Integrated circuit cards — Part 4: Organization, security and commands for interchange. Iso.org. 2008-10-03 [2012-01-27]. (原始内容存档于2012-01-12).