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的主要内容,如果未能解决你的问题,请参考以下文章