0

我正在使用 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 相同的卡尝试 EXACT 相同的命令时,我的程序没有给我任何结果。结果为空白,但状态字为 90 00(它们与返回的数据分开)。这是为什么?

4

2 回答 2

1

首先假设卡片是正确的:如果我计算正确,如果数据对象 83 的长度是 0x0F(而不是 0x0E),那么在 LC 中提供的总长度必须是 0x11 而不是 0x10(标签和长度被添加)。这并没有解释为什么联系版本可以工作,但可能在调整后仍然可以工作。

于 2015-03-04T10:34:38.670 回答
0

我收到 67 00 错误:错误的 Lc 长度。

好的,因为您在 APDU 中没有 Lc=0x00,只需将 0x00 添加到 APDU

于 2018-08-12T17:46:02.987 回答