Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Are there javax.smartcardio analogues on Android?

Are there javax.smartcardio analogues on Android? but not using Open Mobile API.

Thanks!

like image 499
Taras Avatar asked Feb 18 '23 09:02

Taras


2 Answers

I'm using javax.smartcardio.* as a facade to IsoDep on Android in a project called SCUBA. Note that this is for trancieving APDUs to ISO14443 cards in the field of the NFC chip (in NFC capable Android phones), and not for communicating with SIM or SE.

(Main motivation was to be able to use the same JMRTD ePassport reading API jar both on J2SE and Android without changes.)

EDIT: If you're interested in communicating with a card in an external reader, have a look at this SCDroid project. Also ACS appears to have Android support for their ACR122U reader.

like image 121
martijno Avatar answered Feb 19 '23 22:02

martijno


You can check out the com.android.nfc_extras packages in the AOSP tree. This will allow you to send APDU's to a secure element. It will also allow you to enable card emulation. This will only work on a rooted phone or an AOSP build. You wont be able to install anything on the secure element as you won't have access to the keys (unless you have a engineering sample with a different secure element). NFC extras is a private API so you may not be able to use it on a non-rooted phone.

like image 41
Shane Avatar answered Feb 19 '23 23:02

Shane