好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

PBOC2.0培训课件二:应用选择、初始化、读数据.doc

5页
  • 卖家[上传人]:汽***
  • 文档编号:384364122
  • 上传时间:2022-11-10
  • 文档格式:DOC
  • 文档大小:255KB
  • / 5 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1. 应用选择(M)卡片的文件结构IC 卡操作系统(COS)的文件系统是三层的物理结构,即由主控文件(MF,Master File)、专有文件(DF,Dedicated File)和基本文件(EF,Elementary File)组成一个类似于DOS的层次结构MF主控文件是整个文件系统的根通过个人化建立起来的主控文件包括文件控制参数和文件安全属性等信息DIR文件就一个AEF文件(亦即EF),通过Read Record命令读到一个ADF是一个应用或者是一组应用(贷记,借记,电子现金)EF基本文件存储了各种应用的数据和管理信息卡片支持的应用选择方式:1.目录选择(可选) 2.AID选择(必须)目录选择法:在IC卡上,支付系统环境起始于一个名为“ 1PAY.SYS.DDF01” 的目录定义文件(DDF)支付系统目录是一个线性EF文件,用1到10的短文件标识符(SFI)标识从记录号1开始读直到返回6a83,该目录附属于DDF,目录的SFI包含在DDF的文件控制信息中支付系统目录中的每一个记录都是一个结构数据对象,其值由如下所示的一个或多个目录的入口组成每个记录的格式:BuildListByDDF(char *DDF)  {  选择PSE(DDF);  读取SFI    While(读SFI中的记录不返回6A83)   {   If(取tag70成功)     {            If(取tag61成功)     {   If(取到的入口是4F )              {                对比终端AID,如果一致(部分匹配或完全匹配),就加入候选列表;               }              else If(取到的入口是9D)               {                      BuildListByDDF(9D的DDF值);//注意这里递归             }         }   }  }实例命令:C:00AEEER: 6F 15 84 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 03 88 01 01 90 00C:00b2010c00R: 70 28 61 26 4F 08 A0 00 00 03 33 01 01 01 50 0A 50 42 4F 43 20 44 45 42 49 54 9F 12 0A 50 42 4F 43 20 44 45 42 49 54 87 01 01 90 00C:00a A0 00 00 03 33 01 01 01R:6F 45 84 08 A0 00 00 03 33 01 01 01 A5 39 87 01 01 5F 2D 02 7A 68 50 0A 50 42 4F 43 20 44 45 42 49 54 9F 11 01 01 9F 12 0A 50 42 4F 43 20 44 45 42 49 54 9F 38 09 9F 7A 01 9F 02 06 5F 2A 02 BF 0C 05 9F 4D 02 0B 0A 90 00AID选择法AID=RID(5B)+PIX(最大11B)终端按照终端应用列表中包含的每个应用都向卡片发送一个SELECT命令。

      如果卡片响应表示卡也支持该应用,则终端把该应用加入到候选列表步骤:卡片收到终端发来选择(SELECT)命令,命令包括终端支持的应用列表中的 AID卡片检查是否卡片中有匹配的 AID 应用(卡片 AID 长度可以长于终端 AID,但仍然认为匹配) AID匹配的例子 ——如果 AID 匹配,卡片响应选择(SELECT)命令指明卡片支持此应用(SW1 SW2=“9000”); ——如果卡片找不到匹配的 AID,卡片响应状态字 SW1 SW2=“6A82”指明应用没找到; ——如果卡片锁定或不支持选择(SELECT)命令,卡片响应状态字 SW1 SW2=“6A81”指明交易应被中止——如果匹配的卡片 AID 长度比终端 AID 长,卡片在选择(SELECT)命令响应信息中返回完整的 AID 给终端 如果两者的AID相同,也返回完整的AID给终端——卡片接收终端发来的第 2 个选择(SELECT)命令,参数 P2 设置为“02”表明卡片要选择有同样 AID 的下一个应用; ——卡片选择下一个应用并在选择(SELECT)命令响应中提供这一应用给终端; ——当卡片不再有应用有此 AID,卡片响应“6A82”表明所有匹配的应用都已经选择。

      实例命令:C:00a A0 00 00 03 33 01 01 01R:6F 45 84 08 A0 00 00 03 33 01 01 01 A5 39 87 01 01 5F 2D 02 7A 68 50 0A 50 42 4F 43 20 44 45 42 49 54 9F 11 01 01 9F 12 0A 50 42 4F 43 20 44 45 42 49 54 9F 38 09 9F 7A 01 9F 02 06 5F 2A 02 BF 0C 05 9F 4D 02 0B 0A 90 00C:00a A0 00 00 03 33 01 01R:6F 45 84 08 A0 00 00 03 33 01 01 01 A5 39 87 01 01 5F 2D 02 7A 68 50 0A 50 42 4F 43 20 44 45 42 49 54 9F 11 01 01 9F 12 0A 50 42 4F 43 20 44 45 42 49 54 9F 38 09 9F 7A 01 9F 02 06 5F 2A 02 BF 0C 05 9F 4D 02 0B 0A 90 002. 应用初始化(M)PDOL:9F 38 099F 7A 01 电子现金指示器(0-不支持 1-支持)9F 02 06 授权金额5F 2A 02 货币代码C:80A80000Lc 80Lc+DataR:80 Lc+AIP(2B)+AFL(4B一组)00aA010180 12 7C 0008 01 02 00 10 01 04 01 用于静态数据认证的记录数20 01 03 00 28 01 01 00 90 003. 读应用数据(M)08 01 02 00 08 SFI01~020010 01 04 01 存放认证用静态数据记录的个数20 01 03 00 28 01 01 00 SFI+记录号范围+是否用于数据认证静态数据认证:第一步, CA(认证中心)公钥+发卡行公钥证书+RSA算法 = 发卡行公钥第二步,发卡行公钥+签名的静态应用数据+RSA算法 = 数据A数据A主要包括两部分重要的数据, 一部分我把它叫做数据A1, 另外一部分叫哈希结果A.第三步,A1+终端在读数据阶段读到的需要参与认证的静态数据+Hash算法 = 哈希结果B。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.