1:支付系统环境结构

  在IC卡上,支付系统环境起始于一个名为“1PAY.SYS.DDF01”的目录定义文件(DDF)。
该DDF在IC卡上是否存在是可选的,但如果存在。如果这个DDF存在,那么这个DDF

被映射到卡中的某个DF,这个DF可以是MF,也可以不是。该DDF应该包含一个支付系统目录。

图1:单应用的卡片简单结构

图2:单层目录

2:支付系统目录编码
  
  支付系统目录(以下简称目录)是一个线性EF文件,用1到10的短文件标识符(SFI)标识。
目录可以使用读记录(READ RECORD)命令进行读取。一个记录可以包含几个入口地址,
但一个入口地址只能封装在一个记录中。支付系统目录中的每一个记录都是一个结构数据对象,
其值由如下所示的一个或多个目录的入口组成。每个记录的格式见表1。

表1:支付系统目录记录格式

支付系统目录记录中应当不包含任何通往DDF的入口。如果终端在处理这些记录时遇到了DDF的入口,终端可以忽略这些入口或者处理这些入口。
  支付系统目录中的每一个入口都是一个应用模板(标签”61”),除了在模板‘73’中包含的数据元,任何附加数据元都不能在支付系统目录记录(标签‘70’)中出现。
由于终端不支持任何发卡行特定操作而未预期的或不能解释的,在支付系统目录记录中出现的模板‘61’或‘73’数据元,都应该被忽略。任何没有封装在目录记录的应用模板(标签 61)
当中的数据对象或其它在目录入口中出现但是没有在表2中列出的数据对象都应该被忽略。

表2:ADF 目录入口格式

表3:应用优先权标识符格式

3:FCI 响应数据错误处理

  应用标签、应用优先名称、发卡行代码表索引和首选语言这些数据元是为了持卡人的方便而给出的,
不是应用选择成功处理的关键数据元。如果在FCI中给出了这些数据元,发卡行将负责它们的正确编码。
终端无需支持这些数据元的正确格式。如果应用优先名称或应用标签中包含了某一无效的格式定义
的字符,那么如果终端能显示出这个字符,终端应显示这个字符,如果终端不能显示这个无效字符,终
端应忽略该字符或以空格或其它相近字符代替。另外,如果终端检测到这些数据元中任意一个数据元的
格式错误,终端应忽略这些错误,就如卡片响应中未包含这些数据元一样。更重要的是,终端不应终止
卡片操作,而应继续进行应用选择。如果终端不能识别“发卡行代码表索引”或“首选语言”的代码,
它应将该数据元视为不存在。

4:使用支付系统目录

终端使用目录方法的步骤:
1:终端通过使用选择(SELECT)命令来选择文件名为“1PAY.SYS.DDF01”的支付系统环境而开始,由此建立支付系统环境并进入初始目录。
如果卡被锁定或者选择(SELECT)命令不支持(这两种情况都会回送状态字SW1 SW2 =“6A81”),终端必须中断选择过程。
如果IC卡上没有PSE,那么IC卡应该对PSE的选择(SELECT)命令回送状态字“6A82”(文件没有找到)。终端必须应用列表的方式。
如果PSE被锁定,IC卡应该回送状态字“6283”。使用应用列表的方式。
如果IC卡回送状态字SW1 SW2 =“9000”,终端则转入步骤2。
如果在步骤2到步骤5中出现任何错误(包括SW1 SW2 ≠“90 00”,“6A 83”),终端应清除候选列表并使用应用列表方式重新进行应用选择,以寻找匹配的应用。

2:终端使用卡片返回的FCI中的目录SFI,从目录的第1条记录开始,连续读取后续记录,直到卡回送状态字SW1 SW2=“6A83”,
表示所请求的记录序号已不存在(如果读记录(READ RECORD)命令中记录号大于文件的最后一条记录号时,卡应该回送状态字“6A83”。
如果在执行读记录(READ RECORD)命令查找第1个记录时,卡回送状态字“6A83”,则表示目录入口为空,转到下面的步骤5。
对于目录中的每一条记录,终端从第一个目录入口开始,依次对每个目录入口顺序执行步骤3和步骤4所描述的过程。
如果某条记录中不含有目录入口,则终端处理下一条记录。

3:如果该入口对应某一ADF,且ADF名与终端支持的一个应用相匹配则在应用选择指示器(ASI)
(保存在终端中,与该AID对应)的控制下将该应用列入最终应用选择的―候选列表中。
应用选择指示器(ASI)表明终端的应用标识符应完整匹配(长度和值都相同)还是只需部分匹配卡片中相关的ADF名(标签为‘4F’)。
在下面任一种情况下,该应用将被选入候选列表:
获得的入口中的 ADF 是完整匹配,或者对应终端中该 AID 的应用选择指示器(ASI)表明允许部分名称匹配。
如果得到的ADF入口不是完整匹配,并且终端AID的应用选择指示器表明须要完整匹配时,应用不能被加入候选列表。

4:当终端处理完最后一个记录中的所有入口后,所有能够按此方法找到的ADF就被确定了,查找和产生候选列表的工作完成。

5:如果步骤1到步骤4中没有发现与终端支持的应用所匹配的目录入口,终端应该使用12.3.3条所
描述的使用应用列表的方式来寻找匹配的应用。

使用 AID 列表
如果卡片或终端有一方不支持PSE方法或者终端使用PSE目录没有找到匹配的应用,
那么终端应使用它所支持的应用列表的方法建立候选列表。

终端执行以下步骤:
1:终端使用其列表中的第一个AID8作为文件名发出选择(SELECT)命令。
2:如果卡被锁定或者选择(SELECT)命令不支持导致选择(SELECT)命令失败(IC卡回送状态字SW1 SW2=“6A81”, 终端将中断选择过程。
3:如果选择(SELECT)命令执行成功(SW1 SW2=“9000”或“6283”,终端应比较AID和卡)返回的FCI中的DF名。
DF名应该同AID相同(包括长度),或者DF名以AID为开始并且长度大于AID。如果DF名比AID长,卡将进行部分名称选择处理。
如果DF名同AID相同,终端应进入到步骤4。如果进行了部分名称选择,终端应进入步骤6。如果终端返回其它状态,应进入步骤5。
4:如果选择(SELECT)命令成功(SW1 SW2=“9000”,终端应将所选择文件的FCI信息添加到)候选列表中 并进入步骤5。
如果应用已锁定(SW1 SW2 =“6283”,终端应直接进入步骤5而不将DF名)添加到候选列表。
5:终端使用其列表中的下一个AID发出另一个选择(SELECT)命令,回到步骤3。如果列表中没有剩余的AID,那么候选列表建立完成。
6:对应于AID列表,终端还保存了表明卡是否允许有多个应用匹配的应用选择指示器。终端在选择应用时会检查该指示符。
如果指示符表明需要完整匹配(包括长度和名称),那么终端将不会把文件添加到候选列表,而是进入步骤7。如果允许多应用匹配,那么部分名称匹配即可。
如果应用没有锁定(SW1 SW2 =“9000”),终端将会添加FCI信息到候选列表,然后进入步骤7。如果允许多应用匹配但是应用已锁定(SW1 SW2 ≠“9000”),
则终端应直接进入步骤7而不将FCI信息添加到候选列表。终端使用与之前相同的命令数据,但将命令中的 P2 参数设置为 02(―选择下一个),重复发出选择
(SELECT)命令,如果 IC 卡返回状态字 SW1 SW2=“9000”“62XX”,,或者“63XX” 然后回到,步骤 3。如果返回其它状态字,终端转到步骤 5。

最终选择
当终端确定了卡与终端共同支持的应用列表之后,就进行如下处理:
1) 如果没有共同支持的应用,交易终止。
2) 如果只有一个共同支持的应用,则如果有应用优先级标识符(API) 终端检查该应用的应用,
优先级标识符的b8位。如果b8=‘0’,则终端选择该应用。如果b8=‘1’并且终端提供持卡人的确认功
能,终端即请求持卡人确认。如持卡人确认,则选择该应用。如果终端不提供持卡人的确认功能,或终
端请求确认而持卡人拒绝,则终端终止该交易过程。
3) 如果有多个共同支持的应用,则可以按照步骤4中的描述显示列表供持卡人选择,或者按照步
骤5的描述自动完成选择。步骤4是首选的方法。
4) 如果向持卡人显示列表,则该列表应该按照级别优先的顺序排列,高优先级的应用应该在前。
如果卡上没有指定应用的优先顺序,则以终端的应用优先顺序为准,如果终端也没有指定应用的优先顺
序,则按照应用在卡中出现的顺序为准。如果出现多个应用有相同的优先级,或某个入口缺少应用优先
级标识符的情况,也可采用类似的方法。也就是说,在这种情况下,终端可以使用自己的优先顺序,也
可以按卡上应用出现的的顺序将有重复优先级或没有优先级的应用显示出来。
5) 终端可以无需持卡人的介入而直接选择应用。在这种情况下,终端从共同支持的应用列表中选择优先级别最高的应用。
如果终端不提供持卡人对选择的应用确认,则那些不经过持卡人确认就不能选择的应用(应用优先级标识符的b8=‘1’)应从可选列表从删除。
一旦终端或持卡人确定了待执行的应用,则该应用应被选中。终端向该应用发出选择(SELECT)命令(按照第11章进行编码,使用建立候选列表时
得到的ADF名称(如果采用目录方式)或者FCI中的DF名(如果采用应用列表方式)作为数据域)。如果命令回送的状态字SW1 SW2≠“9000”,
或者选择命令的响应中有不同于12.2.4条所描述的格式错误,则此应用应该从候选列表中删除,然后回到步骤1。
如果持卡人选择或确认了某个应用,而随后该应用又因为应用锁定或其它原因被从候选列表中删除,
则应用不能在没有持卡人确认的情况下被选中。在任何情况下,终端应该在适当的时候提示持卡人相关动作的完成。

参考文档

PBOC3.0规范

起草时间
2015-10-22

PBOC文件系统详解2相关推荐

  1. NTFS文件系统详解(三)NTFS元文件解析

    NTFS文件系统详解(三)NTFS元文件解析 一. 分析$Boot文件 二.分析文件记录 1. MFT偏移地址计算 2. 文件记录的结构 3. 属性的属性头分析 4. 属性的属性体分析 NTFS文件系 ...

  2. linux根文件系统配置,Linux学习笔记__ Linux根文件系统详解

    Linux根文件系统详解 文件系统: rootfs:根文件系统 FHS:Linux boot:系统启动相关的文件,如内核.initrd.以及grub(bootloader) /dev: 设备文件 块 ...

  3. FATFS文件系统详解

    一.文件系统 负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统.即在磁盘上组织文件的方法. 常用的文件系统: FAT / FATFS NTFS: 基于安全性的文件系统,是Windows ...

  4. NTFS文件系统详解(二)MBR\EBR基本信息

    NTFS文件系统详解(二)MBR\EBR基本信息 一.MBR结构分析 1. 第一个分区表项 2. 第二个分区表项 3. 第三个分区表项 4. 第四个分区表项 二.EBR结构分析 1. 第一个分区表项 ...

  5. NTFS文件系统详解(一)硬盘基本信息

    NTFS文件系统详解(一)硬盘基本信息 一.硬盘的内部结构 1. 盘面号 2. 磁道 3. 柱面 4. 扇区 二.硬盘的分区结构 NTFS文件系统详解系列 一般硬盘正面贴有产品标签,主要包括厂家信息和 ...

  6. [自制操作系统] JOS文件系统详解支持工作路径MSH

    本文分为两部分: 第一部分将详细分析JOS的文件系统及文件描述符的实现方法. 第二部分将实现工作路径,提供新的系统调用,完善用户空间工具. 本文中支持的新特性: 支持进程工作目录 提供getcwd与c ...

  7. FastDFS 分布式文件系统详解

    FastDFS 分布式文件系统详解 什么是文件系统 文件系统是操作系统用于在磁盘或分区上组织文件的方法和数据结构.磁盘空间是什么样的我们并不清楚,但文件系统可以给我们呈现一个非常清晰的表象,我们可以创 ...

  8. Linux的proc文件系统详解

    引用自:http://bbs.chinaunix.net/thread-2002769-1-1.html Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它常见的文件系统不同的 ...

  9. Linux操作系统之文件系统详解

    目录 Linux内核中的五大子系统 1.文件系统的基本组成 2.常见文件系统的类型 1.硬盘的文件系统:file system 2.网络文件系统 3.交换分区的文件系统:swap Linux文件系统经 ...

最新文章

  1. 三、Qt Creator登录对话框
  2. 【Java_多线程并发编程】基础篇—线程状态及实现多线程的两种方式
  3. Android跨进程通信一 Messenger
  4. The IEEE 802.15.4 MAC layer
  5. php xml 格式化,php简单处理XML数据的方法示例
  6. BZOJ3172: [Tjoi2013]单词
  7. 课时2.浏览器和服务器(了解)
  8. 判断请求来自手机还是PC
  9. [剑指offer]面试题第[3]题[JAVA][从尾到头打印链表][栈]
  10. AirPods Pro 到底「Pro」在哪里?
  11. vue echarts动态数据定时刷新
  12. js 闭包与垃圾回收-待删
  13. 第一周 7.10-7.16
  14. CSS display 常用属性小结
  15. 软件测试 测试用例笔记
  16. CentOS好玩的代码
  17. html导出excel加边框,利用js对象Blob导出的excel,有办法把表格的边框给浮现出来...
  18. 快速非支配排序 python版
  19. Matlab学习篇之s-function
  20. 基于注意力机制的超分辨率重建汇总

热门文章

  1. Python-Super
  2. php echo webtitle,?php echo htmlspecialchars(stripslashes($rows['webtitle'])); ?
  3. OpenGLES/OpenGL 区别
  4. 雷凌2780 linux驱动下载,雷凌USB无线网卡驱动
  5. Downie 4.1.8 (4169) Mac 上视频下载工具
  6. MATLAB 报错需要一个数值或双精度可转换参数
  7. Spark Shuffle
  8. python大乐透号码生成器_国庆长假写了个体彩大乐透彩票号码生成器小程序
  9. 靶场笔记-covfefe
  10. PCI Express