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

来源:互联网 发布:windows 2008ntp服务器 编辑:程序博客网 时间:2024/05/08 16:06

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

一. AFL:Application File Locator

二. 所用到的命令为 Read Record

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

 

卡片回复的数据格式为:

 

三. 例子

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 259F 61 01 209F 62 01 005F 201A 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 2090 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规范(一)——背景介绍

原创粉丝点击