读取德国EC卡IBAN/BIC有问题



我们要从德国EC卡中读取公共数据(如BIC, IBAN, PAN)。我们使用非接触式接口。对于某些卡,响应的"select 1pay . sys . ddf01";APDU,包含我们想要读取的信息。但对于其他一些卡片,此信息不存在。

Detail,在第一步中,我们选择了1PAY.SYS。DDF01应用:

00 A4 04 000 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00

在响应APDU包含所需信息的情况下,响应如下所示:

0A 00 6F 46 84 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 34 88 01 05 5F 2D 04 64 65 65 6E BF 0C 27 5F 54 0B 57 45 4C 41 44 45 44 31 4D 4F 4C 5F 53 16 44 45 39 33 31 37 30 35 34 34 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 90 00

从这个响应中我们可以提取出BIC和部分IBAN(所谓的Bankleitzahl)。

但是对于某些卡,响应APDU看起来像这样:

0A 00 6F 1C 84 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 0A 88 01 05 5F 2D 04 64 65 65 6E 9000

问题是,在第二种情况下必须采取哪些进一步的步骤?

你的问题可能不太适合SO,但我仍然会尽力帮助你。对不起,我不熟悉德国的标准,但我认为它是基于EMV的。

首先,在非接触式接口上操作时,您应该选择PPSE的AID而不是PSE。在PPSE响应中,应该有包含目录条目的模板,以及卡中可用的应用程序的辅助。PSE有类似的用途,但您有一个包含应用程序目录的SFI引用。您使用Read Record检索条目。

对于触点和PSE方法,请参见EMV第1册。对于非接触式PPSE方法,请参见b册

这将处理您至少知道应该选择的正确AID的部分。接下来发生的事情通常更具体于方案,您应该基于一些文档。

最新更新