2013-08-21 5 views
0

Я новичок в разработке Android NFC. Я создал приложение для Android, которое с помощью ISOdep отправляет данные на java-карту. В моем апплете java-карты я получаю данные из команды APDU и зашифрованные данные с использованием RSA2048 и отправьте обратно на Android-приложение. Так что я использую NEXUS S и Jcop 81 для тестирования. Моя проблема в том, когда я удаляю java-карту при обработке шифрования, устройство Android (nexus s) дает проводной звук. После этого я пытаюсь нажать снова, тогда всегда он дает этот проводной звук. И затем я перезаписываю java-карту с помощью инструментов JCOP и снова нажимаю. Теперь это работает нормально. В этом How to Reset java card using APDU command я спросил, как сбросить карту Java до того, как мы выберем applet. Но API-интерфейс андроида или Java-карты не работает, t для RESET. Как я могу решить эту проблему. Есть ли способ начать транзакцию и endtransaction, как в javax.smartcardio? Или Есть ли другой способ сделать это? ocess? Другая вещь, которую я хочу знать, эта проблема распространена для всех устройств Android? SajithОтправить данные с устройства android на ошибку java card

+0

Можете ли вы объяснить, что вы подразумеваете под «перезагрузкой карты Java с помощью инструментов JCOP»? Какие конкретные шаги вы предпримете? PS. Я сам программирую оболочку JCOP. –

+0

Спасибо, Owlsted. Он рад получить от вас советы. Сброс означает, что я посылаю команду/atr, а затем я думал, что она перезагружается. Причина в том, что я могу отправить данные обратно на java-карту. – Sajithv

+0

Если вы до этого, я нашел [это] (https://forums.oracle.com/thread/2511437) очень интересное чтение. –

ответ

0

с использованием getATR() в библиотеках Java javax.smartcardio не сбрасывает карту. Так что вам нужно удалить эту карту из считывателя.

+0

Но в ОС Android не поддерживается отключить java-карту. – Sajithv

+0

Он хотел физически удалить карту вручную. Это должно работать, но поскольку это решение без какого-либо развития, это может быть не в тему: P –