GPO 命令被定义为一个 APDU 命令:
CLA INS P1 P2 Lc Data Le
80 A8 00 00 Lc Data 00
Run Code Online (Sandbox Code Playgroud)
所以缺少的部分是我们必须从PDOL计算的Lc和数据(如果有的话)。如果没有给出,我们可以使用:
80 A8 00 00 02 8300 00
Run Code Online (Sandbox Code Playgroud)
这适用于万事达卡,但对于 VISA,我得到了一个 PDOL 并尝试构建缺少的 APDU 部分(Lc 和数据)。
第 1 步 - 我从我的 EMV 卡中获取此 PDOL:
9F66049F02069F03069F1A0295055F2A029A039C019F3704
Run Code Online (Sandbox Code Playgroud)
第 2 步 - 通过命令将其拆分:
9F6604 9F0206 9F0306 9F1A02 9505 5F2A02 9A03 9C01 9F3704
Run Code Online (Sandbox Code Playgroud)
第 3 步 - 按字节长度再次拆分:
9F66 04 | 9F02 06 | 9F03 06 | 9F1A 02 | 95 …Run Code Online (Sandbox Code Playgroud)