Skip to main content

An Introduction to Java Card Programming

  • Chapter
  • First Online:

Abstract

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   189.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   249.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   249.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    CAP: The Java Card Converted APplet (CAP) is an Java Card interoperable file format used to deploy an application on smart cards.

  2. 2.

    GlobalPlatform: The GlobalPlatform specification provides a secure, reliable and interoperable application management framework for a multi-application smart cards.

  3. 3.

    Capgen: It is part of the Java Card development kit and used to produce CAP files from class files.

References

  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 

Download references

Acknowledgments

The authors want to thank the reviewers for their constructive comments which were helpful to improve this chapter.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Raja Naeem Akram .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer Science+Business Media New York

About this chapter

Cite this chapter

Akram, R.N., Markantonakis, K., Mayes, K. (2014). An Introduction to Java Card Programming. In: Markantonakis, K., Mayes, K. (eds) Secure Smart Embedded Devices, Platforms and Applications. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-7915-4_22

Download citation

  • DOI: https://doi.org/10.1007/978-1-4614-7915-4_22

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4614-7914-7

  • Online ISBN: 978-1-4614-7915-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics