Is it possible to communicate with Secure Element Applet on Android?

It is my understanding that Google restricts the development of anything that touches the secure element to "trusted" developers. However, what I want to know is if it's possible to communicate with already-installed applets without any kind of special permission (perhaps root is acceptable).

For example, say there's a mastercard applet on there, is it possible to send the various APDU commands to it? I'm not looking to access or change any data that's on the UICC, I simply want to "use" an app that's stored on it. An example of another App that must do this is Google Wallet, as it communicates with other "applets" on the secure element.



Sort of. In 4.0.4 there is whitelist of packages and keys that are allowed to communicate with the secure element. If you add your app/certificate to the list, you should be able to connect. However, third party apps will most likely require authentication, and if you don't have the proper secure channel key, you won't be able to connect to the applet. What are you trying to do?

Reference to similar question with some more details: Secure element Access Control on ICS 4.0.4

Need Your Help

Is there an easier way to share file descriptors between unrelated processes on modern day Linux (i.e., ver>=3.0.0)?

linux linux-kernel system-calls

Does Linux provide a better way to send an fd from one process to another, for sharing, than using a sendmsg() syscall to send it (a message with type set to SCM_RIGHTS) over a UNIX Domain socket? I