我正在使用Visa CDET非接触式测试卡。我已经成功选择了应用程序,它给了我以下结果:
<= 6f 29 84 07 a0 00 00 00 03 10 10 a5 1e 50 0b 56 49 53 41 20 43 52 45 44 49 54 5f 2d 02 65 6e 9f 38 09 9f 66 04 9f 02 06 9f 37 04
结果包括PDOL要求以下项目:
Terminal Transaction Qualifiers
Length: 4 bytes
Authorised Amount
Length: 6 bytes
Unpredictable Number
Length: 4 bytes
说到GPO命令,我确实拥有所需的所有元素,如下所示:
=> 80 a8 00 00 10 83 0e f3 20 40 00 00 00 00 00 12 00 bc 4b a2 3f 00
但是当我运行命令时,我收到了67 00错误:Lc长度错误。可能是什么问题?请记住,使用同一套件中的Visa CDET Contact测试卡时,相同的程序可以正常工作。
编辑: 关于同样的问题,我有一个测试阅读器,用于确认我的读数。读者及其程序可以获取GPO选项并返回其他卡的结果,但是当我在自定义程序中使用EXACT相同的卡尝试完全相同的命令时,我的程序没有给我任何结果。结果是空白,但状态字是90 00(它们与返回的数据分开)。那是为什么?
答案 0 :(得分:1)
首先假设卡是正确的:如果我正确计数,如果数据对象83的长度是0x0F(而不是0x0E),那么在LC中提供的总长度必须是0x11而不是0x10(标签和要加的长度)。这并没有解释为什么联系人版本有效,但可能在调整后仍然有用。
答案 1 :(得分:0)
我收到67 00错误:Lc长度错误。
好的,这是因为您在APDU中没有Lc = 0x00 只需将0x00添加到APDU