您的位置:首页 > 编程语言 > Java开发

JavaCard——APDU的结构分析

2015-07-24 15:25 274 查看
APDU的全称为Application Protocol Data Unit,应用协议数据单元,用于IC智能卡的通讯协议。



命令APDU如上图所示,包含头和主体两个部分。头部包括CLA、INS、P1、P2。CLA和INS说明了应用的分类和指令,P1、P2作为指令的具体描述。APDU的主体长度是可变的,它可以作为命令的一部分从读卡器传送数据到卡片内,Lc说明了作为数据传送到卡片上的数据的长度,Data
Field是作为数据域。Le是期望卡片返回的指令的长度。

APDU的可以有以下结构:

1. CLA-INS-P1-P2 没有数据要发送至卡片,没有数据从卡片上返回。

2. CLA-INS-P1-P2-Le 没有数据要发送至卡片,有数据从卡片上返回。

3. CLA-INS-P1-P2-Lc-Data Field 有数据要发送至卡片,没有数据从卡片上返回。

4. CLA-INS-P1-P2-Lc-Data
Field-Le 有数据要发送至卡片,有数据从卡片上返回。



响应APDU如上图所示,包含主体和尾部两个部分。主体为Data
Field,主体可以为空,也可以包含数据域,数据域的长度由命令APDU的Le决定。尾部包括两个部分SW1、SW2,此为返回状态吗,一个字节用来说明错误类型,另一个字节 用来说明具体的命令状态或错误标识。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javaCard APDU结构