Skip to main content

Smart Card Reader and Mobile APIs

  • Chapter
  • First Online:
Book cover Smart Cards, Tokens, Security and Applications

Abstract

The aim of this chapter is to describe the main middlewares and APIs used to manage and access smart card readers and smart cards, along with the mobile phone APIs to access smart cards, SIM card and Secure Elements. It is illustrated by samples of code that the reader of this book will be able to reuse to quickly develop his/her first applications to communicate with smart cards.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 69.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 89.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

Institutional subscriptions

Notes

  1. 1.

    May 2016.

  2. 2.

    May 2016.

References

  1. USB Implementers Forum. More Information Available via http://www.usb.org/about, Cited 14 Apr 2016.

  2. OpenCard Framework. More Information Available via https://sourceforge.net/projects/opencard/, Cited 14 Apr 2016.

  3. Uwe Hansmann, Martin S. Nicklous, Thomas Schck, and Frank Seliger. Smart Card Application Development Using Java. Springer, 2000.

    Google Scholar 

  4. Vesna Hassler, Martin Manninger, Mikhail Gordeev, and Christoph Muller. Java Card for E-Payment Applications. Artech House Publishers, 2001.

    Google Scholar 

  5. Java Smartcard I/O API. More Information Available via https://docs.oracle.com/javase/8/docs/jre/api/security/smartcardio/spec/javax/smartcardio/package-summary.html, Cited 14 Apr 2016.

  6. Frank Seliger. The OpenCard Framework and PC/SC – Two New Industry Initiatives for Smart Cards, 1999. More Information Available via http://www.scardsoft.com/documents/OCF/OCF_PCSC.pdf, Cited 14 Apr 2016.

  7. javax.smartcardio provider with less PC/SC restrictions. More Information Available via https://github.com/intarsys/smartcard-io, Cited 14 Apr 2016.

  8. Project SCUBA. More Information Available via http://scuba.sourceforge.net/, Cited 14 Apr 2016.

  9. A re-implementation of the javax.smartcardio API. More Information Available via https://github.com/jnasmartcardio/jnasmartcardio, Cited 14 Apr 2016.

  10. A Java applet for smartcard-aware web pages. More Information Available via http://www.springcard.com/en/download/find/file/pmd0160, Cited 14 Apr 2016.

  11. PC/SC Workgroup. More Information Available via http://www.pcscworkgroup.com/, Cited 14 Apr 2016.

  12. PC/SC Workgroup. PC/SC Workgroup Specifications 1.0. More Information Available via http://www.pcscworkgroup.com/specifications/specdownloadV1.php, Cited 14 Apr 2016.

  13. PC/SC Workgroup. PC/SC Workgroup Specifications 2.01.14. November 2013. More Information Available via http://www.pcscworkgroup.com/specifications/specdownload.php, Cited 14 Apr 2016.

  14. pcsc-lite home page. More Information Available via http://alioth.debian.org/projects/pcsclite/, Cited 14 Apr 2016.

  15. Microsoft. SCard API. More Information Available via https://msdn.microsoft.com/en-us/library/aa380149(v=vs.85).aspx, Cited 14 Apr 2016.

  16. WHQL Testing - overview. More Information Available via http://www.microsoft.com/whdc/whql/, Cited 14 Apr 2016.

  17. USB Implementers Forum. Universal Serial Bus Device Class Specification for USB Chip/Smart Card Interface Devices version 1.0, March 2001. More Information Available via http://www.usb.org/developers/docs/devclass_docs/DWG_Smart-Card_USB-ICC_ICCD_rev10.pdf, Cited 14 Apr 2016.

  18. USB Implementers Forum. Universal Serial Bus Device Class Specification for USB Chip/Smart Card Interface Devices version 1.1, April 2005. More Information Available via http://www.usb.org/developers/docs/devclass_docs/DWG_Smart-Card_CCID_Rev110.pdf, Cited 14 Apr 2016.

  19. Microsoft. CryptoAPI. More Information Available via https://msdn.microsoft.com/en-us/library/aa382404(v=vs.85).aspx, Cited 14 Apr 2016.

  20. David Corcoran. M.U.S.C.L.E: porting the PC/SC architecture to Linux. Gemplus Developers Conference 99, June 1999.

    Google Scholar 

  21. MUSCLE home page. More Information Available via http://pcsclite.alioth.debian.org/musclecard.com/software.html, Cited 14 Apr 2016.

  22. pcsc-lite SCard API. More Information Available via http://pcsclite.alioth.debian.org/pcsc-lite/, Cited 14 Apr 2016.

  23. pcsc-lite Detailed Description. More Information Available via http://pcsclite.alioth.debian.org/api/group__API.html#details, Cited 14 Apr 2016.

  24. Generic CCID IFD Handler home page. More Information Available via http://pcsclite.alioth.debian.org/ccid.html, Cited 14 Apr 2016.

  25. PC/SC APDU inspection and manipulation tool. More Information Available via http://www.fi.muni.cz/~xsvenda/apduinspect.html, Cited 14 Apr 2016.

  26. PCSC API spy, third try. More Information Available via http://ludovicrousseau.blogspot.fr/2011/11/pcsc-api-spy-third-try.html, Cited 14 Apr 2016.

  27. PCSC API spy, on Mac OS X. More Information Available via http://ludovicrousseau.blogspot.fr/2014/02/pcsc-api-spy-on-mac-os-x.html, Cited 14 Apr 2016.

  28. Perl Wrappers for PC/SC. More Information Available via http://ludovic.rousseau.free.fr/softwares/pcsc-perl/, Cited 14 Apr 2016.

  29. Python Wrappers for PC/SC. More Information Available via http://pyscard.sourceforge.net/, Cited 14 Apr 2016.

  30. GNU Prolog Wrappers for PC/SC. More Information Available via http://gprolog.cvs.sourceforge.net/gprolog/contribs/gplpcsc/, Cited 14 Apr 2016.

  31. Ruby Wrappers for PC/SC. More Information Available via https://github.com/costan/smartcard, Cited 14 Apr 2016.

  32. Java Wrappers for PC/SC. More Information Available via http://damien.sauveron.fr/software-developments/tools/, Cited 14 Apr 2016.

  33. PC/SC sample in different languages. More Information Available via http://ludovicrousseau.blogspot.fr/2010/04/pcsc-sample-in-different-languages.html, Cited 14 Apr 2016.

  34. Design Issues for Foreign Function Interfaces. A survey of existing native interfaces for several languages and some suggestions. More Information Available via http://autocad.xarch.at/lisp/ffis.html, Cited 14 Apr 2016.

  35. OCF To PC/SC Shim. More Information Available via http://damien.sauveron.fr/software-developments/tools/, Cited 14 Apr 2016.

  36. Welcome to the Virtual Smart Card Architecture documentation! More Information Available via http://frankmorgner.github.io/vsmartcard/, Cited 14 Apr 2016.

  37. PC/SC Relay. More Information Available via https://frankmorgner.github.io/vsmartcard/pcsc-relay/README.html#pcsc-relay, Cited 14 Apr 2016.

  38. Nikolay Elenkov. Android Security Internals. An In-Depth Guide to Androids Security Architecture. No Starch Press. 2015. ISBN: 978-1-59327-581-5.

    Google Scholar 

  39. Nikolay Elenkov. Accessing the embedded secure element in Android 4.x. More Information Available via http://nelenkov.blogspot.fr/2012/08/accessing-embedded-secure-element-in.html, Cited 14 Apr 2016.

  40. Nikolay Elenkov. Using the SIM card as a secure element in Android. More Information Available via http://nelenkov.blogspot.fr/2013/09/using-sim-card-as-secure-element.html, Cited 14 Apr 2016.

  41. SIMAlliance Open Mobile API Specification V3.2. More Information Available via http://simalliance.org/wp-content/uploads/2015/03/SIMalliance_OpenMobileAPI_v3_2.pdf, Cited 14 Apr 2016.

  42. SEEK for Android. More Information Available via http://seek-for-android.github.io/, Cited 14 Apr 2016.

  43. Michael Hölzl and Michael Roland. SEEK adaptations in RIL for Galaxy S3. More Information Available via https://usmile.at/blog/seek-galaxys3, Cited 14 Apr 2016.

  44. SEEK – Emulator extension. More Information Available via https://github.com/seek-for-android/pool/wiki/EmulatorExtension, Cited 14 Apr 2016.

  45. SIMAlliance Open Mobile API Specification V3.0. More Information Available via http://simalliance.org/wp-content/uploads/2015/03/SIMalliance_OpenMobileAPI3_0_release1_FINAL3.pdf, Cited 14 Apr 2016.

  46. Oracle. Security and Trust Services API for J2ME (SATSA); JSR 177, 2016. More Information Available via http://www.oracle.com/technetwork/java/satsa-136426.html, Cited 14 Apr 2016.

  47. Keith Mayes, Konstantinos Markantonakis. Secure Smart Embedded Devices, Platforms and Applications. Springer. 2014. ISBN 978-1-4614-7915-4.

    Google Scholar 

  48. bR301 Android API. More Information Available via https://github.com/FeitianSmartcardReader/bR301_Android/blob/master/Docs/bR301_Android_Developer_Guide_E.pdf, Cited 14 Apr 2016.

  49. bR301 Android Samples. More Information Available via https://github.com/FeitianSmartcardReader/bR301_Android/tree/master/Sample%20code, Cited 14 Apr 2016.

  50. bR301 & iR301 iOS API. More Information Available via https://github.com/FeitianSmartcardReader/bR301_iOS_SDK_RELEASE, Cited 14 Apr 2016.

  51. bR301 & iR301 iOS Samples. More Information Available via https://github.com/FeitianSmartcardReader/bR301_iOS_SDK_RELEASE/tree/master/Sample, Cited 14 Apr 2016.

  52. aR530 Android API. More Information Available via https://github.com/FeitianSmartcardReader/aR530-Audiojack-NFC-Reader/blob/master/aR530_SDK_V1.4_Latest/Android/Docs/aR530_Developer_Guide__Android_E.pdf, Cited 14 Apr 2016.

  53. aR530 Android Samples. More Information Available via https://github.com/FeitianSmartcardReader/aR530-Audiojack-NFC-Reader/tree/master/aR530_SDK_V1.4_Latest/Android/Demo%20code/src/com/ft/mobile/reader/test, Cited 14 Apr 2016.

  54. aR530 iOS Samples. More Information Available via https://github.com/FeitianSmartcardReader/aR530-Audiojack-NFC-Reader/tree/master/aR530_SDK_V1.4_Latest/iOS/Demo%20code/com.ftsafe.aR530.demo, Cited 14 Apr 2016.

  55. aR530 iOS API. More Information Available via https://github.com/FeitianSmartcardReader/aR530-Audiojack-NFC-Reader/blob/master/aR530_SDK_V1.4_Latest/iOS/DOC/aR530_Developer_Guide_iOS_E_.pdf, Cited 14 Apr 2016.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Damien Sauveron .

Editor information

Editors and Affiliations

Appendix A

Appendix A

12.1.1 C Language

figure q
figure r
figure s
figure t

12.1.2 Perl Language

figure u

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this chapter

Cite this chapter

Sauveron, D., Akram, R.N., Markantonakis, K. (2017). Smart Card Reader and Mobile APIs. In: Mayes, K., Markantonakis, K. (eds) Smart Cards, Tokens, Security and Applications. Springer, Cham. https://doi.org/10.1007/978-3-319-50500-8_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-50500-8_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-50498-8

  • Online ISBN: 978-3-319-50500-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics