好的,所以我选择了“ 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”]
然后我转到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”]
之后,当我尝试执行第二条记录的读取记录时: (“ 00 B2 02 0C 00”) 我收到了以下回复:“ 6A 83”(找不到记录)
现在我试图选择我们所获得的帮助的文件: “ 61 25”(对此文件进行响应) 然后我做了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解码AID] 3
您可以看到我没有PDOL,有人可以帮助我吗?
答案 0 :(得分:0)
PDOL在ADF选择响应数据中是可选的(请参阅EMV 4.3规格书1,表45)。
在这种情况下,在def add_elems(row_list: list, tolerance: Decimal):
counter_sublist = 0
while counter_sublist < len(row_list) - 1:
for idx, sublist in enumerate(row_list[counter_sublist:]):
actual_idx = idx + counter_sublist
value = get_elem_for_sublist(sublist)['top'] # decimal
if actual_idx == counter_sublist: # get value to compare
value_to_compare = value
elif abs(value - value_to_compare) >= tolerance: # add dict into sublist
dict_to_add = {
'text': '',
'top': value_to_compare
}
sublist.insert(counter_sublist, dict_to_add)
counter_sublist += 1
return row_list
中发送了一个空标记'83',引用了EMV 4.3规格书3,第6.5.8.3节:
命令消息的数据字段是根据 由ICC提供的PDOL(如5.4节所定义),由标签引入 '83'。 当ICC未提供数据对象列表时,终端将设置 模板的length字段为零。否则,模板的length字段为 传输到ICC的数据对象的值字段的总长度。
[
{'text': 'Page 1, col 1.', 'top': Decimal('83.640')}
],
[
{'text': '', 'top': Decimal('83.640')},
{'text': 'Page 1, col 2.', 'top': Decimal('112.920')}
],
[
{'text': '', 'top': Decimal('83.640')},
{'text': '', 'top': Decimal('112.920')},
{'text': 'Page 1, col 3', 'top': Decimal('127.560')}
]
是:GET PROCESSING OPTIONS
答案 1 :(得分:0)
就像@vlp一样,您还不能读取文件。您必须发送GET PROCESSING OPTIONS”(GPO)命令来检索应用程序交换配置文件(AIP)和应用程序文件定位器(AFL)。
您可以通过AFL从卡上读取数据。
此资源说明您的确切情况; https://blog.saush.com/2006/09/08/getting-information-from-an-emv-chip-card/