EMV规范(四)——读应用数据

读应用数据的目的是为了从卡片中获取后续交易需要的数据。例如,在脱机数据认证时,需要的认证数据,等。步骤:根据应用初始化时,由GPO命令返回的卡片数据中的AFL,来读取卡片数据。

一. AFL:Application File Locator

EMV规范(四)——读应用数据_第1张图片

二. 所用到的命令为 Read Record

终端发送的命令格式为:  Record number:记录号

EMV规范(四)——读应用数据_第2张图片

EMV规范(四)——读应用数据_第3张图片

 

卡片回复的数据格式为:

EMV规范(四)——读应用数据_第4张图片

 

三. 例子

T:表示终端发送的命令
C:表示卡片返回的数据
红色为tag,黑色为长度,紫色为value

 

假设由上一步从卡片中得到的数据的AFL为: 08 01 01 00 10 01 02 01

1.首先分析AFL:

由上面的数据可以知道有两个AFL entry,分别是 08 01 01 00 和 10 01 02 01

第一条: 08 01 01 00

第一个字节08:可以知道SFI 为01; 第二个字节为01,表示开始读记录号为01; 第三个字节表示最后读的记录号为01,所以SFI 为01时,只读一条记录,记录号为 01; 第四个字节为 00:表示SFI为01时,没有需要参与到脱机数据认证的数据。

第二条: 10 01 02 01

第一个字节10:SFI为02; 第二个字节为01,第三个字节为02,可知SFI为02时,需要读两条记录 01 和02; 第四个字节为01:表示参与到脱机数据认证的有1条记录,就是SFI为02,记录号为01。

2. 根据AFL发送读记录命令

发送第1条命令:SFI为01,记录号为01

T : 00 B2 01 0C 00

C : 70 25 9F 61 01 20 9F 62 01 00 5F 20 1A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 90 00

分析卡片返回数据:

70 25 9F 61 01 20 9F 62 01 00 5F 20 1A 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 90 00

90 00:表示卡片返回数据成功。

第2条命令:SFI为02,记录号为01

终端发送的第二条读记录命令为:00 B2 01 14 00

第3条命令:SFI为02,记录号为02

终端发送的第二条读记录命令为:00 B2 02 14 00

 

备注:关于这个例子中的tag代表什么意思,可以参考emv book3中的Annex A部分。emv规范的下载,见我前面的笔记:EMV规范(一)——背景介绍

你可能感兴趣的:(银行知识,EMV,EMV,L2行业规范学习)