欢迎来到天天文库
浏览记录
ID:16384486
大小:25.50 KB
页数:3页
时间:2018-08-09
《cpu卡操作二进制文件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、标签:ZZ操作卡片文件命令--读二进制(READBINARY)1、命令功能描述读二进制命令用于读取二进制文件的全部或者部分内容。每次读取内容在256Byte以内,如果需要读取超过256Byte的内容的话,需要通过多次操作完成。对二进制文件读取操作前需要满足二进制文件描述块中关于读操作的安全控制的要求。2、命令报文格式命令的APDU内容如下所示:[b]代码值[/b]CLA0x00INS0xB0P1应用控制参数P2应用控制参数Lc不存在Data不存在Le0x00或者要读取数据的长度其中:*如果P1的最高位b8为1时,b6和b7位
2、必须为0,b5-b1位表示待读取的EF文件的SFI;这时P2表示要读取数据起始位置在文件中的偏移量。*如果P1的最高位为0时,P1的后7位和P2相连共同组成了一个超过256的整数,表示待读取数据块的起始位置在文件中的偏移量,可以用于超过256Byte文件的读取。*Le为00时,表示读取最大长度,此时最多读取256Byte。3、响应报文数据响应报文数据为读取的数据,最大长度为256Byte。4、响应报文状态码此命令执行成功的状态码为0x9000。对于异常情况,IC卡可能回送的错误码如下所示:[b]SW1SW2含义[/b]0x6
3、20x81回送的数据中部分内容可能出错0x620x82读取的数据长度小于Le0x670x00Lc域为空0x690x81命令和文件格式不相容0x690x82不满足安全状态0x690x86不满足命令执行条件(当前EF错误)0x6A0x81不支持此功能0x6A0x82文件没有找到0x6A0x86P1、P2不正确0x6B0x00偏移地址错误0x6D0x00INS错误0x6E0x00CLA错误0x930x03应用永久锁定5、命令实现的其他要求如果卡片不支持大文件的读写操作,可以不实现超过256Byte数据操作。6、命令实现说明如果支持
4、大文件读写操作的话,对文件的读操作将通过一个命令链来完成,命令链的第一条命令中将给出文件的SFI,并且只能对小于256Byte的区域进行读操作,后续命令可以操作超过256Byte部分,不需要继续给出文件的SFI。为了实现这样的功能,在读操作第一条命令成功执行以后,卡片需要记下操作的文件的SFI,也就是维护一个当前EF的标志。对当前EF标志最关键的地方在于不继续对该EF操作时,必须将标志清除掉。7、命令使用示例(1)预设环境假设有二进制文件,SFI为0x05,总长度为0x400。(2)命令报文读取文件前256Byte的APDU
5、:00B0050000其中:*00表示READBINARY命令的CLA。*B0表示READBINARY命令的INS。*05表示READBINARY命令的P1,为要读取文件的SFI。*00表示READBINARY命令的P2。*00表示READBINARY命令的Le,即读取的数据长度为最大长度256Byte。读取文件从0x150开始的0x30Byte的APDU:00B0815030其中:*00表示READBINARY命令的CLA。*B0表示READBINARY命令的INS。*81表示READBINARY命令的P1,高位1表示P1
6、P2组成偏移量。*00表示READBINARY命令的P2,P1、P2组成偏移量0x150。*00表示READBINARY命令的Le,即读取的数据长度为0x30Byte。(3)READBINARY响应报文卡片处理以后,READBINARY的响应报文可以根据应用的具体情况决定。
此文档下载收益归作者所有