用户卡认证命令流
1、获取随机数:0084000004 2、进入1001目录:00A40000021001 3、读15文件:00B095002B 4、计算mac:00880201 + 10(1字节数据长度) + 16字节摘要码
操作IC卡片(读15文件,卡基本信息)
1、选1001:00A4 000002 1001 2、读15文件:00B095002B
操作IC卡片(写15文件,卡基本信息)
1、选3F00:00A40000023F00 2、选1001目录:00A40000021001 3、取随机数:0084000004(04代表去4字节随机数) 4、写15文件:"04D69500"+len+data+Mac2 04D6:写文件命令头 95:文件短文件标识符 00:起始地址 len:后面数据长度(data+mac的长度) data:写入数据内容 Mac2: 注:Mac2的计算:调用getMAC2()方法计算 --- Mac的计算和数据的加密的方法都在DesMac
操作IC卡片(读16文件,持卡人信息)
1、选3F00:00A40000023F00 2、读16文件:00B0960037
操作IC卡片(写16文件,持卡人信息)
1、选3F00:00A40000023F00 2、取随机数:0084000004(04代表去4字节随机数) 3、写16文件:"04D69600"+len+data+Mac 04D6:写文件命令头 96:文件短文件标识符 00:起始地址 len:后面数据长度(data+mac的长度) data:写入数据内容 Mac:4字节 注:Mac2的计算:调用getMAC2()方法计算。
操作IC卡片(圈存)
1、选1001:00A40000021001 2、读15文件:00B095002B 3、验PIN码:00200000+PIN码的len+PIN码 (例如:0020000003888888、0020000006313233343536) 4、圈存初始化(获取MAC1):805000+交易类型("01"或"02")+0B(后面数据长度)+秘钥索引(1字节) +交易金额(4字节)+终端机编号(6字节) 交易类型:ED:电子存折(01) EP:电子钱包(02) 圈存初始化响应报文如表30 5、计算MAC2(4字节):调用CalCreditForLoadCheckMac1AndMac2()方法计算MAC2 6、圈存写卡:805200000B+交易日期(4字节)+交易时间(3字节)+MAC2(4字节)
操作IC卡片(消费)
1、选1001:00A40000021001 2、读15文件: 00B095002B 3、读19文件:00B201CC2B 4、消费初始化:805001+交易类型("01"或"02")+0B(后面数据长度)+秘钥索引(1字节) +交易金额(4字节)+终端机编号(6字节) 交易类型:ED:电子存折(01) EP:电子钱包(02) 消费初始化响应报文如表34 5、计算MAC2(4字节):调用CalConsumptionForLoadCheckMac1AndMac2()方法计算MAC1 6、消费写卡:805401000F+终端交易序号(4字节)+交易日期(4字节)+交易时间(3字节)+MAC1(4字节)
操作IC卡片(读18文件,终端交易记录文件)
1、选1001:00A40000021001 2、验PIN:00200000+PIN码的len+PIN码 (例如 0020000003888888) 3、读18文件的第一条:00B201C417
操作IC卡片读(19文件,复合消费文件)
1、选1001:00A40000021001 2、读19文件的第一条:00B201CC2B
操作IC卡片(读余额)
1、选1001:00A40000021001 2、读余额:805C000204
操作OBU(读系统该信息)
1、选3F00:00A40000023F00 2、读EF01文件:00B081001B --- 返回27字节系统信息
操作OBU(写OBU的系统信息)
1、选3F00:00A40000023F00 2、读 EF01文件:00B081001B --- 返回27字节系统信息 3、取随机数:0084000004(04代表去4字节随机数) 4、写OBU的系统信息文件:04D681120D+9字节系统信息+4字节Mac eg:04D681120D + 202101212031012101 + 33DCB68D 04D6:写文件命令头 81:文件短文件标识符 12:偏移量(10进制的18) 0D:后面数据长度 注:4字节MAC的计算:调用getMAC2()方法计算,或者使用psam发送指令计算
操作OBU(读OBU车辆信息)
1、选3F00:00A40000023F00 2、读EF01文件:00B081001B --- 返回27字节系统信息 3、选DF01目录:00A4000002DF01 4、取随机数:0084000008(08代表取8字节随机数) 5、读车辆信息:00B400000A+8字节随机数+3B(读取车辆文件长度=59字节) +00(密钥版本:00--非国密,41--国密) 注:返回读车辆信息文件是密文 6、调用“解密OBU车辆信息接口”将密文传给后台解密即可
操作OBU(写OBU车辆信息)
1、选3F00:00A40000023F00 2、读EF01文件:00B081001B --- 返回27字节系统信息 3、选DF01目录:00A4000002DF01 4、取随机数:0084000004(04代表取4字节随机数) 5、写OBU的车辆信息文件:04D681003F + 59字节车辆信息 + 4字节Mac eg:04D681003F + BEA94A4C39353237000000000000010100140F0F040203E8000004000000000000000000000000000000010000000000000000000000000000000B + A50E2242 04D6:写文件命令头 81:文件短文件标识符 00:起始地址 3F:后面数据长度 注:4字节MAC的计算:调用getMAC2()方法计算
操作OBU(激活OBU)
1、选3F00:00A40000023F00。 2、读EF01文件:00B081001B --- 返回27字节系统信息 3、取随机数:0084000004(04代表去4字节随机数,随机数即广西接口中的初始化向量) 4、调用getMAC2()方法 5、写OBU:04D6811A05+01(系统信息的第27字节为拆卸状态:01-已激活,00-未激活)+4字节Mac 04D6:写文件命令头 81:文件短文件标识符,标识EF01文件 1A:起始地址,也可以叫偏移长度1A=26,也就是从第27字节开始写 05:后面数据长度
操作PSAM卡(PSAM卡认证命令流)
1、选DF02目录:00A4000002DF02 2、秘钥分散:801A280208 + 8字节卡序列号 3、计算mac:80FA0500 + 20(1字节数据长度) + 0000000000000000 + 16字节摘要码 + 8000000000000000 注:数据长度必须是8的倍数
标签:文件,字节,卡片,IC卡,信息,指令,随机数,OBU From: https://www.cnblogs.com/icaowu/p/17729042.html