SmartCard Handler – Java Library

Reading Time: 1

SmartCard Handler, shortly named SCHandler, is a library that abstracts the handling of smart cards. The underlying code base uses the newly created package java.smartcardio.* (since SUN Java 1.6). Currently there are no dependencies of third part libraries. That makes the code very portable.


On the Hardware site:

  • Smartcard Reader: I use a Omnikey 5321 USB that supports RFID (13.56 Mhz) and contact smart cards.
  • Contactless or contact smart card: I use Mifare 1K cards for RFID and the FSFE card (is a OpenPGP card) for contact smart card.

On the software site:

  • Java 1.6: During my tests the free implementation IcedTea6 had no support for the javax.smartcardio.* package.

Currently there is a very basic implementation for the Mifare1K and the FSFE card. The abstraction was implementation on the base of the specification, that is available for the two card types.

Source Code (GitWeb)


  1. Adding now the possibility to store data on the mifare1k card without bothering in which block the data is stored. Additional the read out of the data is now possible. The return value is not a byte array but the stored string.

  2. The OMNIKEY® 5321 is a dual interface PC-linked reader that reads/writes to both a 13.56 MHz contactless smart card and virtually any contact smart card. The dual interface feature economically supports end-user environments where both contactless and contact smart card technology may be in use. The reader supports contactless smart cards with up to 848kbps in the fastest ISO 14443 transmission mode.

Comments are closed.