【发布时间】: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