【EMV L2】Select PSE应用选择相关的卡片数据格式
The data field of the response message contains the FCI specific to the selected PSE, DDF, or ADF.
一)Select PSE命令,卡片响应的数据结构如下:

一般可以这么理解,Select PSE相当于选择目录,响应数据则表示选择的这个目录的概要信息;
响应数据必须包含SFI,然后通过ReadRecord命令(传入SPI)来读取这个目录的详细信息;
例如:
选择PSE的命令:
00 A4 04 00 0E 31 50 41 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 44 44 46
30 31 A5 12 88 01 01 5F 2D 08 7A 68 65 6E 66 72
64 65 9F 11 01 01 90 00
解释以上卡片响应数据,得到6F模板:
[6F]
84 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31
A5 12 88 01 01 5F 2D 08 7A 68 65 6E 66 72 64 65
9F 11 01 01
解释[6F]模板,得到[84]和[A5]模板:
[84]
31 50 41 59 2E 53 59 53 2E 44 44 46 30 31
[A5]
88 01 01 5F 2D 08 7A 68 65 6E 66 72 64 65 9F 11
01 01
解释[A5]模板,得到各个数据域:
[88]
01
[5F2D]
7A 68 65 6E 66 72 64 65
[9F11]
01
由此,我们可以的到[88]数据域(SFI),然后再通过Read Record命令,读取Payment System Directory目录的详细信息;
Read Record命令返回的数据结构如下:

例如:
Read Record命令:
00 B2 01 0C 00
卡片的响应:
70 5D 61 18 4F 07 A0 00 00 00 03 10 10 50 0A 56
49 53 41 43 52 45 44 49 54 87 01 81 61 26 4F 07
A0 00 00 03 33 01 01 50 0B 50 42 4F 43 20 43 72
65 64 69 74 87 01 82 9F 12 0A 50 42 4F 43 20 44
45 42 49 54 61 19 4F 08 A0 00 00 03 33 01 01 03
50 0A 50 42 4F 43 43 52 45 44 49 54 87 01 03 90
00
解释以上响应数据,我们可以得到三个[61]模板:
[61]
4F 07 A0 00 00 00 03 10 10 50 0A 56 49 53 41 43
52 45 44 49 54 87 01 81
[61]
4F 07 A0 00 00 03 33 01 01 50 0B 50 42 4F 43 20
43 72 65 64 69 74 87 01 82 9F 12 0A 50 42 4F 43
20 44 45 42 49 54
[61]
4F 08 A0 00 00 03 33 01 01 03 50 0A 50 42 4F 43
43 52 45 44 49 54 87 01 03
其中,每一个[61]模板为一个Directory Entry(ADF);
ADF的数据结构如下:

例如,我们解释上面的第2个[61]模板:
[61]
4F 07 A0 00 00 03 33 01 01 50 0B 50 42 4F 43 20
43 72 65 64 69 74 87 01 82 9F 12 0A 50 42 4F 43
20 44 45 42 49 54
最后可以得到ADF Name、Application Label、Application Preferred Name、API数据域如下:
[4F]
A0 00 00 03 33 01 01
[50]
50 42 4F 43 20 43 72 65 64 69 74
[87]
82
[9F12]
50 42 4F 43 20 44 45 42 49 54
二)Select DDF,卡片响应的数据结构如下:

三)Select ADF,卡片响应的数据结构如下:

【EMV L2】Select PSE应用选择相关的卡片数据格式的更多相关文章
- CSS自定义select下拉选择框(不用其他标签模拟)
今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...
- jSP的3种方式实现radio ,checkBox,select的默认选择值。
jSP的3种方式实现radio ,checkBox,select的默认选择值.以radiao 为例:第一种方式:在jsp中使用java 脚本,这个方法最直接,不过脚本太多,不容易维护<%Stri ...
- 如何实现select组件的选择输入过滤作用
实现select组件的选择输入过滤作用的js代码如下: /** *其中//******之间的部分显示的是在没有选择输入过滤功能的代码上加入的功能代码 ** / (function ( $ ) { $. ...
- [jQueryUI] – Chosen:select下拉选择框美化插件及问题
Chosen 是一个支持jquery的select下拉框美化插件,它能让丑陋的.很长的select选择框变的更好看.更方便.不仅如此,它更扩展了select,增加了自动筛选的功能.它可对列表进行分组, ...
- select根据text选择项与select其它操作
// 6.设置select中text="paraText"的第一个Item为选中 function jsSelectItemByValue(objSelect, objItemTe ...
- List.Select按字符串选择属性
不知道大家有没有遇到这样的情况:List使用Lambda表达式的时候,想要选择项的某个属性列. 例如,选择编号ID: var idList=list.Select(o=>o.ID).ToList ...
- Randomize select algorithm 随机选择算法
从一个序列里面选择第k大的数在没有学习算法导论之前我想最通用的想法是给这个数组排序,然后按照排序结果返回第k大的数值.如果使用排序方法来做的话时间复杂度肯定至少为O(nlgn). 问题是从序列中选择第 ...
- JSP控制select不可再选择
首先分析下disable ,display和readonly: 1,Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效 ...
- JQuery select控件的相关操作
JQuery获取和设置Select选项方法汇总如下: 获取select 先看看下面代码: $("#select_id").change(function(){//code...}) ...
随机推荐
- 【转】IIS请求筛选模块被配置为拒绝超过请求内容长度的请求
HTTP错误404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求,原因是Web服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值(IIS 7 默认文件上传大 ...
- Oracle查看存储过程最后编辑时间
场景:我们在实现一个需求编写存储过程时,在正式上线前,总会有多个修改版本,时间一长可能发现一个过程甚至有5个以上的版本,如果没有添加注释自己都分不清哪个版本是最新的,这时就可以通过查看该存储的最后编辑 ...
- FtpWebRequest.UsePassive属性:设置FTP工作模式
默认值:true,被动模式 PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路. 当需要传送数据时, 服务器在命令链路上用PASV ...
- 8款非常不错的.Net反编译利器
本人搜集了下8款非常不错的.Net反编译利器: 1.Reflector Reflector是最为流行的.Net反编译工具.Reflector是由微软员工Lutz Roeder编写的免费程序.Refle ...
- elk的一些零碎知识
1.elasticsearch检查是否健康 http://12.20.511.141:9200/_cat/health?v 绿色表示一切正常, 黄色表示所有的数据可用但是部分副本还没有分配,红色表示部 ...
- Java中的静态和枚举
一.静态成员 对静态成员最简单的解释,静态成员属于整个类而不属于某个对象,所以又叫做类变量.一个类不管创建多少个实例对象,静态变量在内存中有且只有一个(调用方法用类名调用). 通常的非静态变量称为实例 ...
- CodeForce-955C
C. Sad powerstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutput ...
- spring boot 连接多个数据源
在springboot中有需要连接多个数据源的情况. 首先配置文件application.properties中添加两个数据源连接字符串 mybatis.type-aliases-package=co ...
- springboot+mybatis+thymeleaf项目搭建及前后端交互
前言 spring boot简化了spring的开发, 开发人员在开发过程中省去了大量的配置, 方便开发人员后期维护. 使用spring boot可以快速的开发出restful风格微服务架构. 本文将 ...
- bean shell 中parameter传递参数的方法
1.在csv set data config中添加用到的数据文件,并进行配置 2.在这一栏中,可以引入数据文件中的数据,用法如下${变量名},多个变量用空格隔开.在脚本中进行引用时,采用bsh.arg ...