【问题标题】:Determine Issuer of EMV card确定 EMV 卡的发行人
【发布时间】:2020-06-19 22:36:37
【问题描述】:

确定非接触式 EMV 卡发行人的最佳方法是什么。我正在尝试确定一张卡是由 Amex、Visa 还是 Mastercard 发行的。该信息是否可通过 USB EMV 阅读器获得?我不需要从卡中提取任何其他信息..

我假设它可以通过一些 python 或与卡交互的 C++ 代码来完成。我正在寻找一个好的起点。

【问题讨论】:

    标签: emv


    【解决方案1】:

    您应该能够从 SELECT 的成功响应中获取此信息。存储 RID 列表( AID = RID + PIX ),并一一选择。成功时返回状态字节 90 00,否则返回 6A 82(file not found)。

    【讨论】:

    • @adarash 你能推荐一个有一些示例代码的地方,或者一个好的开始地方吗?
    • 您可以从 emvco.com 下载 Book 1,并阅读第 11.3 节选择命令响应 APDU。示例代码可以在 Github 中查看
    • @JasonSmall 看看javaemvreader
    【解决方案2】:

    如前所述,最简单的选择是通过 SELECT 命令 前。援助名单:

    https://www.eftlab.com/knowledge-base/211-emv-aid-rid-pix/

    另一种选择是从 PAN 获取它。您可以定义发行人 基于 PAN 的前 6 位或 8 位,代表 Issuer 识别号 (IIN)/银行识别号 (BIN)。

    • 34, 37 - 美国运通
    • 4 - 签证
    • 51-55、2221-2720 - 万事达卡

    https://en.wikipedia.org/wiki/Payment_card_number#Issuer_identification_number_(IIN) 您必须发送命令:

    1. 选择
    2. 获取处理选项
    3. 阅读记录

    您将查找 5A - PAN 并提取第一个数字。

    您可以用来从非接触式 EMV 卡读取数据的好工具是: https://www.javacardos.com/tools/pyresman

    您可以创建自己的脚本或只执行一些基本命令,例如 SELECT 命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      • 2021-06-13
      • 2017-01-02
      • 1970-01-01
      相关资源
      最近更新 更多