CTAPI is a German standard for PC to smartcard reader communication, which is implemented by OpenCT. The international standard is in contrast PC/SC.
You have to enable kernel support depending on how your cardreader is connected:
- For USB cardreader see the USB article.
- For PC-Card cardreader see the PC-Card article.
- For serial cardreader enable serial support.
Portage knows the global
openct USE flag for enabling support for OpenCT in other packages. Enabling this USE flag will pull in dev-libs/openct automatically:
Other USE flags of openct include:
USE flags for dev-libs/openct library for accessing smart card terminals
||Add debug output to the driver library for pcsc-lite.|
||Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally|
||Build a driver library for sys-apps/pcsc-lite, providing PC/SC API access to devices supported by OpenCT.|
||!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur|
||Add USB support to applications that have optional USB support (e.g. cups)|
After setting this you want to update your system so the changes take effect:
emerge --ask --changed-use --deep @world
Add your user to the openct group to be able to access the cardreader:
gpasswd -a larry openct
To tart OpenCT:
To start OpenCT at boot time, add it the default runlevel:
rc-update add openct default
The OpenCT daemon blocks all detected cardreaders for every other software. An exception is, if you use the ifdhandler for PCSC-Lite.
List all detected cardreaders:
If there is a detected cardreader, insert a smartcard. Test the access by checking the ATR:
Detected CCID Compatible Card present, status changed ATR: 3B 75 94 00 00 62 02 02 03 01