An Introduction to Java Card Programming
Java Cards support a Java virtual machine that interprets code written in a subset of Java language. This may help programmers with prior knowledge of Java language to program smart cards. However, the programming paradigm of Java Card can be articulated as somewhat different than traditional Java programming. In this chapter, we will provide an introduction to smart card programming using Java Card and the subtleties of a restricted environment on application design.
KeywordsJava Card Java Terminal Programming Tools Testing
The authors want to thank the reviewers for their constructive comments which were helpful to improve this chapter.
- 1.Multos: The Multos Specification. http://www.multos.com/
- 2.NSA Suite B Cryptography. http://www.nsa.gov/ia/programs/suiteb_cryptography/index.shtml
- 3.ISO/IEC 7816–4, Identification cards - Integrated circuit cards - Part 4: Organization, security adn commands for interchange, (2005). http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=36134
- 4.GlobalPlatform: GlobalPlatform Card Specification, Version 2.2, (2006). http://www.globalplatform.org/specificationscard.asp
- 5.Java Card Platform Specification; Application Programming Interface, Runtime Environment Specification, Virtual Machine Specification, (2006). http://java.sun.com/javacard/specs.html
- 6.EMV 4.2: Book 1 - Application Independent ICC to Terminal Interface Requirements, Book 2 - Security and Key Management, Book 3 - Application Specification, Book 4 - Cardholder, Attendant, and Acquirer Interface Requirements, (2008). http://www.emvco.com/specifications.aspx?id=155
- 7.ISO/IEC 14443: Identification Cards - Contactless Integrated Circuit(s) Cards - Proximity Cards, Part1: Physical Characteristics, Part 2: Radio Frequency Power and Signal Interface, Part3: Initialization and Anticollision, Part 4: Transmission Protocol, (2008). http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=28728
- 8.Java Card Platform Specification: Classic Edition; Application Programming Interface, Runtime Environment Specification, Virtual Machine Specification, Connected Edition; Runtime Environment Specification, Java Servlet Specification, Application Programming Interface, Virtual Machine Specification, Sample Structure of Application Modules, (2009). http://java.sun.com/javacard/3.0.1/specs.jsp
- 9.BasicCard (Visited June, 2010). http://basiccard.com/
- 10.Akram, R.N., Markantonakis, K., Mayes, K.: Firewall Mechanism in a User Centric Smart Card Ownership Model. In: D. Gollmann, J.L. Lanet, J. Iguchi-Cartigny (eds.) Smart Card Research and Advanced Application, 9th IFIP WG 8.8/11.2 International Conference, CARDIS 2010, vol. 6035/2010, pp. 118–132. Springer, Passau, Germany (2010). DOI http://dx.doi.org/10.1007/978-3-642-12510-2
- 11.Royal Holloway, University of London. Smart Card Centre website. http://www.scc.rhul.ac.uk/books/ssed/embedded/chapter_22.
- 12.Rankl, W.: Smart Card Applications: Design Models for Using and Programming Smart Cards. Wiley (2007)Google Scholar
- 13.Rankl, W., Effing, W.: Smart Card Handbook. John Wiley & Sons, Inc., New York, NY, USA (2003)Google Scholar