|
下图为脱机消费交易流程:
假设消费金额为00 00 00 01,卡片序列号(分散因子):00 12 09 20 00 00 00 14
消费过程测试结果:
(1)消费初始化
命令序列:80 50 01 02 0B 01 00 00 00 01 00 00 00 00 00 00
返回内容:61 0F
命令序列:00 C0 00 00 0F
返回内容:00 FF FD F2 00 13 00 00 00 01 01 4F 8D AE 57 90 00
(2)ESAM生成MAC1码
(2.1)ESAM产生8字节过程密钥
命令序列:80 1A 43 01 10 4F 8D AE 57 00 13 00 00 00 12 09 20 00 00 00 14
返回内容:90 00
(2.2)用8字节过程密钥生成MAC1码
命令序列:80 FA 01 00 18 00 00 00 01 06 00 00 00 00 00 00 20 13 04 15 11 29 20 80 00 00 00 00 00
返回内容:61 04
命令序列:00 C0 00 00 04
返回内容:53 4D 99 FE 90 00
(3)消费操作
命令序列:80 54 01 00 0F 00 00 00 00 20 13 04 14 11 29 20 53 4D 99 FE
返回内容:61 08
命令序列:00 C0 00 00 08
返回内容:48 CB B6 3F D8 BC 71 15 90 00
(4)由ESAM生成4字节MAC2码,用于和用户卡产生的MAC2校验
(4.1)ESAM生成8字节过程密钥 与用户卡过程密钥相同
命令序列:80 1A 43 01 10 4F 8D AE 57 00 13 00 00 00 12 09 20 00 00 00 14
返回内容:90 00
(4.2)用生成的过程密钥计算MAC2码对data(交易金额+80 00 00 00)计算MAC
命令序列:80 FA 01 00 08 00 00 00 01 08 00 00 00
返回内容:61 04
命令序列:00 C0 00 00 04
返回内容:D8 BC 71 15 90 00