tags:

views:

223

answers:

2

Hello,

I'm looking to write a simple beginner program using Java Card to run on sim cards. Can anyone point me to some very basic information on getting started? I've seen some descriptions of the toolkit api, but I'm looking for things like: what capabilities are supported by the sim card, how to upload my code to the card (do i need special hardware?), how do I tell whether a sim card supports java card, that sort of thing.


EDIT: I'm specifically looking to run code on sim cards. I've seen some very high level tutorials online, but nothing that goes as far as connecting to a sim card or uploading code. I have a USB sim card reader and a variety of cards to test, but I can't find any detail on how to work with them.

+2  A: 

there is a nice quickstart tutorial on the netbeans page http://netbeans.org/kb/docs/javame/java-card.html

Nikolaus Gradwohl
Thanks. I've been through a few tutorials and overviews, and I can get a basic applet project to compile and run in the simulator, but now I'm looking for some details on running on mobile phone sim cards. Do you know how I would start working with a sim card? I have a USB card reader, and a variety of sim cards from different mobile operaters, but I can't find any detail on what is supported by cards or how to upload and execute my code on the card.
Colin Pickard
if you can use your simcards largely depends on what card operating systems your phone provide uses. Some vodafone cards support it, but i haven't tried compiling sim apps yet. The easiest way to find out if your cards are supported is checking the atr and find out what cos the card is using http://ludovic.rousseau.free.fr/softwares/pcsc-tools/smartcard_list.txt maintains a atr list for many cos.
Nikolaus Gradwohl
very interesting list, thank you
Colin Pickard
+1  A: 

To upload your code to a sim card, it seems to require one of these tools:

I've not got any of these to recognise my ebay sim card reader, so I think I'll have buy a different reader (probably from gemalto)


Edit: I bought the ACS ACR38 SDK, which includes 3 card readers and a selection of cards, along with drivers, code samples and tools. These card readers are working nicely with the Gemalto Developer Suite.

The Usability Lab tutorial provided with the Gemalto Developer Suite is a pretty good way of diving into sim card development.


Very interesting thing to note: it's pretty hard to get your code running on commercial mobile network operator SIM cards. They typically require the correct certificate before you can write to them.

There are hardware workarounds to this. I'm currently investigating TurboSIM and RebelSIM.


I finally gave up on this project due to other pressures. I was not able to get any Java Card running except on the dev cards, which are not compatible with real devices on a mobile network. The cutout cards such as TurboSIM and RebelSIM are a possibility but quite frustrating to work with.

Colin Pickard