ETC卡 PSAM卡消费流程(转载)
打开读卡器
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 初始化复合消费交易
03 和 02 是干嘛的? 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 应该是表示是 电子钱包