PBOC/EMV 部分技术要点摘录

IC卡读PBOC指令交互过程 IC卡读PBOC指令交互过程 选择PSE支付环境文件 操作 数据 发送指令 00A404000E315041592E5359532E444446303100 卡片返回数据 6F22840E315041592E5359532E4444463031A5108801015F2D027A68BF0C059F4D020B0A9000 数据解析: 6F: FCI(File Control Information)模板 84:DF名称 A5:FCI专用模板 88:目录基本文件的SFI (高三 阅读详情

这两天调NFC,查阅了不少IC卡访问的资料,为了整理总结,以及以后查阅,把一些看到的要点摘录下来.

1. 一些缩略语

IFD InterfaceDevice 接口设备,即读卡器

APDU   应用协议数据单元(ApplicationProtocol Data Unit)

R-APDU  响应APDU(Response APDU)

TPDU   传输协议数据单元(Transport Protocol Data Unit)

ADF    应用定义文件(ApplicationDefinition File)

ASI   应用选择指示器(Application Selection Indicator)

ATR   复位应答(Answer to Reset)

PSE   支付系统环境(Payment System Environment)

RID  注册的应用提供商标识(Registered Application Provider Identifier)

SFI  短文件标识符(Short File Identifier)

FCI  文件控制信息(File Control Information)


2. 应用标识

标识应用首先是PSE,在PBOC下面,应该就是1PAY.SYS.DDF01了

下面就是应用标识符AID,由RID/PIX定义,RID为厂商标识,PIX则由厂家定义其应用.

然后还有应用标签,EMV规定为必备数据,用于应用选择,与AID相关的便于记忆的数据 此处为PBOC Credit

最后还有应用首选名称.

选择应用,首先是选择PSE,然后通过读取RECORD,获得AID列表.这之后可以进一步选择要操作的应用,通过AID选择.


对于指令的SW12,有以下一些数值:

    public static final short SW_NO_ERROR = (short) 0x9000;
    public static final short SW_BYTES_REMAINING_00 = 0x6100;
    public static final short SW_WRONG_LENGTH = 0x6700;
    public static final short SW_SECURITY_STATUS_NOT_SATISFIED = 0x6982;
    public static final short SW_FILE_INVALID = 0x6983;
    public static final short SW_DATA_INVALID = 0x6984;
    public static final short SW_CONDITIONS_NOT_SATISFIED = 0x6985;
    public static final short SW_COMMAND_NOT_ALLOWED = 0x6986;
    public static final short SW_APPLET_SELECT_FAILED = 0x6999;
    public static final short SW_WRONG_DATA = 0x6A80;
    public static final short SW_FUNC_NOT_SUPPORTED = 0x6A81;
    public static final short SW_FILE_NOT_FOUND = 0x6A82;
    public static final short SW_RECORD_NOT_FOUND = 0x6A83;
    public static final short SW_INCORRECT_P1P2 = 0x6A86;
    public static final short SW_WRONG_P1P2 = 0x6B00;
    public static final short SW_CORRECT_LENGTH_00 = 0x6C00;
    public static final short SW_INS_NOT_SUPPORTED = 0x6D00;
    public static final short SW_CLA_NOT_SUPPORTED = 0x6E00;
    public static final short SW_UNKNOWN = 0x6F00;
    public static final short SW_FILE_FULL = 0x6A84;


3. ADF,DDF,MF, DF和EF

MF, DF和EF这三个其实是iso7816里的概念. 是7816里规定的卡的文件结构. 这种文件结构是一种树形的结构. MF 可以理解为根目录,DF是目录,EF当成是目录里的文件. 所以MF其是也是一种DF,只不过是最上层的DF.

而ADF,DDF和AEF是PBOC/EMV里的概念. PBOC/EMV里定义的IC卡文件结构是符合ISO7816标准的. ADF和DDF其实是DF的两种映射,而AEF是EF的映射. 程序访问时,访问的是ADF,DDF和AEF, 而不是DF和EF. 这种机制非常像操作系统的地址访问, 我们的程序不能访问系统的物理地址,而只能访问由这个物理地址映射的虚拟地址,而同一个物理地址可以是映射到不同的虚拟地址. 所以我们可以把DF, EF 理解成是物理文件结构,而ADF,AEF理解成虚拟的可供程序访问的文件结构.

ADF与DDF有什么区别呢? 简单来说,ADF就已经可以标识一个或一组应用(为什么有一组应用,因为有部分AID匹配, 具体可参考PBOC/EMV文档), 因为它就是应用的入口文件. 而DDF是个目录入口, 它下面有ADF,也有可能还是DDF, 当然也可能什么都没有, 总之它是一个目录. ADF用ADF名来标识应用, ADF名也就是AID. 一个AID代表一个应用,比如电子钱包应用,借记应用,贷记应用等等. AID 是由ISO这种组织来分配. 它分为两个部分, 前面是五个字节的RID, 这个用来唯一标识应用提供商, 后面最长是11字节的PIX., 用来标识某个专有应用, 它由应用提供商定义. 举例来说, ISO可能分给mastercard公司一个RID, 就叫A000000002(5个字节)吧, 然后master-

card 公司再用PIX定义一些应用,比如电子钱包, 假设它是0001吧. 我们如果看到一个AID是A0000000020010, 就知道这是master-card 定义的电子钱包应用.事实上一个符合EMV/PBOC L2标准的终端程序,就是以这些AID为中心在运行,简单说就是找到一个应用,然后处理(处理的过程可就复杂了).


4. TAG顺序

[70] [2d] 
[61] [2b] 
[4f] [07] [a0] [00] [00] [03] [33] [01] [01] 
[50] [0b] [50] [42] [4f] [43] [20] [43] [72] [65] [64] [69] [74] 
[87] [01] [01] 
[9f] [12] [0f] [43] [41] [52] [44] [20] [49] [4d] [41] [47] [45] [20] [30] [30] [30] [31] 
[90] [00] SELECT GET END dd

格式中的TAG顺序可以不是固定的. 比如说,上述数据中,tag ‘4F’可以出现在’50’之后等等.


PBOC/EMV-交易流程详解--POS与卡片的数据交互进行分析 符号说明: RFU:预留使用 近期在调试pboc的交易,就萌生了把所有数据交互进行分析的想法,目的是抛砖引玉,希望有高手指正本文错误,或者理解不透彻的地方。 事不宜迟,下面是pboc交易的开始: 检测插片,检测卡片存在后: (1):选择支付环境pse:1PAY.SYS.DDF01 选择(SSELECT)报文,00 A4 xx(通过命令选择) xx(第一个或仅有一个) 阅读详情

相关推荐

Visa EMV 3DS厂商名单

经过visa认证的3ds厂商名单,全球各区域

PSE选择

PSE选择 使用PSE进入应用,称为目录(文件名)选择。 PSE名称:1PAY.SYS.DDF01  (315041592E5359532E4444463031)   步骤1: 终端通过使用选择( SELECT) 命令来选择文件名为“1PAY.SYS.DDF01”的支付系统环境而 开始,由此建立支付系统环境并进入初始目录。   注意:发送选择PSE命令,卡片返回6A81(卡被锁定或

成为自己 3105

PBOC电子钱包应用Applet源程序

PBOC电子钱包应用Applet源程序 PBOC电子钱包应用Applet源程序

AID-应用标识符的组成规则

AID:即唯一标识一个应用,分为两部分,RID(5字节)+PIX(最多11字节) RID:注册标识符,由ISO组织来分配,标识一个全球唯一的应用提供商,一般是分配给卡组织,比如分配给Master,比如分配给银联,我们遵循的是PBOC规范,分配到的RID=A000000333 PIX:扩展应用标识符,一般是由应用提供商自己定义,比如我们银联定义的借记应用的PIX=010101,贷记应用的PIX...

weixin_30587927的博客 1135

基于FaceX-Zoo实现的Face Mask Adding人脸戴口罩

人脸系列文章目录 文章目录人脸系列文章目录前言一、加口罩效果二、实现原理二、代码实现 前言 目前人脸加口罩均为在人脸位置贴图式的,非常不真实。前段时间京东开源一个基于PRnet实现的3D口罩拟合人脸,加口罩非常逼真,但是只是单独一个加口罩demo,没有完整的流程。于是本人结合人脸检测,关键点对齐。PRnet加口罩实现一个完整的加口罩流程。只需一个命令简单方便调用,实现人脸加口罩。 https://github.com/JDAI-CV/FaceX-Zoo 一、加口罩效果 下图可以看出效果还是非常逼真的

zengwb的博客 3390

Workbuddy+DeepSeek V4傻瓜流配置全指南:API接入、模型切换与Agent实战

AI编程助手的核心价值不在于模型本身,而在于如何稳定、安全、低门槛地调用其能力。Agent作为智能体范式,依赖可靠的运行时环境与标准化API通信;DeepSeek V4系列凭借高吞吐、低延迟和强工具调用支持,成为当前生产级Agent的理想引擎。Workbuddy则通过本地配置管理、环境变量注入与UTF-8无BOM容错等工程设计,将复杂部署简化为可复现、可版本化、可团队协同的实践流程。本文聚焦API接入路径下的真实卡点——从Key获取验证、models.json字段语义到沙箱权限控制,覆盖开发者在Window

weixin_33702545的博客 2384

rfid sim卡 android,手机专用SIM卡的非接触移动支付技术标准之争:NFC vs RFID

手机专用SIM卡的非接触移动支付技术标准之争:NFC vs RFID2016-06-30 18:43:2873点赞235收藏65评论前言:现在市面的线上移动支付最火的两种付款方式是微信支付和支付宝支付,在线下移动支付的主流技术目前是被分成了两个主要流派:NFC和RFID。其中NFC技术更多偏向于近距离的非接触感应,RFID技术则是更偏向于中远距离的非接触感应。基本上现今的SIM芯片内置较为普遍的是...

weixin_26872803的博客 2840

Sentinel-1 Burst数据处理避坑实录:从aria2c报错到wget脚本救场

本文详细介绍了Sentinel-1 Burst数据处理的完整解决方案,从下载困境到高效处理技巧。针对aria2c报错等常见问题,提供了增强版wget脚本和智能分组方法,显著提升下载成功率和处理效率,特别适合科研机构和企业级网络环境下的哨兵数据处理需求。

weixin_42641998的博客 284

APDU数据格式的使用

APDU(应用协议数据单元)是智能卡通信中的基本数据单位,分为命令APDU(C-APDU)和响应APDU(R-APDU)。C-APDU包含CLA、INS、P1、P2等指令字段,R-APDU包含响应数据和状态字SW1-SW2。常见的状态字包括9000(成功)、6982(需要PIN验证)、6A86(参数错误)等,用于指示操作结果。APDU作为协议数据单元,在不同网络层次对应不同形式,如数据位、帧、包等。该协议定义了智能卡与终端间的标准通信格式和状态响应机制。

RollingPin的博客 532

1014. 福尔摩斯的约会 (20)-PAT乙级真题

1014. 福尔摩斯的约会 (20) 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧!3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间“星期四 14:04”,因为前面两字符串中第1对相同的大写英文字母(大小写有区分)是第4个字母’D’,代表星期四;第2对相同的字符是’

柳婼 の blog 2646

腾讯文档API逆向分析:不用Selenium也能批量导出的黑科技

本文揭秘了如何通过Python逆向分析腾讯文档的隐藏API,实现无需Selenium即可批量导出在线表格的高效方法。详细解析了API调用流程、Cookie维护及异常处理技巧,相比传统方案性能提升显著,适用于大量文档导出的自动化场景。

h9j8k7l6m5n的博客 1202

PBOC规范研究之七 ----应用选择(转)

PBOC3.0里选择应用总是从选择PPSE开始的,称为支付系统环境。对于非接触卡,选择的字符系统环境为1PAY. SYS. DDF01,而对于非接触卡选择的支付系统环境为”2PAY.SYS.DDF01” PBOC支持两种搜索目录的方式:第一种为目录选择方式,第二种为AID列表选择方式,现在就对这两种方式分别介绍。在介绍之前,大家必须实现知道两个专用术语: “AID”用于终端上的应用标识符...

weixin_34228662的博客 465

对比实验系列:Efficientdet环境配置及训练个人数据集

可以通过下方链接下载Efficientdet源码。

Yayisheng的博客 4586

【IoT】NFC CPU 卡 AID 应用标识符规范

应用标识 application identifier (AID),由注册的应用提供商标识(RID)以及专用应用标识符扩展(PIX)组成。 AID 用于唯一标识一个应用,分为两部分: RID(5字节) + PIX(最多11字节) 依据 GB/T16649.5 关于 AID 的规定,应用标识符(AID)编码如下所示: RID:应用提供者标识符(RID) 注册标识符,由ISO组织来分配,...

产品线负责人 7029

SAP S/4 FICO科目辅助余额表开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

SAP S/4 FICO科目辅助余额表开发说明书(包括测试样例、程序代码仅作参考,不保证一定可以运行)

我好像病了的博客 329

cesium 实现经纬线绘制和经纬度标注

废话不对数直接上线效果图及代码 1.效果图 2.实现代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width,initial-scale=

一碗老面的博客 2570

NFC卡模拟主流支付APP及卡商使用的AID列表

‍NFC卡模拟HCE 主流卡 AID

scyangwei的专栏 3659

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

NFC Antenna Tool,便捷的 NFC 电路 和 NFC 线圈设计工具

NFC设计小帮手。

星达拉的博客 3万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

银联AID

应用标识 application identifier;AID 由注册的应用提供商标识(RID)以及专用应用标识符扩展(PIX)组成 AID:即唯一标识一个应用,分为两部分,RID(5字节)+PIX(最多11字节) RID:注册标识符,由ISO组织来分配,标识一个全球唯一的应用提供商,一般是分配给卡组织,比如分配给Master,比如分配给银联,我们遵循的是PBOC规范,分配到的RID=A000000333 PIX:扩展应用标识符,一般是由应用提供商自己定义,比如我们银联定义的借记应用的PIX=010.

azhangyi188的专栏 1698

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

PBOC规范研究之四、文件结构及访问

来自:http://blog.sina.com.cn/s/blog_a20257d80101l9k5.html

tenfyguo的技术专栏 5152

PBOC

最近在做一个基于PBOC电子现金卡的终端应用, 项目还没有完成, 但电子现金部分的处理模块已完成,剩下的基本是UI和调试的事情了. 想把对PBOC电子现金理解整理成一篇文章. 电子现金的概念是在PBOC规范的第十三部分>里提出的。可以这样理解,电子现金是PBOC里的一个应用,它基于借贷记. 这个应用被提出的目的就是实现我们经常听说的一个功能, 小额支付功能. 基于电子现金的卡目前来讲,

u013318715的专栏 3506

SIM卡相关知识介绍

SIM卡(Subscriber Identity Module)是一种用于存储移动电话用户身份信息的智能卡,它是移动通信系统中的重要组成部分。SIM卡主要由微处理器CPU、程序存储器ROM、工作存储器RAM、数据存储器EEPROM和串行通信单元组成。SIM卡中微处理器CPU是整个系统的核心部件,主要完成数据处理、指令接收和任务分配等操作;程序存储器ROM主要用于存放系统程序,用户不可更改;工作存储器RAM主要用于存放正在运行的程序,如通话记录、短信等;

modem 9637

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

读应用数据的目的是为了从卡片中获取后续交易需要的数据。例如,在脱机数据认证时,需要的认证数据,等。步骤:根据应用初始化时,由GPO命令返回的卡片数据中的AFL,来读取卡片数据。 一. AFL:Application File Locator 二. 所用到的命令为 Read Record 终端发送的命令格式为:  Record number:记录号   卡片回复的数据格式为:

123,Go 3605

PBOC卡片应用分析(四)非接触式IC卡规范

感谢@JulyClyde同学友情提供的工商银行闪酷钥匙扣,支持银联的闪付功能。卡片内的电子现金余额已经被圈提干净,余额应该是0。现在使用PC/SC的读卡器配合麻工强大的Snooper进行测试。 首先选择PPSE. 1.SELECT Command:00A404000E 325041592E5359532E4444463031 Response:6F2E840E325041592E5

a100501102的专栏 2410

PBOC2.0终端规范与EMV规范的区别

已经找不到原出处了,整理了一下,正文如下: PBOC2.0终端规范与EMV规范的区别   1.  应用选择 PBOC规定目录(PSE)选择方法必须支持。EMV对目录选择方法可选 2.  持卡人验证 ·        PBOC规范不支持EMV中的脱机密文PIN验证。 ·        PBOC规定“当IC卡读卡器和密码键盘分离时(即密码键盘外置),为了PIN安全,终端应该在

简单 & 执着 4314
下一篇: PBOC/EMV通讯中常用标签
耕耘点滴
博客等级 码龄20年 4粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值