首页 理论教育 应用层协议:C-APDU与R-APDU的结构及类型

应用层协议:C-APDU与R-APDU的结构及类型

时间:2023-06-29 理论教育 版权反馈
【摘要】:应用层协议定义了C-APDU和R-APDU的具体结构。每个命令都有一个特定的响应相匹配,一个APDU就是一个命令报文或响应报文。表2-11 APDU的类型1.C-APDUC-APDU由四字节命令头CLA、INS、P1、P2和一个可变长度的条件体组成,其中4B命令头是必需的,条件体随命令的不同而变化。C-APDU的结构如图2-14所示。Le的取值范围是0~255。表2-12 C-APDU类型2.R-APDUR-APDU由一个最大长度为Le的数据域和一个强制性尾码组成,强制性尾码为2B状态代码,状态代码给出了IC卡对当前命令的处理结果,如图2-15所示。

应用层协议:C-APDU与R-APDU的结构及类型

应用层协议定义了C-APDU和R-APDU的具体结构。传输应用层(Trans-mission Application Layer,TAL)之间的数据交换都是由一个命令-响应对完成的,传输应用层(TAL)通过终端传输层(TTL)给IC卡发送命令C-APDU,IC卡处理完后将处理结果组成R-APDU通过TTL送给TAL。每个命令都有一个特定的响应相匹配,一个APDU就是一个命令报文或响应报文。

根据C-APDU和R-APDU是否包含数据域,APDU有四种情况,见表2-11。

表2-11 APDU的类型

978-7-111-39929-2-Chapter02-24.jpg

1.C-APDU

C-APDU由四字节命令头CLA、INS、P1、P2和一个可变长度的条件体组成,其中4B命令头是必需的,条件体随命令的不同而变化。C-APDU的结构如图2-14所示。

978-7-111-39929-2-Chapter02-25.jpg

图2-14 C-APDU结构

1)CLA:命令类型,占1B,不能为0xFF。

2)INS:指令码,当最低位是“0”,低半字节为0且高半字节既不是“6”也不是“9”时,INS才有效。

3)P1、P2:INS的附加参数,分别占1B。(www.xing528.com)

4)Lc:发送数据长度,占1B,在命令中定义为发送数据的字节数,取值范围是1~255。

5)Data:为将要发送的命令数据域,字节数由Lc定义。

6)Le:接收数据长度,占1B,指出命令响应中预期的数据最大字节数。Le的取值范围是0~255。如果Le=0,预期数据字节的最大长度是256。

根据不同的命令,条件体的组成也不相同,C-APDU有四种情况,见表2-12。

表2-12 C-APDU类型

978-7-111-39929-2-Chapter02-26.jpg

2.R-APDU

R-APDU由一个最大长度为Le的数据域和一个强制性尾码组成,强制性尾码为2B状态代码,状态代码给出了IC卡对当前命令的处理结果,如图2-15所示。

978-7-111-39929-2-Chapter02-27.jpg

图2-15 R-APDU结构

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈