解析 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 应用程序交换配置文件的主要内容,如果未能解决你的问题,请参考以下文章

EMV笔记:持卡人认证(CVM)

解析 CVM 列表:在 SFI 中获取 CVM 列表后何时显示引脚焊盘,需要任何命令

如何从 Javacard 制作 EMV 卡?

CVM之间配置免密钥登录

EMV卡的数据结构

问题阅读EMV签证信用卡记录