本文介绍了在请求EMV卡的GPO命令时获取解析器错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

VISA卡的GET PROCESSING OPTIONS(GPO)命令遇到一些问题.

I have some issues with the GET PROCESSING OPTIONS (GPO) command for a VISA card.

以下是我对VISA应用程序的SELECT命令的答复:

Following is my response to the SELECT command for the VISA application:

6F408407A0000000031010A535500A564953412044454249549F380C9F66049F02069F37049F1A025F2D02656EBF0C1242034761735F550255539F5A0511084008409000

我从中提取了以下PDOL:9F66049F02069F37049F1A02

I extracted the following PDOL from this: 9F66049F02069F37049F1A02

我不确定标签9F66.

我的GPO命令如下:

80a800000100000001000000001000823DDE7A12400

但是我得到一个解析器错误作为响应:

But I get a parser error as response:

6A80

推荐答案

您的GPO命令似乎有很多问题:

Your GPO command seems to have quite a lot of issues:

80 A8 0000 01       00000001 000000001000 823DDE7A 1240 0
           ^^ ^^^^^ ^^^^^^^^                       ^^^^ ^^
           4. 1.      2.                             3.   5.
  1. 首先,您的GPO命令发送了几个没有上下文的数据字节.您需要将数据项包装到与PDOL相关的数据对象中:

  1. First of all, your GPO command sends several data bytes without context. You need to wrap your data items into a PDOL related data object:

83 10 wwwwwwww xxxxxxxxxxxx yyyyyyyy zzzz

  • 您的终端事务限定符(9F66)设置了RFU位.有效的TTQ可能如下所示:B620C000,带有

  • Your Terminal Transaction Qualifiers (9F66) have RFU bits set. Valid TTQ could look like this: B620C000, with

    • B6:
      • 支持磁条模式@bit 8
      • EMV模式支持@bit 6
      • EMV接触芯片支持@bit 5
      • 支持在线模式@bit 4
      • 支持在线PIN @@ bit 3
      • 签名受支持@bit 2
      • 其他位= RFU
      • B6:
        • Mag-stripe mode supported @bit 8
        • EMV mode supported @bit 6
        • EMV contact chip supported @bit 5
        • online mode supported @bit 4
        • online PIN supported @bit 3
        • signature supported @bit 2
        • other bits = RFU
        • @bit 8不需要在线密码
        • @bit 7不需要CMV
        • (接触式芯片)离线PIN支持@bit 6
        • 其他位= RFU
        • 发行人更新处理支持@Bit 8
        • 消费设备CVM支持@Bit 7
        • 其他位= RFU

        您的终端国家/地区代码无效.终端国家/地区代码必须是BCD编码为两个字节的3位数字值.假设您要使用"124"(加拿大),则正确的国家/地区代码为0124(奥地利:0040,英国:0826,美国:0840).

        Your Terminal Country Code is not valid. A terminal country code must be a 3-digit numeric value BCD-encoded into the two bytes. Assuming that you wanted to use "124" (Cananda), the correct country code would be 0124 (Austria: 0040, UK: 0826, USA: 0840).

        Lc字节(设置为01 =一个数据字节)不反映实际数据长度.在您的情况下,实际数据长度为16个字节,因此Lc应设置为10.考虑到还需要包括与PDOL相关的数据对象的标记和长度,因此Lc字节应设置为12(18个字节).

        The Lc byte (set to 01 = one data byte) does not reflect the actual data length. In your case, the actual data length would be 16 bytes, so Lc should be set to 10. Considering that you also need to include the tag and length for the PDOL related data object, your Lc byte should be set to 12 (18 bytes).

        作为GPO命令显示的十六进制字符串未与字节对齐,因此缺少Le字段的一个半字节.您的Le字段应设置为Le.

        The hexadecimal string that you presented as your GPO command is not aligned to bytes, so you are missing one nibble of the Le field. You Le field shoud be set to Le.

        因此,您的GPO命令可能如下所示:

        So your GPO command could look like this:

        80 A8 0000 12 83 10 B620C000 000000001000 823DDE7A 0124 00
        

        这篇关于在请求EMV卡的GPO命令时获取解析器错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

  • 10-23 18:18