4.操作卡片和OBU的指令以及流程

 用户卡认证命令流

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(读取车辆文件长度) +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:文件短文件标识符

		1A:起始地址

		05:后面数据长度

操作PSAM卡(PSAM卡认证命令流)

1、选DF02目录:00A4000002DF02

2、秘钥分散:801A280208 + 8字节卡序列号

3、计算mac:80FA0500 + 20(1字节数据长度) + 0000000000000000 + 16字节摘要码 + 8000000000000000
    
	注:数据长度必须是8的倍数

你可能感兴趣的:(JL内容,macos)