An Introduction to Java Card Programming

  • Raja Naeem AkramEmail author
  • Konstantinos Markantonakis
  • Keith Mayes


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.


Java 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. 1.
    Multos: The Multos Specification.
  2. 2.
  3. 3.
    ISO/IEC 7816–4, Identification cards - Integrated circuit cards - Part 4: Organization, security adn commands for interchange, (2005).
  4. 4.
    GlobalPlatform: GlobalPlatform Card Specification, Version 2.2, (2006).
  5. 5.
    Java Card Platform Specification; Application Programming Interface, Runtime Environment Specification, Virtual Machine Specification, (2006).
  6. 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).
  7. 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).
  8. 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).
  9. 9.
    BasicCard (Visited June, 2010).
  10. 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
  11. 11.
    Royal Holloway, University of London. Smart Card Centre website.
  12. 12.
    Rankl, W.: Smart Card Applications: Design Models for Using and Programming Smart Cards. Wiley (2007)Google Scholar
  13. 13.
    Rankl, W., Effing, W.: Smart Card Handbook. John Wiley & Sons, Inc., New York, NY, USA (2003)Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Raja Naeem Akram
    • 1
    Email author
  • Konstantinos Markantonakis
    • 2
  • Keith Mayes
    • 2
  1. 1.Department of Computer ScienceUniversity of WaikatoHamiltonNew Zealand
  2. 2.Information Security Group, Smart Card Centre, Royal HollowayUniversity of LondonEghamUnited Kingdom

Personalised recommendations