The PC/SC standard

PC/SC stands for “Personal Computer / Smart Cards”. It is a long-established interoperability standard that totally frees software application developers who have to interact with smart cards from the burden of dealing with driver, reader or card protocol-related details.

In short, PC/SC allows the application running in the host to communicate with the application running in the card (or with the card’s operating system itself) at APDU (application-level protocol datagram unit) level using the very same functions, whatever the reader, and even without knowing whether the card is contact (ISO/IEC 7816) or contactless (ISO/IEC 14443, ISO/IEC 15693, etc).

The PC/SC API functions (SCardConnect, SCardTransmit, etc) are provided by a system-supplied library and are consistent among Microsoft Windows, Linux, and Apple Mac OS X, allowing a certain degree of portability at source code level.

Visit www.pcscworkgroup.com for a more complete introduction and to explore the PC/SC specifications.

Note

At the difference of Smart Reader Mode, in the PC/SC Mode the SpringCore device is not technically-speaking a “reader”, for its only role is to convey commands from a computer application to the card, and to convey the card’s responses back. It does not take any active part in the transaction with the card, being limited to a pass-through role. All ISO/IEC and USB standards prefer the word “coupler” to define such a device, yet the word “reader” is the one used in most PC/SC documentations and frequently used by developers and integrators.

For the sake of coherence, we’ll be using the word “reader” for PC/SC couplers too.