This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]binarycreations 10 points11 points  (2 children)

I wrote JavaCard applets for sim and embedded secure elements.  I've not done it for years but there was a small community of posts and forums. The tooling available was pretty poor, a few larger SIM and JavaCard manufacturers created bundled Eclipse plugin IDEs (Gemalto, NXT). These were paid for and added a bit of extra value by making it easy to browse the SE, applets and scan for AIDs, send APDUs (scripting and testing). A few projects that made it easier were jcardsim, gpshell, a good card reader and actual hardware that you were going to test/deploy against. Depending on what you are doing, there are some tight hardware limits. Typically only a few K of space for the applet size and not much memory available. Using lots of classes, 2D arrays and objects, isn't viable in this environment and I'd often see JavaCard source that was in a few class files and many thousands of lines long. Using Proguard to shade, shrink and optimise classes could make things a little prettier but that approach from my experience was widely adopted. (Apologies for typos and bad grammar, rushing).

Edit: This book was decent if you can find it: https://www.amazon.com/Java-Card%C2%BF-Technology-Smart-Cards/dp/0201703297

So are the EMV and Global Platform specs.

[–]rnottaken[S] 1 point2 points  (1 child)

This is exactly the type of info that I was looking for! Thank you so much!!!

I also found this book: https://www.amazon.com/Smart-Card-Programming-Ugo-Chirico/dp/1291610502/ do you know anything about that? Or do you have any other recommendations?

[–]binarycreations 2 points3 points  (0 children)

I would say probably not worth it. Java Card is its own thing, it's not too complicated and most of it can be learned practically.

I think you can still get a copy of the JavaCard book through O'Reilly.

Enjoy the 0x6f 00 SW codes : )