我们开发了一个带有微控制器的原型板,它可以与智能卡通信(它可以读取 ATR、发出和读取对 APDU 命令的响应等)。现在我想将此硬件与 Android 手机或平板电脑一起使用。我们的开发板有一个 USB 连接,通过它我们可以通过 Android 读取和写入 MCU。
最终目标是在支持 PKCS #11 的 Android 平台上拥有一个功能正常的智能卡读卡器,并为智能卡读卡器的最终用户提供一个库,以便他们可以与他们的卡进行通信。
我已经阅读了几个关于这个主题的讨论,其中一些说我必须构建一个定制的 Android 来做到这一点。我对 Android 架构不是很熟悉,无法理解为什么当我可以通过 USB 与外围设备(读卡器)通信时,我必须重新构建 Android。在我看来,如果我提供了一个实现类似 CCID 接口的库,那么用户可以通过将我的库集成到他们的目标 .apk 文件来使用 Android USB 堆栈与我的阅读器进行通信。
上述计划是否存在我们不知道的问题?我担心我们缺少一些关于 Android 或智能卡读卡器的基本知识(例如:安全性),这会在我们开始实现上述库时给我们带来问题。