JavaCard——APDU的结构分析

来源:互联网 发布:js 文本框提示 编辑:程序博客网 时间:2024/05/24 06:00

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,此为返回状态吗,一个字节用来说明错误类型,另一个字节 用来说明具体的命令状态或错误标识。

0 0
原创粉丝点击