我們開發了一個帶有微控制器的原型板,該微控制器可以與智能卡通信(它可以讀取ATR,發出並讀取對APDU命令的響應等)。現在,我想要使用此硬件Android手機或平板電腦。我們的主板具有USB連接,通過它我們可以通過Android讀取和寫入MCU。在Android中開發智能卡閱讀器
最終目標是在支持PKCS#11的Android平臺上運行智能卡讀卡器,併爲智能卡讀卡器的最終用戶提供一個庫,以便他們可以與他們的卡進行通信。
我已經閱讀了關於這個主題的幾個討論,其中一些表示我將不得不建立一個自定義的Android來做到這一點。我對Android架構不太瞭解,不知道爲什麼當我可以通過USB與外設(讀卡器)進行通信時,我必須重新構建Android。在我看來,如果我提供一個實現類似CCID接口的庫,那麼用戶就可以通過將我的庫集成到他們的目標.apk文件來使用Android USB堆棧與我的閱讀器進行通信。
上述計劃有沒有問題,我們不知道?我擔心我們錯過了一些關於Android或智能卡讀卡器的基本知識(例如:安全性),這會在我們開始實施上述庫時對我們造成問題。
[此信息關於Android上的USB連接](http://developer.android.com/guide/topics/connectivity/usb/index.html)有助於回答您的問題嗎? – Joe 2013-03-27 19:18:07
安全性主要由智能卡本身提供。主要的漏洞是,手機中的祕密數據(例如PIN)被另一個惡意軟件應用程序佔用;因此PIN密碼閱讀器在PIN不會離開閱讀器的情況下具有優勢。一些建議:使用安全消息保護傳輸路徑,不要在未加密的電話上存儲任何內容,也不要緩存PIN。 – guidot 2013-04-01 11:08:02
如果您鏈接到您閱讀的關於需要定製Android ROM的原始討論,這將會很有幫助。那部分對我來說也沒有意義。他們的項目中可能有一個隱藏的要求,你可能沒有接受,或者只是沒有看到(而最可能與你的項目無關)。也許他們的討論還比較陳舊,並且是在Android 3.0及以上版本推出的Android usb主機之前發佈的。 – 2013-04-14 21:34:46