PinPad AKA SPR532 and OpenSC mini-howto

To get feedback as early as possible, here's a small tutorial how to get going with SPR532 and pinpad. There are other PinpadReaders and other interfaces but the given interface makes use of TeleTrust Class 2 reader IOCTL mechanism that shall be part of PC/SC version 2.0 spec as Part 10. There is also part 10 of the new PC/SC spec but TeleTrust? interface requires no special features from the PC/SC middleware but from the given IFDHandler itself and thus can be deployed now - by introducing the needed support in reader drivers and application side (OpenSC in this case).

Things you need to try it out:

NOTE: from the three download links above, directory test/ contains the latest versions and thus might be better for the braves.

Notes:

What you can do:

  1. test and provide feedback
  2. make the code of ccid library better. It seriously looks ugly when the SecurePIN functions come to play - though it works.
  3. help to argue how things should look like in different places and how we shall solve some issues - see DesignDiscussion

Known issues:

  1. It is known to work with SPR532 under Linux. In practice it should work without modifications on windows using the latest windows drivers available from the SCM specific download location above.
  2. Support is only for T=0 cards (as of now Estonian and Belgian eID cards have been tested on Linux). It might as well work with T=1 cards, but to try it out you must disable the check for active protocol in reader-pcsc.c. Write a note here if it works.
  3. Support for pinpad operations in general might lag behind your needs. Patches most welcome :)