INTRODUCTION TO PC/SC DEVELOPMENT
PC/SC is a standard to interface computers with smartcards, available on most operating systems, including Windows and Linux.
PC/SC coupling devices need a driver that allows applications to reach the card simply.
There are plenty of documents and tutorials regarding the PC/SC API are available on the web, including the reference documentation on MSDN. Anyway, if you're still unfamiliar with the API, we've written a short manual that is your recommended starting point :
As PC/SC has been designed for smartcards -and at a period where smartcards were only contact cards-, there's nothing immediate when it goes to contactless cards not to mention contactless memory cards (such as MIFARE® for instance).
Fortunately, SpringCard PC/SC readers make it easy to work with those cards, thanks to an embedded APDU interpreter, that translates "classical smartcard commands" into efficient sequences to read and write contactless memory cards and RFID tags.
The relevant documentation is to be found in these manuals, together with advanced information regarding the specific ATR of contactless cards, driving the reader's LEDs and buzzer, and more :
- CSB6 Developer's Reference Manual for CSB6, CrazyWriter, Prox'N'Roll PC/SC
- H663 Developer's Reference Manual for H663, CSB-HSP, CrazyWriter-HSP
- H512 Developer's Reference Manual for H512 and NFC'Roll
SpringCard SDK for PC/SC
To demonstrate all the capabilities of SpringCard PC/SC readers, we offer a complete set of samples that show how to use the contactless smart cards, the RFID chips and the NFC Tags from an application running under Windows. The SpringCard QuickStart for PC/SC is a ready-to-use package you may download if you just need to execute the applications, and don't want to develop your own solutions.
For developers and integrators, the SpringCard SDK for PC/SC on Windows provides the source code to all the tools.
The provided sample projects cover :
- Native development using C or C++
- Development targetting the .NET framework, and using C# or VB.Net
- Supported environments : Windows, Linux, Mac OS
The Java SmartCard I/O API (javax.smartcardio) is defined by JSR 268 and available since Java 6 (JRE / JDK 1.6). It is a portable and interoperable way to access smartcards from Java application or applets, and it works on top of the PC/SC stack.
The complete documentation of this Java API is available in Sun's Java online reference.
www.codeproject.com is a web board full of really interesting tutorials and resources for developers.
Don't miss the two interesting articles (with comprehensive and reusable source code) written by Olivier Rouit :
- A smartcard framework for .NET provides high-level methods to invoke PC/SC functions from C#, VB, or other .NET language,
- An XML framework for .NET to program smartcard applications is an interesting approach to separate the low-level smartcard APDU commands from the actual application logic.
The tutorial How to access smartcards simply and effectively contains Visual C++ object-oriented source code.