5.ETC卡 PSAM卡消费流程(转载)

发布时间 2023-09-25 22:58:45作者: 流水江湖

消费流程

打开读卡器
0
选择psam卡槽1

复位psam卡

读取psam卡0015文件
psam card send: 00b095000E
psam card recv: 23010101000000212241010101019000
psam卡序列号: 23010101000000212241
psam卡版本号: 01
密钥卡类型 : 01
发卡方自定义FCI数据 : 0101
读取psam卡 终端机编号
psam card send: 00b0960006
psam card recv: 012300033d119000

终端机编号: 012300033d11

打开用户卡

读取用户卡0016文件
cpu card send: 00B0960037
cpu card recv: 0000ceb4b7a2d0d000000000000000000000000000003838383838383838000000000000000000000000000000000000000000000000009000
0000ceb4b7a2d0d000000000000000000000000000003838383838383838000000000000000000000000000000000000000000000000009000
持卡人身份标识  1字节  : 00
本系统职工标识  1字节  : 00
持卡人姓名     20字节  : ceb4b7a2d0d00000000000000000000000000000
持卡人证件号码  32字节  : 3838383838383838000000000000000000000000000000000000000000000000
持卡人证件类型  1字节  : 00

进入用户卡目录:00A40000021001
cpu card send: 00A40000021001
cpu card recv: 6f47840a5041592e4554432e4e4da5399f0801029f0c32c1fabdad230100011740230113052309020000112019110820191107000000000000000000000000000000ffffff0209ffff9000
标识符1: 32c1fabd
标识符2: 0113052309020000
FCI Error_application_code1: 0113052309020000
FCI Error_city_code1: 32c1fabd32c1fabd

读取用户卡0015文件
cpu card send: 00B095002B
cpu card recv: c1fabdad2301000117402301130523090200001120191108201911070000000000000000000000000000009000
c1fabdad2301000117402301130523090200001120191108201911070000000000000000000000000000009000
发卡方标识     8字节                      : c1fabdad23010001
卡片类型       1字节 22:储值卡  23:记账卡  : 17
卡片版本号     1字节                      : 40
卡片网络编号   2字节                      : 2301
卡片内部编号   8字节                      : 1305230902000011
启用时间       4字节                      : 20191108
到期时间       4字节                      : 20191107
车牌号码       12字节 GB2312编码          : 000000000000000000000000
用户类型       1字节                      : 00
车牌颜色       1字节                      : 00
车型           1字节                      : 009000
预留           3字节                      : 
卡片厂商       1字节                      : 
发行结构编号   1字节                      : 
预留                                      : 
application_code: 1305230902000011
city_code: c1fabdadc1fabdad

用户卡取余额命令
cpu card send: 805c000204
cpu card recv: 7ffffff29000

消费金额: 单位为分: 00000001
终端向卡片发送消费初始化命令
密钥索引: 01
cpu card send: 805001020B0100000001012300033d11
cpu card recv: 7ffffff2000d00000001009a2138279000
电子钱包余额  4字节: 7ffffff2
脱机交易序号  2字节: 000d
透支限额     3字节: 000000
密钥版本号   1字节: 01
算法标识     1字节: 00
伪随机数     4字节: 9a213827

psam卡选择 df01 目录
psam card send: 00a4000002df01
psam card recv: 6f258405a000000003a51c9f0c190100ffffffffffffff23ffffffffffffff20160531202012319000

读取psam卡 DF01 目录下的0017文件
psam card send: 00b0970019
psam card recv: 0100ffffffffffffff23ffffffffffffff20160531202012319000
密钥索引号: 01
发行方标识: 00ffffffffffffff
应用区域标识: 23ffffffffffffff
应用启用日期: 20160531
应用有效日期: 20201231

PSAM卡消费初始化
time =  20200529112007
INIT SAM FOR PURCHASE 计算MAC1
消费密钥版本号:  01
消费密钥算法标识: 00
交易类型标识(第16个字节) 06
psam card send: 80700000249a213827000d00000001062020052911200701001305230902000011c1fabdadc1fabdad
psam card recv: 0000000214fc8c5e9000
终端脱机交易序号: 00000002
报文校验码 MAC1: 14fc8c5e

用户卡消费
应用消费交易
cpu card send: 805401000f000000022020052911200714fc8c5e
cpu card recv: d65d25f90ef7e7559000
TAC : d65d25f9
MAC2: 0ef7e755

 PSAM卡消费(验证MAC2):
psam card send: 80720000040ef7e755
psam card recv: 9000
psam check mac2 success

Process finished with exit code 0

ETC卡复合消费流程:

打开读卡器
0
选择psam卡槽1

复位psam卡

读取psam卡0015文件
psam card send: 00b095000E
psam card recv: 23010101000000212241010101019000
psam卡序列号: 23010101000000212241
psam卡版本号: 01
密钥卡类型 : 01
发卡方自定义FCI数据 : 0101
读取psam卡 终端机编号
psam card send: 00b0960006
psam card recv: 012300033d119000

终端机编号: 012300033d11

打开用户卡

读取用户卡0016文件
cpu card send: 00B0960037
cpu card recv: 0000ceb4b7a2d0d000000000000000000000000000003838383838383838000000000000000000000000000000000000000000000000009000
0000ceb4b7a2d0d000000000000000000000000000003838383838383838000000000000000000000000000000000000000000000000009000
持卡人身份标识  1字节  : 00
本系统职工标识  1字节  : 00
持卡人姓名     20字节  : ceb4b7a2d0d00000000000000000000000000000
持卡人证件号码  32字节  : 3838383838383838000000000000000000000000000000000000000000000000
持卡人证件类型  1字节  : 00

进入用户卡目录:00A40000021001
cpu card send: 00A40000021001
cpu card recv: 6f47840a5041592e4554432e4e4da5399f0801029f0c32c1fabdad230100011740230113052309020000112019110820191107000000000000000000000000000000ffffff0209ffff9000
标识符1: 32c1fabd
标识符2: 0113052309020000
error_application_code1: 0113052309020000
error_city_code1: 32c1fabd32c1fabd

读取用户卡0015文件
cpu card send: 00B095002B
cpu card recv: c1fabdad2301000117402301130523090200001120191108201911070000000000000000000000000000009000
c1fabdad2301000117402301130523090200001120191108201911070000000000000000000000000000009000
发卡方标识     8字节                      : c1fabdad23010001
卡片类型       1字节 22:储值卡  23:记账卡  : 17
卡片版本号     1字节                      : 40
卡片网络编号   2字节                      : 2301
卡片内部编号   8字节                      : 1305230902000011
启用时间       4字节                      : 20191108
到期时间       4字节                      : 20191107
车牌号码       12字节 GB2312编码          : 000000000000000000000000
用户类型       1字节                      : 00
车牌颜色       1字节                      : 00
车型           1字节                      : 009000
预留           3字节                      : 
卡片厂商       1字节                      : 
发行结构编号   1字节                      : 
预留                                      : 
application_code: 1305230902000011
city_code: c1fabdadc1fabdad

用户卡  读记录文件 19文件
cpu card send: 00b201cc00
cpu card recv: aa29000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324252627299000

用户卡取余额命令
cpu card send: 805c000204
cpu card recv: 7ffffff19000

消费金额: 单位不知道: 00000001
终端向卡片发送消费初始化命令
INITIALIZE FOR CAPP PURCHASE  初始化复合消费交易
0302 是干嘛的? 80 50 03 02 表示指令是复合消费
密钥索引: 01
cpu card send: 805003020B0100000001012300033d11
cpu card recv: 7ffffff1000e00000001004b156b909000
电子钱包余额  4字节: 7ffffff1
脱机交易序号  2字节: 000e
透支限额     3字节: 000000
密钥版本号   1字节: 01
算法标识     1字节: 00
伪随机数     4字节: 4b156b90

用户卡写0019复合记录,根据复合应用类型标识符写
UPDATE CAPP CACHE  复合消费交易中更新复合应用数据缓存
cpu card send: 80dcaac82bAA29000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262729
cpu card recv: 9000

psam卡选择 df01 目录
psam card send: 00a4000002df01
psam card recv: 6f258405a000000003a51c9f0c190100ffffffffffffff23ffffffffffffff20160531202012319000

读取psam卡 DF01 目录下的0017文件
psam card send: 00b0970019
psam card recv: 0100ffffffffffffff23ffffffffffffff20160531202012319000
密钥索引号: 01
发行方标识: 00ffffffffffffff
应用区域标识: 23ffffffffffffff
应用启用日期: 20160531
应用有效日期: 20201231

PSAM卡消费初始化
time =  20200529112851
INIT SAM FOR PURCHASE 计算MAC1
消费密钥版本号:  01
消费密钥算法标识: 00
用户卡应用序列号: 
发行方标识
交易类型标识 09
交易类型标识(第16个字节) 09
psam card send: 80700000244b156b90000e00000001092020052911285101001305230902000011c1fabdadc1fabdad
psam card recv: 000000035cb944579000
终端脱机交易序号: 00000003
报文校验码 MAC1: 5cb94457

用户卡复合消费
DEBIT FOR CAPP PURCHASE  复合应用消费交易
cpu card send: 805401000f00000003202005291128515cb94457
cpu card recv: 53d2fbbff5f55c209000
TAC : 53d2fbbf
MAC2: f5f55c20
psam card send: 8072000004f5f55c20
psam card recv: 9000
psam check mac2 success

Process finished with exit code 0

 

02 应该是表示是 电子钱包