我在谷歌的帮助下进行了搜索,但没有发现具体如何实施。
我找到了可以阅读ITSO智能卡的应用,并发现以下应用找到了解决方案:http://www.londonbanter.co.uk/london-transport/13401-itso-android.html
你们中的任何人都知道如何继续实施吗?您的意见得到赞赏。
答案 0 :(得分:1)
ITSO规范是Crown Copyright,因此您可以从此处获取实际规范:https://www.itso.org.uk/
在Android上阅读ITSO卡非常简单。一旦您检测到NFC卡,请检查该技术。我只使用过DesFires,但这应该是所有卡类型的类似方法。
一旦你有了一个NFC上下文并且你知道它是DesFire,你需要选择ITSO应用程序(ID = 0x16,0x02,0xa0),从那里你只需读取扇区并根据上述解码它们规格。
ITSO应用程序有一个ITSO目录,其中包含卡号(ISRN)以及卡上的产品(IPE)列表及其到期日期。您可以使用扇区链表来获取每个产品的数据文件。
产品本身非常简单,只有很少的实际参数需要解码。检查每个产品的IFR,然后解码字节流。
您首先需要知道如何将APDU命令发送到NFC阅读器。例如,要选择ITSO应用程序,您需要发送这些字节0x90,0x5a,0,0,3,0x16,0x02,0xa0。要读取目录,您要发送0x90,0xbd,0,0,7,0x0f,0,0,0,0,0,0(扇区15)等。
值得注意的是,所有ITSO数据都可以自由阅读,但为了确保它真实,您需要检查封条并执行此操作,您需要访问安全密钥,你不会有。同样,您可以将数据写入看起来像ITSO应用程序的卡中,但如果没有正确的密封,它将无法在真实设备上运行。