【问题标题】:How to get EMV tag 9F19 Token Requestor ID?如何获取 EMV 标签 9F19 令牌请求者 ID?
【发布时间】:2021-06-09 10:19:16
【问题描述】:

我想识别具体的 NFC 类型 - Apple、Google、Samsung Pay 等用于 EMV 非接触式交易。 标签 0x9f6e 帮助我区分物理卡和 NFC,但不是确切的支付系统。 有很多关于标签 9F19 及其值的信息:

MasterCard:
50110030273 – APPLE_PAY
50120834693 – ANDROID_PAY
50139059239 – SAMSUNG_PAY

但是我没有找到关于如何获得这个标签 9F19 的信息。是 EMV 还是 ISO 7816 命令?还是别的什么?请帮我。或者告诉另一种获取所需信息的方法。

我尝试使用 READ RECORD 在所有范围内查找 9f19,但未成功:

for sfi = 1; sfi <= 31; sfi++ {

        for rec := 1; rec <= 16; rec++ {

            apdu.Write([]byte{0x00, 0xB2, byte(rec), (sfi << 3) | 4, 0x00})
            cmd = smartcard.CommandAPDU(apdu.Bytes())
            if !cmd.IsValid() {
                panic("not valid apdu")
            }
            response.RAPDU, err = card.TransmitAPDU(cmd)
            if err != nil {
                panic(err)
            }
            if response.RAPDU.SW() != 0x9000 {
                fmt.Println("No data for record", rec)
                apdu.Reset()
                continue
            }
            tlvTag, err = bertlv.Find(0x9f19, response.RAPDU.Data())
            if err != nil {
                apdu.Reset()
                continue
            }
            fmt.Println("9F19 answer found at record ", rec)
            response.printResult()
            break
        }
    }

【问题讨论】:

    标签: google-play nfc applepay emv contactless-smartcard


    【解决方案1】:

    标签0x9F19 令牌请求者ID读取记录回复中返回。

    您需要选择应用程序,然后根据非接触式支付规范发送GPO命令并希望收到标签0x94应用程序文件定位器(AFL)带有短文件标识符 (SFI) 的列表。

    然后您需要读取记录并解析回复标签。

    【讨论】:

    • 也许我做错了什么。我尝试在所有 READ RECORD 范围内找到 9f19 标记,但没有成功。
    • @ОлегСидоров,可能您在阅读之前错过了必要的步骤 - “需要选择应用程序,然后根据非接触式支付规范发送 GPO 命令”。添加 APDU 跟踪。您进行 SFI 记录扫描的程序是获取 SFI 内容的错误方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 2011-11-18
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    • 2017-07-28
    相关资源
    最近更新 更多