emv - 从 emv 卡中获取 IBAN 号码

标签 emv iban

我在读取 german CashCards(也称为 Geldkarte)中的 IBAN 号码时遇到了一些问题。 我可以与我的卡通信,并从中获取一些信息。但我不知道我必须向卡发送哪个 commandApdu 以获取 IBAN 号码...

该应用程序在 Java 7 上运行,我使用 java.smartcardio api 协议(protocol)是 T=1

我用来获取日期的 commandApdu 如下所示:

byte[] commandBytes = new byte[]{0x00, (byte)0xa4, 0x04, 0x00, 0x07, (byte)0xa0, 0x00, 0x00, 0x00,0x04, 0x30, 0x60, 0x00};

我得到的信息是:

6F 32 84 07 A0 00 00 00 04 30 60 A5 27 50 07 4D 61 65 73 74 72 6F 87 01 03 9F 38 09 9F 33 02 9F 35 01 9F 40 01 5F 2D 04 64 65 65 6E BF 0C 05 9F 4D 02 19 0A 

谁能告诉我获取 IBAN 号码的正确 apdu?

如果我忘记了一些需要的信息,我很抱歉,但这是我在这个论坛上的第一个问题:-)

最佳答案

好的,卡已经发回了这个:

6F328407A0000000043060A52750074D61657374726F8701039F38099F33029F35019F40015F2D046465656EBF0C059F4D02190A

Which translates to :

6F File Control Information (FCI) Template
    84 Dedicated File (DF) Name
        A0000000043060
    A5 File Control Information (FCI) Proprietary Template
        50 Application Label
            M a e s t r o
        87 Application Priority Indicator
            03
        9F38 Processing Options Data Object List (PDOL)
            9F33029F35019F4001
        5F2D Language Preference
            d e e n
        BF0C File Control Information (FCI) Issuer Discretionary Data
            9F4D Log Entry
                190A

现在您已经选择了应用程序,您将要向它发送一系列“读取记录”命令以从中获取数据,例如(卡号、有效期、持卡人姓名、IBAN(如果它是在那里,以前没见过))。 “读取记录”命令的结构可以在 EMV Book 3 中找到然而,这里有一些关于您的读取记录循环应该是什么样子的粗略伪代码。在我的脑海中,我通常将 NUM_SFIS 设置为 5,将 NUM_RECORDS 设置为 16,因为通常没有超过这些点的任何东西。

for (int sfiNum = 1; sfiNum <= NUM_SFIS; sfiNum++) 
{ 
    for (int rec = 1; rec <= NUM_RECORDS; rec++) 
    {
          byte[] response = tag.transceive(new byte[]{0x00,(byte)0xB2 (byte)rec, (byte)((byte)(sfiNum << 3) | 4), 0x00});
    }
}

关于emv - 从 emv 卡中获取 IBAN 号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18204332/

相关文章:

credit-card - 为什么在 EMV 卡中重复数据

xslt - 使用 XSLT 2.0 验证 IBAN?

modulo - 将两个数字加到数字末尾以计算特定模数的算法?

regex - IBAN 正则表达式设计

javascript - IBAN 验证检查

c - 如何将EMV的track1和track 2数据发送到C中的支付网关?

apdu - 手动生成AC密码

smartcard - 从 EMV 的 CVM 列表中解析 CV 规则

cryptography - 密码版本 5 的方法 key 推导 (MKD)

python - 使用 Python 从文本中提取 IBAN