2013-04-09 65 views
0

由於ISO 7816-4標準,Android中是否有可以與NFC設備通信的庫?我的意思是實現APDU的ready命令,並且不需要手動發送字節?與NFC設備通信 - 安卓設備 - ISO 7816-4

或者唯一的方法是從APDU發送我的設備字節?如果是這樣,如何構建適當的APDU並計算字段值(CLA,INS等)?

我的意圖是進入卡片上的目錄並從卡片上讀取文件。

感謝您分享知識 - 提前:)

回答

2

我不知道一個標準庫(既不爲Android或任何其他plattform),並找到一個低概率,因爲卡有如此不同指令和功能的子集實現。一個統一的圖書館有什麼好處,如果沒有把握,那麼產生的APDU會起作用?因此,大多數解決方案都採用中間件,該中間件使用顯示支持功能的描述文件,有時與某些活動代碼結合重新格式化命令或通過一系列APDU組合所需功能。由於這種解決方案付出了巨大的努力,其中大部分都是嚴格目的導向的,如PKCS#11。因此,無論您的解決方案是針對一個存在這種框架的小型部門,還是您必須自己組合這些字節。看看this answer的7816指針,其中第4部分,第8部分和第9部分是最重要的,或者搜索ISO 24727(也是一個多部分標準),它也試圖通過來自不同製造商的卡的統一前端。

您的具體問題有一個問題,那就是沒有標準的「目錄」命令(經常存在專有命令)。雖然存在EF.DIR,但它只是卡上的應用程序列表(由其AID表示),它是文件上的一個級別,因此您還需要應用程序規範。另外閱讀可能需要訪問權限,因此之前需要某種認證(PIN或挑戰 - 響應測試)。