DESFire的7816-4 APDU封装及查看卡片版本信息

在成功进入ISO 14443-4后,DESFire卡片收到的第一个APDU类型,决定了卡片后续使用的APDU类型。如果收到的是符合7816-4的APDU,则卡片后续的命令都使用7816-4。

DESFire卡支持7816-4规定的如下INS:

A4(SELECT)

D0(Read Binary)

D6(Update Binary)

还支持经过封装的原生DESFire APDU。

CLAINSP1P2LcDataLe
90DESFire命令0000Data的长度DESFire命令的参数00 

Le设置为00,表示PCD接受PICC任意长度的应答。

其它被设置为00的字段,PICC将直接忽略。

DESFire对应答的封装如下:

DataSW1SW2备注
DESFire应答数据91xxSW2即为原生DESFire的状态字

现以GetVersion命令为例,显示7816-4:

PCD发送命令

CLAINSP1P2Le
9060000000

PICC应答(第一帧,硬件信息)

字节1字节2字节3字节4字节5字节6字节7SW1 SW2
供应商ID,04代表飞利浦/NXP

类型

01

子类型

01

主版本号次版本号存储空间通信协议(05表示ISO 14443-2和-3)91 AF

PCD发送命令

CLAINSP1P2Le
90AF000000

PICC应答(第二帧,软件信息)

字节1字节2字节3字节4字节5字节6字节7SW1 SW2
供应商ID,04代表飞利浦/NXP

类型

01

子类型

01

主版本号次版本号存储空间**通信协议(05表示ISO 14443-3和-4)91 AF

**存储空间字节,使用高7位(n)表示卡片容量的基数为2^n字节。最低位为0时,表示卡片的容量正好为2^n字节;最低位为1时,表示卡片的容量介于2^n字节和2^(n+1)字节之间。4K的DESFire卡容量基数为12(十六进制C或二进制1100,因为2^12=4096),最低位为0,字节表达为0x18(0001100 0)。8K的DESFire卡容量基数为13(十六进制D或二进制1101),最低位为0,字节表达为0x1A(0001101 0)。

PCD发送命令

CLAINSP1P2Le
90AF000000

PICC应答(第三帧)

字节1-7字节8-12字节13字节14SW1 SW2
唯一序列号(UID)产品批号制造周制造年91 00

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值