消费成功
ATR(复位应答) - 3B 62 00 00 81 82
TS ='3B' 指明正向
T0 = '62' TB1和TC1存在,2表示历史字节的存在个数为2
TB1 present ‘00’
TC1 present ‘00’
TD1 ‘81’ TA2到TC2不存在,TD2存在,使用T=1协议
TD2 ‘82’ TA3到TC3不存在,使用T=1协议
应用选择(第一步+第二步)
第一步选择环境
通过文件名或AID来选择IC卡中的PSE或ADF)
SELECT命令
选择PSE:00A4 04 00 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00
发送
IFD(接口设备): 00 A4 04 00 0E
IFD: 31 50 41 59 2E 53 59 53 2E 44 44 46 3031 00
CLA: ’00’
INS: ’A4’
P1(引用控制参数): ’04‘(金融应用中,P1都是填04,b3等于1表示通过名称选择)
P2:‘00’ (00代表第一个或仅有一个)
Lc: 0E(14个字节)
Data: 31 50 41 59 2E 53 59 53 2E 44 44 4630 31 (文件名)
Le: ‘00’
选择环境:00 A4 04 00 0E 31 5041 59 2E 53 59 53 2E 44 44 46 30 31 00
接收:
6F 24 84 0E 31 50 41 59 2E 53 59 53 2E 4444 46
30 31 A5 12 88 01 01 5F 2D 08 65 73 65 6E66 72
64 65 9F 11 01 01 90 00
FCI模板:6F 长度:24
专用(DF)文件名称:84 长度0E 值:31 50 41 59 2E 5359 53 2E 44 44 46 30 31
FCI专有模板:A5 长度:12 值:88 01 01 5F 2D 0865 73 65 6E 66 72 64 65 9F 11
01 01
短文件标识符(SFI):88 长度:01 值:01(未移过的SFI值,需右移3位)
(只告诉我们SFI=1,读完文件1的全部数据)
首选语言:5F2D 长度:08 值:65 73 65 6E 66 72 6465
发卡行代码索引:9F11 长度:01 值:01
ICC: SW1 SW2 = 90 00 => Successful
第二步选择应用
读记录(READRECORD)命令
AEF(应用基本文件)=P1+P2即SFI+记录号
读取SFI=1文件第1条记录
发送:00 B2 01 0C 00
CLA: ’00’
INS: ’B2’
P1(记录号): ’01‘
P2(引用控制参数):‘0C’(00001100,00001说明SFI=1,100中b3=1代表读P1指定记录,这个命令都是拿SFI与ox04异或)
Le: ‘00’
接收
70 2A 61 28 4F 07 A0 00 00 00 03 10 10 500A 56
49 53 41 43 52 45 44 49 54 87 01 01 9F 120D 43
52 45 44 49 54 4F 44 45 56 49 53 41 90 00
应用基本数据模板:70 长度:2A 值:61 28 4F 07 A0 0000 00 03 10 10 50 0A 56 49 53
41 43 5245 44 49 54 87 01 01 9F 12 0D 43 52 45
44 49 544F 44 45 56 49 53 41
应用模板:61 长度:28 值:4F 07 A0 00 00 0003 10 10 50 0A 56 49 53 41 43
52 45 44 49 5487 01 01 9F 12 0D 43 52 45 44 49
54 4F 44 45 5649 53 41
应用标识符(AID,读记录):4F 长度:07 值:A0 00 00 00 03 10 10
(从TAG 4F中得到了1个卡片支持的应用AID:A0 00 00 00 03 10 10)
应用标签(读记录选择):50 长度:0A 值:56 49 53 41 43 5245 44 49 54
应用优先指示器(读记录选择):87 长度:01 值:01
应用首选名称(读记录选择):9F12 长度:0D 值:43 52 45 44 49 54 4F 44 45 56 49 53 41
ICC: SW1 SW2 = 90 00 => Successful
读取SFI=1文件第2条记录
发送:00 B2 02 0C 00
CLA: ’00’
INS: ’B2’
P1(记录号): ’02‘
P2(引用控制参数):‘0C’
Le: ‘00’
ICC: SW1 SW2 = 6A 83 => 记录号不存在6A83表示记录未找到,说明已经读到最后一条记录
SELECT命令选择文件
选择ADF:00 A4 04 00 07 A0 00 00 00 03 10 10 00
发送
IFD: 00A4 04 00 07
IFD: A000 00 00 03 10 10 00
CLA: ’00’
INS: ’A4’
P1(引用控制参数):’04‘
P2:‘00’
Lc: 07
Data: A0 00 00 00 03 10 10
Le: ‘00’
根据选择环境得到的AID,我们发送的时候A404的时候,选择了A0 00 00 0003 10 10
接收
6F 32 84 07 A0 00 00 00 03 10 10 A5 27 87 0101
9F 38 12 9F 1A 02 9F 33 03 9F 40 05 9F 1B 049F
09 02 9F 35 01 5F 2D 08 65 73 65 6E 66 72 6465
9F 11 01 01 90 00
FCI模板:6F 长度:32 值:84 07 A0 0000 00 03 10 10 A5 27 87 01 01 9F 38
12 9F 1A 02 9F 33 039F 40 05 9F 1B 04 9F 09 02
9F 35 01 5F 2D 08 6573 65 6E 66 72 64 65 9F 11
01 01
专用(DF)文件名称:84 长度07 值:A0 00 00 00 03 1010
FCI专有模板:A5 长度:27 值:87 01 01 9F 38 129F 1A 02 9F 33 03 9F 40 05 9F
1B 04 9F09 02 9F 35 01 5F 2D 08 65 73 65 6E 66
72 64 659F 11 01 01
应用优先选择器(ASI):87 长度:01 值:01
如果候选应用列表中只有1个AID,且TAG 87的b8=1,则需要显示出来让用户确认选择
类似如右界面:您确定要选择AID吗?
处理选项数据对(PDOL):9F38 (在下一步的时候,会按照这串数据,组包,发送给卡片) 长度:12
值:9F 1A 02 9F 33 03 9F 40 05 9F 1B 04 9F 09 02 9F 35 01
Tag 9F1A(终端国家代码) : Length=02
Tag 9F33(终端性能) : Length=03
Tag 9F40(附加终端性能): Length=05
Tag 9F1B (终端最低限额): Length=04
Tag 9F09(应用版本号) :Length=02
Tag 9F35(终端类型) : Length=01
首选语言:5F 2D 长度:08 值:65 73 65 6E66 72 64 65
发卡行代码表索引:9F11 长度:01 值:01
ICC: SW1 SW2 = 90 00 => Successful
经过这一步,我们确定了选择A000 00 00 03 10 10这个DF,同时确定了下一步应该发什么数据给卡片。
如果有多个AID这个时候会显示如下界面供用户选择:
1.AID1
2.AID2
应用初始化
第三步GPO(GPO代表交易的开始,GPO需要把PDOL指令填充好,发送给卡片。
发给卡片包括金额,时间,国家代码和货币代码等)
应用初始化(终端发送GPO命令给卡片,卡片返回AIP和AFL给终端)
获取处理选项(GPO)命令用来启动IC卡内的交易
来源(应用选择时卡片返回的应用数据)
用途:用于发送在应用初始化时需要给卡片的终端数据
发送
IFD: 80 A8 00 00 13
IFD: 83 11 01 56 E0 B0 C8 60 00 F0 F0 01 4A4A 4A 4A 0F 0A 22 00
CLA: ’80’
INS: ’A8’
P1: ’00‘
P2:‘00’
Lc: 13
这边取得数据是根据之前的PDOL(9F 1A 02 9F 33 039F 40 05 9F 1B 04 9F 09 02 9F 35 01)
Data: 83 11 01 56 E0 B0 C8 60 00 F0 F0 01 4A4A 4A 4A 0F 0A 22
Le: ‘00’
接收
+ICC: 80 0E 5C 00 08 01 01 00 10 01 03 01 1801 03 00 90 00
响应报文模板格式:80长度:0E 值:5C00 08 01 01 00 10 01 03 01 18 01 03 00
AIP:5C 00
01011010(表示支持静态数据认证SDA,支持持卡人认证,执行终端风险管理)
AFL: 08 01 01 00 (SFI=1,记录号01-01)(AFL中的SFI是已经移过的值)
10 01 03 01 (SFI=2,记录号01-03)最后一个字节代表有一个文件要用于脱机数据认证
18 01 03 00(SFI=3,记录号01-03)
字节1——短文件标识符(一个文件的数字标签)
字节2——第一个要读出的记录号
字节3——最后一个要读出的记录号
字节4——从第1个记录开始的用于脱机数据认证的连续记录数
ICC: SW1 SW2 = 90 00 => Successful
至此,卡片进入预扣款状态,根据卡片响应,得知卡片已经返回脱机成功的状态,终端需要把GPO返回的AFL读完,交易便完成。
读应用数据
第四步 读记录
下面会有多个指令来回,因为GPO返回的AFL需要读取多个记录。
读记录(READ RECORD)命令
读取SFI=1文件第1条记录
发送
IFD: 00 B2 01 0C 00
CLA: ’00’
INS: ’B2’
P1(记录号):’01‘
P2:‘0C’
Le: ‘00’
接收
+ICC: 70 3E 5F 20 0F 46 55 4C 4C 20 46 55 4E43 54 49
4F4E 41 4C 57 11 47 61 73 90 01 01 00 10 D1 01
2201 01 23 45 67 89 9F 1F 16 30 31 30 32 30 33
3034 30 35 30 36 30 37 30 38 30 39 30 41 30 42
90 00
应用基本数据模板:70 长度:3E 值:5F20 0F 46 55 4C 4C 20 46 55 4E 43 54 49 4F 4E
41 4C 57 11 47 61 73 90 01 01 00 10D1 01 22 01
01 23 45 67 89 9F 1F 16 30 31 30 32 30 33 3034
30 35 30 36 30 37 30 38 30 39 30 4130 42
持卡人姓名:5F20 长度:0F 值: 46 55 4C 4C 20 46 55 4E 43 54 49 4F 4E 41 4C
磁条2等价数据57 长度:11值:47 61 73 90 01 01 00 10 D1 01 22 01 0123 45 67 89
磁条1自定义数据9F1F 长度:16 值:3031 30 32 30 33 30 34 30 35 30 36 30 37 30 38
30 39 30 41 30 42
ICC: SW1 SW2 = 90 00 => Successful
读记录(READ RECORD)命令
读取SFI=2文件第1条记录
发送
IFD: 00 B2 01 14 00
CLA: ’00’
INS: ’B2’
P1(记录号):’01‘
P2:‘14’
Le: ‘00’
脱机数据认证:
【
接收
+ICC: 70 0E 5A 08 47 61 73 90 01 01 00 10 5F34 01 01 90 00
应用基本数据模板:70 长度:0E 值:5A08 47 61 73 90 01 01 00 10 5F 34 01 01
应用PAN:5A 长度:08值:47 61 73 90 01 01 00 10
应用PAN序列号:5F 34 长度:01值:01
ICC: SW1 SW2 = 90 00 => Successful
】
读取SFI=2文件第2条记录
发送
IFD: 00 B2 02 14 00
CLA: ’00’
INS: ’B2’
P1(记录号):’02‘
P2:‘14’
Le: ‘00’
接收
+ICC: 70 4C 8C 17 95 05 9B 02 9F 02 06 9F 0306 9F 1A
025F 2A 02 9A 03 9C 01 9F 37 04 8D 19 95 05 9B
028A 02 9F 02 06 9F 03 06 9F 1A 02 5F 2A 02 9A
039C 01 9F 37 04 9F 0E 05 00 50 88 00 00 9F 0F
05F0 20 04 98 00 9F 0D 05 F0 20 04 00 00 90 00
应用基本数据模板:70 长度:4C 值:8C17 95 05 9B 02 9F 02 06 9F 03 06 9F 1A 02 5F
2A 02 9A 03 9C 01 9F 37 04 8D 19 9505 9B 02 8A
02 9F 02 06 9F 03 06 9F 1A 02 5F 2A02 9A 03 9C
01 9F 37 04 9F 0E 05 00 50 88 00 009F 0F 05 F0
20 04 98 00 9F 0D 05 F0 20 04 00 00
卡片风险管理数据对象列表1(CDOL1):8C长度:17 值:9505 9B 02 9F 02 06 9F 03 06 9F 1A 02 5F 2A 02 9A 03 9C 01 9F 37 04
Tag 95(终端验证结果): Length=05
Tag 9B(交易状态信息) Length=02
Tag 9F02 (授权金额): Length=06
Tag 9F03(其他金额) : Length=06
Tag 9F1A(终端国家代码) Length=02
Tag 5F2A(交易货币代码) : Length=02
Tag 9A(交易日期) Length=03
Tag 9C交易类型): Length=01
Tag 9F37(不可预知数) : Length=04
卡片风险管理数据对象列表2(CDOL2):长度:19值:95 05 9B 02 8A 02 9F 02 06 9F 03 06
9F 1A 02 5F2A 02 9A 03 9C 01 9F 37
04
Tag 95(终端验证结果): Length=05
Tag 9B(交易状态信息) Length=02
8A(授权响应码):Length=02
Tag 9F02 (授权金额): Length=06
Tag 9F03(其他金额): Length=06
Tag 9F1A(终端国家代码): Length=02
Tag 5F2A(交易货币代码): Length=02
Tag 9A(交易日期): Length=03
Tag 9C交易类型): Length=01
Tag 9F37(不可预知数): Length=04
发卡行行为代码-拒绝:9F0E 长度:05值:00 50 88 00 00
50 卡片不允许所请求服务
发卡行行为代码-联机:9F0F 长度:05值:F0 20 04 98 00
F0未进行脱机数据认证,脱机数据认证SDA失败,卡片出现在终端异常文件中
20 应用尚未生效
04 输入联机PIN
98 交易超过最低限额,交易被随机选择联机处理,商户要求强制联机
发卡行行为代码-缺省:9F0D 长度05值:F0 20 04 00 00
F0未进行脱机数据认证,脱机数据认证SDA失败,卡片出现在终端异常文件中
20 应用尚未生效
04 输入联机PIN
ICC: SW1 SW2 = 90 00 => Successful
读取SFI=2文件第3条记录
发送
IFD: 00 B2 03 14 00
CLA: ’00’
INS: ’B2’
P1(记录号):’03‘
P2:‘14’
Le: ‘00’
接收
+ICC: 70 39 5F 25 03 95 07 01 5F 24 03 10 12 31 5F 28
02 08 40 9F07 02 FF C0 8E 12 00 00 00 00 00 00
00 00 41 03 4203 5E 03 43 03 1F 00 9F 08 02 00
8C 5F 30 02 0201 9F 42 02 08 40 90 00
处理限制:
应用基本数据模板:70 长度:39 值:5F25 03 95 07 01 5F 24 03 10 12 31 5F 28 02 08
40 9F 07 02 FF C0 8E 1200 00 00 00 00 00 00 00
41 03 42 03 5E 03 43 031F 00 9F 08 02 00 8C 5F
30 02 02 01 9F 42 02 0840
应用生效日期:5F25 长度:03 值:9507 01
应用失效日期:5F24 长度:03 值:1012 31
发卡行国家代码:5F28 长度:02 值:0840
应用用途控制:9F07 长度:02 值:FFC0
持卡人验证方法(CVM)列表:8E 长度:12值:00 00 00 00 00 00 00 00 41 03 42 03 5E03 43
03 1F00
金额X:0000 00 00
金额Y:0000 00 00
4103
code = 41=>如果这种CVM不成功,则应用后继的CVM规则,由ICC执行的明文pin验证
condition = 03 => 如果终端支持这个CVM
42 03
code = 42 =>如果这种CVM不成功,则应用后继的CVM规
则,卡片执行明文PIN核对
condition = 03 =>如果终端支持这个CVM
5E03
code = 5E =>如果这种CVM不成功,则应用后继的CVM规
则,签名(纸上)
condition=03 =>如果终端支持这个CVM
4303
code = 43 =>如果这种CVM不成功,则应用后继的CVM规
则,卡片执行明文PIN核对+签名
condition = 03 =>如果终端支持这个CVM
1F 00
code = 1F =>如果CVM失败,持卡人验证失败
condition = 00 =>总是
应用版本号:9F08长度:02 值:008C
服务码:5F30长度:02 值:0201
应用货币代码:9F42长度:02 值:0840
ICC: SW1 SW2 = 90 00 => Successful
读记录(READ RECORD)命令
读取SFI=3文件第1条记录
发送
IFD: 00 B2 01 1C 00
CLA: ’00’
INS: ’B2’
P1(记录号):’01‘
P2:‘1C’
Le: ‘00’
接收
+ICC: 70 65 8F 01 97 90 60 24 0E 0E A6 D2 1E65 52 B2
ED3F AD C2 F1 D2 80 D1 AD 91 3E 62 2E 2C 35 21
AADF 2A 47 B3 AC F6 6B 67 1D 4B 12 36 81 9A D1
B1FA 9F A6 AC DE 38 66 5B 6B DE 53 C3 80 A1 53
169A BA AB 94 83 90 2F B7 63 E9 EA A7 AB 27 8A
5D39 D3 A5 0E 15 98 B8 4C 22 13 9D 43 A7 48 6F
71AA 0E C3 90 2D 26 90 00
应用基本数据模板:70 长度:65 值:8F01 97 90 60 24 0E 0E A6 D2 1E 65 52 B2 ED 3F
AD C2 F1 D2 80 D1 AD 91 3E 62 2E 2C 35 21 AADF
2A 47 B3 AC F6 6B 67 1D 4B 12 36 819A D1 B1 FA
9F A6 AC DE 38 66 5B 6B DE 53 C3 80A1 53 16 9A
BA AB 94 83 90 2F B7 63 E9 EA A7 AB27 8A 5D 39
D3 A5 0E 15 98 B8 4C 22 13 9D 43 A748 6F 71 AA
0E C3 90 2D 26
CA公钥索引:8F长度01 值:97 脱机数据认证需要
发卡行公钥证书:90长度:60 值:240E 0E A6 D2 1E 65 52 B2 ED 3F AD C2 F1 D2 80
D1 AD 91 3E 62 2E2C 35 21 AA DF 2A 47 B3 AC F6
6B 67 1D 4B 12 3681 9A D1 B1 FA 9F A6 AC DE 38
66 5B 6B DE 53 C380 A1 53 16 9A BA AB 94 83 90
2F B7 63 E9 EA A7 AB27 8A 5D 39 D3 A5 0E 15 98
B8 4C 22 13 9D 43A7 48 6F 71 AA 0E C3 90 2D 26
ICC: SW1 SW2 = 90 00 => Successful
读取SFI=3文件第2条记录
发送
IFD: 00 B2 02 1C 00
CLA: ’00’
INS: ’B2’
P1(记录号):’02‘
P2:‘1C’
Le: ‘00’
接收
+ICC: 70 1A 9F 32 01 03 92 14 CF B8 D4 88 5D96 09 67
179F 98 2D 42 CE 54 EC C2 05 46 83 90 00
应用基本数据模板:70 长度:1A 值:9F32 01 03 92 14 CF B8 D4 88 5D 96 09 67 17 9F
98 2D 42 CE 54 EC C2 05 46 83
发卡行RSA公钥指数:9F32 长度:01 值:03
发行人公钥余数:92长度:14 值:CFB8 D4 88 5D 96 09 67 17 9F 98 2D 42 CE 54 EC
C2 05 46 83
ICC: SW1 SW2 = 90 00 => Successful
读取SFI=3文件第3条记录
发送
IFD: 00 B2 03 1C 00
CLA: ’00’
INS: ’B2’
P1(记录号):’03‘
P2:‘1C’
Le: ‘00’
接收
+ICC: 70 52 93 50 11 0B B9 DF 2D 21 98 19 06B2 9A 30
1411 F9 FA 60 CF 49 4D BA BA BF 54 B1 79 7C 9C
4B5D 99 B5 E6 7A B7 30 49 E7 71 FC 5F DC 23 E5
8350 B7 81 00 53 24 D3 1D C8 7A D0 FB F6 36 73
3808 05 6D 66 07 46 32 71 1E 7C BF 14 07 37 96
E1B6 0D 4D 90 00
应用基本数据模板:70 长度:52 值:9350 11 0B B9 DF 2D 21 98 19 06 B2 9A 30 14 11
F9 FA 60 CF 49 4D BA BA BF 54 B1 797C 9C 4B 5D
99 B5 E6 7A B7 30 49 E7 71 FC 5F DC23 E5 83 50
B7 81 00 53 24 D3 1D C8 7A D0 FB F636 73 38 08
05 6D 66 07 46 32 71 1E 7C BF 14 0737 96 E1 B6
0D 4D
签名的静态应用数据(SAD):93 长度:50值:
110B B9 DF 2D 21 98 19 06 B2 9A 30 14 11 F9 FA
60 CF 49 4DBA BA BF 54 B1 79 7C 9C 4B 5D 99 B5
E6 7A B7 3049 E7 71 FC 5F DC 23 E5 83 50 B7 81
00 53 24 D31D C8 7A D0 FB F6 36 73 38 08 05 6D
66 07 46 3271 1E 7C BF 14 07 37 96 E1 B6 0D 4D
ICC: SW1 SW2 = 90 00 => Successful
持卡人验证=GET DATA &VERIFY:
取数据(GET DATA)命令
用来从当前应用中取得一个没有封装在记录中的基本数据对象
发送
IFD: 80 CA 9F 17 00
CLA: ’80’
INS: ’CA’
P1(要访问的数据标签):9F
P2:17
Le: ‘00’
接收:
+ICC: 9F 17 01 03
PIN尝试计数器:9F17长度:01 值:03
ICC: SW1 SW2 = 90 00 => Successful
核实
IFD: 00 20 00 80 08 =>明文pin,格式如iso/ iec 7816 -3中定义的格式。
IFD: 26 11 11 11 FF FF FF FF
CLA: ’00’
INS: ’20’
P1: ‘00’
P2:’80’(脱机明文PIN验证)
Lc: ‘08’
Data:2611 11 11 FF FF FF FF(2为控制域,6为PIN长度)
ICC: SW1 SW2 = 90 00 => Successful
终端风险管理
如果先前没有,则通过GET DATA从卡片中获取上次联机交易ATC寄存器和应用交易计数器。终端异常文件检查-》商户是否强制交易联机-》最低限额检查(使超过终端最低限额的交易执行联机授权。如果终端包含交易日志,终端就检查同一张卡片之前的交易金额加上现在的交易金额是否超过了最低限额)-》随机交易选择(随机选择脱机和联机交易)-》终端频度检查(终端必须读取到连续脱机交易上限和连续脱机交易下限,通过GET DATA 获取上次联机ATC和交易计数器ATC,如果ATC减去上次联机ATC大于连续脱机交易下限,将”超过连续脱机交易下限”设置为1,如果ATC减去上次联机ATC大于连续脱机上限,将”超过连续脱机交易下限”设置为1.)-》新卡检查(终端检查上次联机ATC寄存器,如果为0,则置新卡位为1)
Iccsend
80 CA 9F 36 00
Iccrec
9F 36 02 02 6E 90 00
应用交易计数器ATC:9F36长度:02 值:026E
Iccsend
80 CA 9F 13 00
Iccrec
9F 13 02 02 5F 90 00
上次联机应用交易计数器(ATC)寄存器:9F13 长度:02 值:025F
终端行为分析
生成应用密文(GENERATE AC)命令(第5部分P108)
发送
IFD: 80 AE 80 001F
IFD: 40 80 00 1000 C8 00 00 00 00 00 00 01 00 00 00
00 00 00 01 56 01 56 10 02 16 00 2D 7A A5 A6
CLA: ’80’
INS: ’AE’
P1(引用控制参数):80(ARQC)
P2:00
Lc: ‘1F’
根据CDOL(95 05 9B 02 9F 02 06 9F 03 06 9F 1A 025F 2A 02 9A 03 9C 01 9F 37 04)来取数据域
数据域:40 80 00 10 00 C8 00 00 00 00 00 00 01 00 00 00
00 00 00 01 56 01 56 10 02 16 002D 7A A5 A6
Le: ‘00’
:
联机交易就是拿IAC和TAC分别与TVR比较来判断
终端验证结果: 40 80 00 10 00(脱机静态数据认证失败,IC卡和终端应用版本不一样,交易被随机选择求联机处理)
交易状态信息: C8 00
授权金额(数值):00 00 00 00 00 01
其他金额(数值):00 00 00 00 00 00
终端国家代码:01 56
交易货币码:01 56
交易日期:10 02 16
交易类型:00
不可预测数: 2D 7A A5 A6
接收
+ICC: 80 12 80 0001 A7 2A FF 03 D3 4F 64 49 06 01 1A
03 60 00 00
响应报文模板格式:80 长度:12 值:80 00 01 A7 2A FF 03 D3 4F 64 49 06 01 1A
03 60 00 00
密文信息数据: 80(ARQC)
应用交易计数器:00 01
应用密文(AC):A7 2A FF 03 D3 4F 64 49
发卡行应用数据:06 01 1A 03 90 00 00
06 长度1字节
01 分散密钥索引1字节
1A 密文版本号1字节
03 60 00 00卡片验证结果CVR
60(0110 0000)返回ARQC
ICC: SW1 SW2 = 9000 => Successful
发送
IFD: 80 AE 40 00 21
IFD: 40 80 00 10 00 E8 00 30 30 00 00 00 0000 01 00
0000 00 00 00 01 56 01 56 10 02 16 00 2D 7A A5
A600
CLA: ’80’
INS: ’AE’
P1(引用控制参数):40(TC)
P2:00
Lc: ‘21’
数据域:4080 00 10 00 E8 00 30 30 00 00 00 00 00 01 00
0000 00 00 00 01 56 01 56 10 02 16 00 2D 7A A5
A6
Le: ‘00’
终端验证结果: 40 80 00 10 00(脱机静态数据认证失败,IC卡和终端应用版本不一样,交易被随机选择求联机处理)
交易状态信息:E8 00
授权响应代码: 30 30(TSI表明终端风险管理已被执行)
授权金额(数值):0000 00 00 00 01
其他金额(数值):0000 00 00 00 00
终端国家代码:0156
交易货币码:0156
交易日期:1002 16
交易类型:00
不可预知数字(由终端生成的不可预知的,唯一标识一笔交易的数字,该数字通过内部认证命令发送到卡片): 2D 7A A5 A6
接收:
+ICC: 80 12 40 00 01 88 2D 84 27 A2 68 E2 1406 01 1A
0360 00 00
响应报文模板格式:80长度:12 值:4000 01 88 2D 84 27 A2 68 E2 14 06 01 1A 03 60
00 00
密文信息数据:40(TC)
应用交易计数器:00 01
应用密文(AC):88 2D 84 27 A2 68 E2 14
06 长度1字节
01 分散密钥索引1字节
1A 密文版本号1字节
03 60 00 00卡片验证结果CVR
60(01100000)返回ARQC
ICC: SW1 SW2 = 90 00 => Successful