[英]How Can I Read NFC Card with IsoDep?
我想通過NFC讀取RFID卡,該卡來自哥倫比亞波哥大的當地交通系統。 我知道這是可能的,因為我已經下載了執行此操作的android應用!
到目前為止的進度...當我將手機放在卡片上時,我的應用程序以ACTION_TECH_DISCOVERED的意圖啟動,並且我可以讀取卡片UID之類的信息,但是我不知道如何讀取所需的信息,特別是卡上的錢。
我在stackoverflow上閱讀過,我需要做的是找到我想要訪問的應用程序並發送ADPU命令,但是看來我的卡沒有任何應用程序,因為使用任何android應用程序瀏覽該卡,它總是說找到0個應用程序。 因此,我不知道該從哪里獲得此信息。
我的卡的技術信息為:
謝謝!
我在stackoverflow中[閱讀]這里,我需要做的是找到我要訪問的應用程序並發送ADPU命令。
正確,這正是您需要做的。 獲得此信息(即卡的通信協議規范)后,您將執行以下操作:
Tag tag = ... // TODO: get tag handle from intent
IsoDep isoDep = IsoDep.get(tag);
if (isoDep != null) {
isoDep.connect();
byte[] response = isoDep.transceive(SELECT_APDU); // SELECT_APDU = 00 A4 0400 <Lc> <APPLICATION ID>
// TODO: send further APDU commands according to the protocol specification
//response = isoDep.transceive(APDU);
isoDep.close();
}
[...]但看來我的卡沒有任何應用程序,因為使用任何android應用程序瀏覽該卡時,它始終顯示Found 0 Applications。
這通常僅意味着卡上沒有掃描器應用程序*知道的應用程序*。 許多ISO-DEP卡沒有卡上可用的應用程序的公共可讀目錄。 (盡管某些卡可能具有EF.DIR或類似的東西。)
因此,我不知道該從哪里獲得此信息。
是的,這通常是棘手的部分。 有幾種解決方法:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.