APDU命令MAC计算

linxuan362 2012-02-07 10:02:33
用银联的手机支付SD卡,类似于CPU卡。发送APDU命令来计算MAC。


CLA INS P1 P2 Lc DATA
‘80’ ‘FA’ 见下表 ‘00’ N*8 数据
P1字节定义:
B8 B7 B6 B5 B4 B3 B2 B1 含义
X x x x x - - - RFU
- - - - - - - x 计算模式
0 加密/解密
1 MAC计算
- - - - - - x - 后续块
0 无后续块
1 有后续块
- - - - - x - - 初始值(仅对MAC计算有效)
0 无初始值
1 有初始值


80 FA 01 00 08 11 22 33 44 55 66 77 88
比如这条命令,计算1122334455667788的MAC,08为指定的长度。

但是现在有一个问题,我需要的计算的数据超过255了,要如何才能计算这条数据的MAC。
是需要分次发送?该怎么写?
...全文
309 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
linxuan362 2012-02-08
  • 打赏
  • 举报
回复
这是一条写入的命令。要写入超过255的数据,然后在芯片内计算出MAC,读取到返回的MAC。其中LC标识写入的长度。如何写入超过255的数据来计算?
woshi_ziyu 2012-02-07
  • 打赏
  • 举报
回复
如果P1的最高位b8为1时,b6和b7位必须为0,b5-b1位表示待读取的基本文件的SFI;这时P2表示要读取数据起始位置在文件中的偏移量。
如果P1的最高位为0时,P1的后7位和P2相连共同组成了一个超过256的整数,表示待读取数据块的起始位置在文件中的偏移量,可以用于超过256Byte文件的读取。

APDU命令

2,425

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 其他硬件开发
社区管理员
  • 其他硬件开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧