ISO 8583 Parser
免费 · 完整速查 · 14 分钟 · 最后更新 2026-08-09
emv · de55 · 速查表

EMV 标签大全:DE55 常见 66 个标签的长度、格式与含义

本站解析器认识的全部标签,一页放完——按标签的用途分组,不按十六进制排序,另附裸看 TLV 的三条规则。

ISO 8583 报文的 DE55 装的是 EMV 芯片数据,编码方式是 BER-TLV:标签、长度、值,一段接一段。这一页是 DE55 里实际会遇到的 66 个标签的完整参考——标签集合和名称与本站解析器交互式标签查询完全一致。每个标签给出值长度、格式,以及它回答什么问题。位串类标签(TVR、AIP、TSI、CID、CVM Results、IAD、ATC)单独展开,每个都链到逐位解码的工具。

查表之前:先学会读 TLV

标签表要有用,前提是你能自己切出标签边界。三条规则覆盖 DE55 里的全部情况:

实战一段——GENERATE AC 响应的最小片段 771082023D00950500000080009F3602004B

字节怎么读
77 10标签 77:低 5 位 10111 不全为 1,单字节标签;第 6 位为 1,构造型。长度 10 = 内层还有 16 字节 TLV。
82 02 3D00标签 82(AIP),2 字节:3D00
95 05 0000008000标签 95(TVR),5 字节:只置了一位——超过终端限额(floor limit)。
9F36 02 004B9F 低 5 位全 1 → 标签延续:9F36(ATC),2 字节:004B = 第 75 笔交易。

把这串字符贴进 EMV TLV 解析器,得到的就是同一套拆法:1 个顶层标签、共 4 个标签,AIP、TVR、ATC 全部拆出。整段 DE55 当然是贴工具更快——这一节的意义是让工具的输出不再像魔法。

66 个标签,按用途分组

按你实际查表的场景组织:这个标签属于交易的哪个环节。格式约定:b = 二进制,n = 数字(BCD),cn = 压缩数字(BCD,F 补位),an / ans = 字母数字(含特殊字符),模板 = 构造型,值本身还是 TLV。字节数指值的长度,标签和长度字节另算。

应用选择与模板 (14)

卡片和终端为了敲定「跑哪个应用」而交换的一切。AID 是 5–16 字节的注册标识:前 5 字节 RID 标识卡组,后面可选的 PIX 标识产品——比如 A0000000031010 是 Visa 的主借贷记应用(常见值见 AID 查询)。模板类标签是「包装纸」:展开它,读里面的标签。

标签名称字节格式一句话说明
6F[模板]FCI 模板var模板SELECT 响应的外层模板,里面是 84 和 A5。
A5[模板]FCI 专有模板var模板FCI 的专有部分,内装 50、9F12、BF0C 等。
BF0C[模板]FCI 发卡行自定义数据≤222模板FCI 里发卡行自定义数据的容器。
61[模板]应用模板var模板支付目录中包住一条应用记录(AID+名称)的模板。
4F应用标识符 AID(卡片侧)5–16b选卡完成后卡片返回的应用标识,说明这笔交易跑在哪个芯片应用上。
9F06应用标识符 AID(终端侧)5–16b终端侧记录的 AID,在 DE55 里告诉发卡行终端选中了哪个应用。
50应用标签1–16ans卡片提供的应用可读名称,常打印在签购单上。
9F12应用优先名称1–16ans应用首选显示名称,终端能显示时优先于标签 50。
84专用文件名 DF Name5–16b被选中应用的专用文件名,支付应用中通常与 AID 相同。
9F0A应用选择注册专用数据 ASRPDvarbEMVCo 注册的应用选择附加数据,按注册条目解释。
70[模板]读记录响应模板≤252模板READ RECORD 从卡片文件读出的记录都包在这个模板里。
77[模板]响应报文模板格式 2var模板GPO / GENERATE AC 响应格式 2,值本身就是一串 TLV,照常展开。
80[模板]响应报文模板格式 1varb响应格式 1:字段按固定顺序拼接、没有内层标签——名字带「模板」,其实是原始型。
E1[模板]私有模板var模板私有模板,内部布局由定义方决定。

卡片数据 (15)

发卡行个人化时写进芯片的数据,每笔交易回来的都是同一批值。持卡人数据也在这一组——5A575F20 等同于卡号,属于 PCI DSS 管辖范围:DE55 进日志、工单、截图之前,先打码。

标签名称字节格式一句话说明
5A应用主账号 PAN≤10cn芯片里存的主账号。持卡人数据,日志和工单里必须打码。
57二磁道等效数据≤19b二磁道等效数据:卡号+有效期+服务码。与 5A 同级的持卡人数据,同样要打码。
5F20持卡人姓名2–26ans个人化时写入卡片的持卡人姓名。
5F24应用失效日期3n 6应用失效日期 YYMMDD,终端据此判断芯片应用是否过期。
5F25应用生效日期3n 6应用生效日期,早于该日期交易会在 TVR 置位。
5F28发卡行国家代码2n 3发卡行国家,ISO 3166 数字码。
5F34应用主账号序列号 PSN1n 2区分共用同一卡号的多张实体卡(补卡、附属卡)。
9F07应用用途控制 AUC2b按位声明卡片允许的用途:境内/境外、消费、取现、ATM。
9F08应用版本号(卡片)2b卡片个人化的应用版本号,与终端 9F09 不一致会在 TVR 置位。
9F0D发卡行行为码 – 缺省 IAC-Default5b发卡行策略位掩码,终端无法联机时与 TVR 比对决定是否脱机批准。
9F0E发卡行行为码 – 拒绝 IAC-Denial5b与 TVR 比对,命中即直接脱机拒绝,不再尝试联机。
9F0F发卡行行为码 – 联机 IAC-Online5b与 TVR 比对,命中则要求联机,交给发卡行决定。
9F42应用货币代码2n 3卡片内部脱机金额所用的货币。
9F44应用货币指数(小数位)1n 1应用货币金额的小数位数。
9F53连续脱机交易次数上限(国际)1卡片风险管理参数,各卡组定义并不一致,使用前以对应卡组规范为准。

终端与交易数据 (19)

终端每笔现填的数据。卡片密文就是对这批字段计算的——所以 DE55 里会「重复」报文其他位置已有的信息(金额、货币、日期):DE55 里这份,才是芯片签过名的那份。

标签名称字节格式一句话说明
9F02授权金额6n 12授权金额,应用密文就按它参与计算,是 DE55 的金额核心。
9F03其他金额(如返现)6n 12返现等附加金额,没有就是全零。
5F2A交易货币代码2n 3交易货币代码,ISO 4217 数字码,与 DE49 对应。
9A交易日期 YYMMDD3n 6终端本地交易日期 YYMMDD。
9F21交易时间 hhmmss3n 6终端本地交易时间 HHMMSS。
9C交易类型1n 2交易类型,即处理码前两位(00 消费、01 取现、20 退货)。
9F39服务点输入方式 POS Entry Mode1n 2卡号进入终端的方式:05 接触芯片、07 非接、90 磁条。
9F15商户类别码 MCC2n 4受理商户的类别码,与 DE18 同一套编码。
9F16商户标识15ans终端里配置的商户标识。
9F1A终端国家代码2n 3终端所在国家,境内/跨境判断的依据。
9F1C终端标识8an终端号,与外层 ISO 8583 报文的 DE41 对应。
9F1E接口设备序列号 IFD8an受理设备的出厂序列号。
9F4E商户名称与地址varans终端登记的商户名称与地址。
9F33终端性能 Terminal Capabilities3b三字节位串:终端支持的读卡方式、CVM 与安全能力。
9F35终端类型1n 2终端类型:有人值守/自助、能否联机、由谁运营。
9F40附加终端性能5b附加终端能力:支持哪些交易类型与输入输出方式。
9F09应用版本号(终端)2b终端内核实现的应用版本号,与卡片 9F08 比对。
9F37不可预知数 UN4b终端产生的随机数,保证每笔密文不可重放。
9F41交易序列计数器2–4n 4–8终端自身的交易流水计数器。

密文与联机认证 (8)

DE55 存在的根本原因。请求里 9F26 装的是 ARQC,响应里 91 带回发卡行的 ARPC,其余标签为双方互验提供上下文。如果你是搜「ARQC 是什么」进来的:它是卡片请求联机授权时放在 9F26 里的 8 字节密文——完整展开见《ARQC、TC、AAC》

标签名称字节格式一句话说明
9F26应用密文 ARQC / TC / AAC8b卡片对交易数据计算的密文:请求联机时是 ARQC,批准是 TC,拒绝是 AAC。
9F27密文信息数据 CID1b声明 9F26 里的密文是三者中的哪一种,另带 advice 标志位。
9F36应用交易计数器 ATC2b每笔交易加一的计数器,跳号或重复是发卡行的克隆风控信号。
9F10发卡行应用数据 IAD≤32b发卡行自定义数据块:CVN、密钥索引 DKI、卡片验证结果 CVR 都在里面。
91发卡行认证数据8–16b授权响应里带回的 ARPC,卡片据此确认批准确实来自发卡行。
8A授权响应码2an送回卡片的授权响应码,与响应报文的 DE39 对应。
9F45数据认证码 DAC2bSDA 静态认证中被发卡行签名覆盖的数据认证码。
9F4CIC 卡动态数2–8bDDA 动态认证中卡片每笔生成的动态数。

验证结果与状态位串 (4)

不逐位解码就是乱码、解开了却能回答大多数排查问题的四个标签,下一节逐个展开。

标签名称字节格式一句话说明
82应用交互特征 AIP2b卡片能力声明,随 GPO 响应返回,先于一切校验。
95终端验证结果 TVR5b终端逐位记下的异常与备注——排查拒付先看它。
9B交易状态信息 TSI2b这笔交易实际执行了哪些 EMV 功能。
9F34持卡人验证结果 CVM Results3b实际执行了哪种持卡人验证、在什么条件下、结果如何。

发卡行脚本 (3)

发卡行远程管理卡片的通道:脚本命令搭授权响应下行,终端转交给芯片执行,9F5B 在之后的交易里把执行结果报回去。

标签名称字节格式一句话说明
71发卡行脚本模板 1var模板发卡行脚本命令,终端须在第二次 GENERATE AC 之前送给卡片。
72发卡行脚本模板 2var模板第二次 GENERATE AC 之后执行的脚本——解锁 PIN、重置计数器等卡片管理。
9F5B发卡行脚本执行结果varb终端上报的脚本逐条执行结果,发卡行据此确认脚本是否生效。

卡组与自定义 (3)

解析器按最常见的用法给这三个标签起了名字,但它们不在 EMV 公开规范定义范围内——权威布局在各卡组自己的规范里。

标签名称字节格式一句话说明
9F63产品标识信息var卡组自定义标签,不同网络含义不同,以对端规范为准。
9F6E形态因子指示 FFI / 第三方数据var不同卡组用法不同(形态因子 / 第三方数据),以所对接卡组的规范为准。
9F7C商户自定义数据var私有数据,含义由交易双方约定。

位串标签,逐个讲

DE55 里有七个标签把含义压进单个比特位,外加一个纯计数器(ATC)。每个标签给三样东西:它回答什么问题、一个真实取值、逐位展开它的解码器。下面所有示例值都在对应工具里实际跑过——释义就是工具的输出,不是转述。

TVR——标签 95,5 字节

回答:「终端一路看到了什么异常?」交易开始时是 5 个全零字节;终端每遇到一个异常状况就置一位——脱机认证失败、CVM 问题、超限额触发、发卡行认证失败。记的是观察,不是裁决:某一位置位是否导致拒绝,要拿行为码(9F0D/0E/0F)比对之后才知道。示例:0400048000 解出三个置位——CDA 失败(字节 1·b3)、已输入联机 PIN(字节 3·b3)、交易超过终端限额(字节 4·b8)。一个真问题、一个中性事实、一个常规联机触发——典型的 TVR 配比。用 TVR 解析器解你手上的值;五字节位图全解见《TVR 各位含义》

AIP——标签 82,2 字节

回答:「这张卡支持什么?」静态个人化数据,随 GPO 响应返回,先于一切校验:支持哪种脱机认证(SDA / DDA / CDA)、是否支持持卡人验证和发卡行认证、要不要跑终端风险管理。示例:3D00 声明了 DDA、持卡人验证、终端风险管理、发卡行认证、CDA——唯独没有 SDA。任何值可贴 AIP 解析器验证;AIP 与 TVR、TSI 的关系专门写在《AIP、TVR、TSI》

TSI——标签 9B,2 字节

回答:「哪些 EMV 功能实际跑过了?」有效位只有 6 个,全在字节 1,对应功能执行过就置位——不管执行结果如何。示例:F800 表示脱机数据认证、持卡人验证、卡片风险管理、发卡行认证、终端风险管理都执行了,发卡行脚本没有。「执行过」不等于「通过了」:裁决在 TVR 里。工具:TSI 解析器

CID——标签 9F27,1 字节

回答:「9F26 里装的是哪种密文?」最高两位定类型——00 AAC(拒绝)、01 TC(批准)、10 ARQC(要求联机)——低位是 advice 标志。示例:80 = ARQC,请求联机授权。工具:CID 解析器;三种密文的对比见《ARQC、TC、AAC》

CVM Results——标签 9F34,3 字节

回答:「持卡人到底是怎么验证的?」三个字节:执行的验证方法、适用条件、结果。示例:410302 = IC 卡验证明文 PIN(41,失败允许落到下一条规则)、条件是终端支持该 CVM(03)、结果成功(02)。工具:CVM Results 解析器

CVM List——标签 8E

回答:「卡片希望按什么顺序尝试验证?」两个 4 字节金额(X 和 Y)加一串 2 字节规则,每条规则 = 方法+条件,从上往下试。示例:000003E800000000420344031E031F02 = X 为 1000、Y 为 0,四条规则——联机加密 PIN、IC 卡加密 PIN、签名、条件允许时免验证(No CVM)。位置说明:8E 是个人化在卡片记录里、终端选 CVM 时读取的——它不在上面 66 个标签里,因为它一般不进 DE55;进 DE55 的是结果,即 9F34。工具:CVM List 解析器;逐条规则的匹配逻辑见《CVM List》

IAD——标签 9F10,最长 32 字节

回答:「发卡行在跟自己说什么?」本节唯一没有公开位图的标签:EMV 只预留容器,内容由发卡行(按其卡组的模板)定义——通常包括密钥索引 DKI、密文版本号 CVN,以及卡片自己视角的验证结果 CVR。示例:06101203A40000 按常见的 Visa 式布局读出:长度 6、DKI 10、CVN 12(= 版本 18)、CVR 03A40000——但任何这样的拆分在对过 CVN 和卡组规范之前都只是启发式猜测,IAD 解析器也是这样标注的。背景:《IAD 标签 9F10》

ATC——标签 9F36,2 字节

回答:「这颗芯片做过多少笔交易?」严格说不是位串——是大端序计数器,应用每开始一笔交易加一。示例:003C = 60。发卡行拿它和上次见到的 ATC 比:跳号正常(有脱机交易还没清算上来),但重复或倒退是强烈的克隆信号。工具:ATC 解析器;展开见《ATC》

拿到一串 DE55 怎么下手

先看五个标签,再看其他。整串贴进 TLV 解析器,然后按序读:9F27(芯片的建议是什么)、9F26(背书它的密文)、95(终端看到了什么异常)、9F34(持卡人怎么验证的)、9F36(计数器,查克隆)。这五个能回答大多数工单的「发生了什么、正不正常」;其余是补充细节。

分清标签的流向。大多数标签在请求里。只出现在响应里的有三个:91(发卡行认证数据)、7172(发卡行脚本)。请求 dump 里出现它们,说明 dump 标错了方向。反过来,9F5B(脚本执行结果)出现在下一笔请求里,汇报的是上一笔下发的脚本——这一笔的滞后经常把日志关联搞乱。

分清值是谁写的。值不对时,标签本身就告诉你该找谁。卡片个人化类标签(829F079F085F24、三个 IAC)只能改发卡行的卡片参数;终端配置类标签(9F1A9F339F359F409F1C)指向收单侧或终端机具。终端国家代码是 0000,那是终端资产的 bug,不是卡的问题。

先展开模板,再数标签。dump 以 7770 开头时,真正的数据在里面一层——把模板当不透明值的扫描只会报「1 个标签」然后什么都看不见。选卡数据里 6F/A5/BF0C 的嵌套同理。解析器会自动展开;手工走的话,套上面的规则三递归即可。

小心编码陷阱。DE55 是二进制 TLV,但外层报文可能是 ASCII 或 EBCDIC。如果标签字节看起来整体偏移了一个常量、或每隔一个字符都是 3,那是上游把 DE55 当文本转码过——该修的是提取环节,不是解析。十六进制查看器可以快速看出来。

私有标签:这张表到哪为止

本文覆盖的是有公开(EMV 规范级)定义的标签,外加上面明确标注的三个卡组自定义标签。再往外就是私有区,而关于私有区,诚实的回答比任何表都短:

给私有标签编含义的标签表比没有表更糟:恰恰在它猜测的地方显得最权威。遇到不认识的 DFxx,正确动作是确认报文出自哪个系统,找它要标签字典。

一句话记住:用三条 TLV 规则切出标签边界;用上表(或可搜索的标签查询,同一份数据)认标签;位串交给对应解码器;DF/FF 开头的一律以对端规范为准——包括本表在内的任何通用表都替代不了。

延伸阅读