Reader & Terminal to Card Communication

All cards and readers that follow ISO 7816-3 standards have a standardized set of commands that enable communication for CPU cards. These commands, called APDUs (Application Protocol Data Units) can be executed at a very low level, or they can be scripted into APIs which enable the user to send commands from an application to a reader.

The reader communicates with the card where the response to the request takes place. From a technical perspective, the key is the APIs that are chosen. These layers of software can enable effective application communication with smart cards and readers from more than one manufacturer. Most terminal SDKs come with a customized API for that platform. They are typically in some form of C, C++ or C # and will have the header files included. Many smart card readers have specific drivers/APIs for memory cards. For ISO7816 processor cards the PC/SC interface is often employed, but it has limitations. This is especially important if you have both memory and microprocessor cards that can are used in the same system. Some APIs give the software designer the ability to select readers from multiple vendors.

The following are some of the function calls provided for transporting APDUs and their functions:

Reader Select, Reader Connect, Reader Disconnect, Card Connect, Card Disconnect, Proprietary Commands for specific readers and cards, Allow ISO Commands to be passed to cards using standard ISO format, Allow ISO Commands to be sent to cards using a simplified or shortcut format (As in the CardLogix Winplex® API)