EMV Book_3 说:
CLA: 80
INS:A8
第1页:00
P2:00
LC:无功
数据:处理选项数据对象列表 (PDOL) 相关数据
乐:00
我的 APDU 命令如下所示:“80 A8 00 00 0C PDOL 00”,
其中 PDOL ="9F 66 04 9F 02 06 9F 37 04 5F 2A 02"
.
我收到:6A 80
我使用的 CC 是 Visa PayWave 非接触式。
完整的 FCI(文件控制信息)专有模板是:
"50 0C 56 69 73 61 20 43 6C 61 73 73 69 63 87 01 01 9F 38 0C 9F 66 04 9F 02 06 9F 37 04 5F 2A 02 5F 2D 04 62 67 65 6E"
我缺少什么?正确的获取处理选项命令是什么?
the PDOL tag means that the tags specified by the next specified number of bytes represent the data to be concatenated to the end of the command. In your question the PDOL tag, 9f 38, specifies the next 0Chex (12dec) bytes indicate the data to be sent to the card. You have:
-
9f 66 04 - 标签 9f 66 代表终端交易限定符。因此,PDOL 必须将 4h(十六进制)字节的终端事务限定符编码到这四个字节中。
-
9f 02 06 - 标签 9f 02 代表授权金额。 PDOL 列表必须添加已授权的、编码为 6h 字节的数量。
-
9f 37 04 - 标签 9f 37 代表不可预测的数字,因此将这样的数字编码为 4 个字节并将其添加到列表中
....
其余的类似翻译。该列表必须按照从卡接收的标签数据中指定的顺序,例如在您的列表中,TTQ 必须位于第一位,然后是授权金额等。根据您的结果,数据的总大小应为 4+6+4+2= 16 = 10h 字节。因此,带有示例数据的最终命令将如下所示:
<------the data concatenated together--------->
=> 80 a8 00 00 12 83 10 f3 20 40 00 00 00 00 01 00 00 04 04 06 03 05 08 00
注意:注意 Lc、12h 的值及其后面的两个字节。十六进制值 0x83 必须出现在 Lc 之后,并且其后的字节应该是数据的实际长度,即 10h,因此如上所述,Lc = 10h + 2 = 12h。别忘了最后的Le!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)