SmartCards And Android

I'm a C/C++ programmer with good windows and linux development experience and I also know a bit of java too. Recently, a client asked me to develop an Android app for him, wich, will most likely run on a Samsung Galaxy S or Galaxy S II, with Android 2.3, that basicaly consists in connecting a standard smartcard reader on the USB port of the device and using it to access the smartcard. I have programmed smartcards before, but I have no experience with android. So my questions are:

Is it possible to do what I need in this hardware and O.S.?

Will I have to write my own driver to interface with the USB?

Going into more detail, I need to at least be able to execute APDU commands with the cards. Something like the PC/SC standard. Are there any solutions in this subject already implemented?

Any ideas of where to begin?

Thanks in advance.

Answers


Short answer: not really.

Long answer: you might need to use custom firmware (Android build) to do this. Here's a project that does this, although their focus is on using embedded chips not external readers. They have a PC/SC implementation for Android.

Android has USB host support since 3.1, not sure if that is sufficient to implement a reader driver, so you can talk to your card: http://developer.android.com/guide/topics/usb/host.html Even if you do though, you will need to somehow bridge it to your PC/SC stack.

Please open source it if you implement it :)


Did you test to connect a external smartcard reader to connect to a android device. What where results?

Greetings,

Wouter


Need Your Help

Linq help - Sql trace returns result, but datacontext returning null

c# sql linq linq-to-sql

var adminCov = db.SearchAgg_AdminCovs.SingleOrDefault(l => l.AdminCovGuid == covSourceGuid);