JavaCard——APDU的结构分析

本文深入解析了APDU(Application Protocol Data Unit)在IC智能卡通讯协议中的应用,详细介绍了APDU的结构及其四种常见形式,同时阐述了响应APDU的组成部分与功能,帮助读者掌握智能卡通讯的基础知识。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值