EMV - SELECT 没有得到 PDOL

Posted

技术标签:

【中文标题】EMV - SELECT 没有得到 PDOL【英文标题】:EMV - SELECT not getting PDOL 【发布时间】:2019-07-03 19:38:46 【问题描述】:

好的,所以我选择了“1PAY.SYS.DDF01”PSE 并得到以下响应: (“00 A4 04 00 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31”) “61 1E”,所以我执行了 GET Response 命令并得到以下输出: (“00 C0 00 00 1E”) [“6F 1C 84 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 0A 88 01 01 5F 2D 04 68 65 65 6E”]

TLV decode 1PAY.SYS.DDF01

然后我转到 READ RECORDS 命令(使用 sfi=1)并得到了这个: (“00 B2 01 0C 00”) 并得到以下回复: “6C 1E” 所以我又这样做了: (“00 B2 01 0C 1E”) 并得到以下回复: [“70 1C 61 1A 4F 07 A0 00 00 00 03 10 10 50 0C 56 69 73 61 20 50 72 65 70 61 69 64 87 01 01”]

TLV decode sfi

之后,当我尝试读取第二条记录的记录时: (“00 B2 02 0C 00”) 我收到了这样的回复:“6A 83”(找不到记录)

现在我尝试从我们得到的帮助中选择文件: “61 25”(用这个文件做一个 GET RESPONSE) 然后我做了GET RESPONSE: (“00 C0 00 00 25”) 得到了这个: [“6F 23 84 07 A0 00 00 00 03 10 10 A5 18 50 0C 56 69 73 61 20 50 72 65 70 61 69 64 87 01 01 5F 2D 04 68 65 65 6E”] [TLV解码辅助]3

如您所见,我没有任何 PDOL,有人可以帮我吗?

【问题讨论】:

@DeniDin 请注意——下次提问时,您应该花更多时间写下您的问题。你绝对应该阅读EMV Books。你可能会发现javaemvreader 真的很有帮助。祝你的项目好运! 【参考方案1】:

PDOL 在 ADF 选择响应数据中是可选的(参见 EMV 4.3 Book 1, Table 45)。

在这种情况下,GET PROCESSING OPTIONS 中发送了一个空标签“83”,引用 EMV 4.3 Book 3,第 6.5.8.3 节:

命令消息的数据域是一个根据 由 ICC 提供的 PDOL,如第 5.4 节所定义,由标签引入 '83'。 当ICC不提供数据对象列表时,终端设置 模板的长度字段为零。否则,模板的长度字段为 传输到 ICC 的数据对象的值字段的总长度。

GET PROCESSING OPTIONS 则为:80 A8 00 00 02 83 00 00

【讨论】:

【参考方案2】:

就像@vlp 所说,您还不能读取该文件。您必须发送 GET PROCESSING OPTIONS” (GPO) 命令来检索应用程序交换配置文件 (AIP) 和应用程序文件定位器 (AFL)。

您可以从 AFL 开始从卡上读取数据。

此资源解释了您的确切情况; https://blog.saush.com/2006/09/08/getting-information-from-an-emv-chip-card/

【讨论】:

以上是关于EMV - SELECT 没有得到 PDOL的主要内容,如果未能解决你的问题,请参考以下文章

支付应用程序 - EMV

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

POS EMV 卡密码更改

如何使用 EMV CARD 读取钱包余额?

EMV 持卡人姓名与 NFC 扫描信用卡的信用卡名称不同

emv是啥意思?