我们开发了一个带有微控制器的原型板,可以与智能卡通信(可以读取ATR、发出和读取APDU命令等)。现在我想使用这个硬件与Android手机或平板电脑配合使用。我们的板子有一个USB连接口,通过它我们可以通过Android读写MCU。
最终目标是在Android平台上拥有一个功能良好的智能卡读卡器,并提供一个库给智能卡读卡器的最终用户,以便他们可以与自己的卡通信,并支持PKCS #11。
我已经阅读了关于该主题的几篇讨论,其中一些人表示我需要构建自定义的Android系统才能实现这一点。我对Android架构不是很熟悉,无法理解为什么我必须重新构建Android,当我可以通过USB与我的外设(读卡器)通信时。在我看来,如果我提供一个实现类似CCID接口的库,用户就可以通过将我的库集成到他们的目标.apk文件中,通过Android USB堆栈与我的读卡器通信。
上述计划是否存在我们不知道的问题?我担心我们在开始实施上述描述的库时会遗漏关于Android或智能卡读卡器的一些基本问题(例如:安全性),这将给我们带来问题。