解析 CVM 列表的 EMV 应用程序交换配置文件
Posted
技术标签:
【中文标题】解析 CVM 列表的 EMV 应用程序交换配置文件【英文标题】:parse EMV application interchange profile for CVM list 【发布时间】:2017-10-23 20:56:28 【问题描述】:我正在尝试从 EMV 卡中检索 CVM 列表。我做了以下事情:
选定的援助 获取处理选项我已收到以下回复
77 0E 82 02 39 00 94 08 18 01 02 01 20 02 03 00 90 00
我已在以下网站中解析了此响应,这是解析后的信息:
82 Application Interchange Profile
3900
94 Application File Locator (AFL)
1801020120020300
https://www.emvlab.org/tlvutils/?data=77+0E+82+02+39+00+94+08+18+01+02+01+20+02+03+00+90+00+
现在成功检索 CVM 列表的下一步是什么?
【问题讨论】:
【参考方案1】:应用程序文件定位器告诉数据记录在卡上的保存位置。了解如何使用您收到的 AFL 进行阅读记录。其中一个 READ RECORD 数据将包含 CVM 列表。
阅读 EMV Book 3, Section 10.2 Read Application Data ,然后 6.5.11 READ RECORD 命令-响应 APDU
从 EMVCo here 下载书籍 1-4
如果您在使用 AFL 阅读时仍然遇到问题,请回到这里。
【讨论】:
感谢您的建议,您也可以看看这个相关的帖子***.com/questions/47000091/…【参考方案2】:必须更深入地探索应用程序文件定位器。使用 EMV TLV 解析工具的示例:https://iso8583.info/lib/EMV/TLVs
---
# Cheef's parser.
# Copyright (C) 2008-2017 Alexander Shevelev. https://iso8583.info/
# lib : "/lib/EMV/" - Integrated Circuit Card Specifications for Payment Systems
# tool : "TLVs"
# stat : 25 nodes, 0 lookup tables
TLVs:#"770E8202390094081801020120020300" # EMV, Tag + Length + Value (TLV) series
- x77:#"770E8202390094081801020120020300" # EMV, Template, Response Message Format 2
- tag: "77"
- len: "0E" # // 14
- val:#"8202390094081801020120020300" # Template, Response Message Format 2.
- x82:#"82023900" # EMV, Application Interchange Profile (AIP)
- tag: "82"
- len: "02" # // 2
- val:#"3900" # Application Interchange Profile (AIP).
- B01: "39"
# __1_____ - bit 6, DDA supported
# ___1____ - bit 5, Cardholder verification is supported
# ____1___ - bit 4, Terminal Risk Management is to be performed
# _______1 - bit 1, CDA supported
- B02: "00" # RFU
- x94:#"94081801020120020300" # EMV, Application File Locator (AFL)
- tag: "94"
- len: "08" # // 8
- val:#"1801020120020300" # Application File Locator (AFL).
- S1:#"18010201" # AFL Record
- B01: "18" # SFI [xxxxx___] // 3
- B02: "01" # From record // 1
- B03: "02" # To record // 2
- B04: "01" # First hashed // 1
- S2:#"20020300" # AFL Record
- B01: "20" # SFI [xxxxx___] // 4
- B02: "02" # From record // 2
- B03: "03" # To record // 3
- B04: "00" # First hashed
然后您可以根据 AFL 记录定义读取记录。 对于从 SFI 3 记录 01 读取记录的示例 ISO 7816-4 APDU 命令:
rq:#"00B2011C00" # ISO 7816-3, Case 2
- CLA: "00" # Class.
- INS: "B2" # Instruction. // ISO 7816-4, Read Record
- P1: "01" # Record number or record identifier
- P2:#"1C" # Parameter 2.
- SFI: "18" # bits 8 to 4, SFI [xxxxx___] // 3
- ReadRecordNum: "04" # bits 3 to 1, Read Record number from P1 [_____100] // true
- Le: "00" # Length of Expected Data.
问:成功检索 CVM 列表的下一步是什么?
A:从 SFI 读取 EMV 记录并解析 TLV 数据响应。
EMV 标签 0x8E 持卡人验证方法 (CVM) 列表可以作为记录的一部分。
【讨论】:
感谢您的建议,您也可以看看这个相关的帖子***.com/questions/47000091/…以上是关于解析 CVM 列表的 EMV 应用程序交换配置文件的主要内容,如果未能解决你的问题,请参考以下文章