The smartcard framework provides a mechanism to abstract the details
of interacting with smart cards and smart cardreaders (called card terminals).
The framework is based on the OpenCard Framework V1.1 (OCF) with Sun extensions
to allow OCF to operate in a multi-user environment. The core OCF software
protocol stack is implemented as a system service daemon. This implementation
allows smartcards and card terminals to be shared cooperatively among many
different clients on the system while providing access control to the smart
card and card terminal resources on a per-UID basis.
An event dispatcher is provided to inform clients of events occuring
on the card and at the card terminal, such as card insertion and card removal.
A high-level authentication mechanism is provided to allow clients
to perform smartcard-based authentications without requiring knowledge of
specific card or reader authentication features.
A set of applet administration tools is provided for JavaCards that
support downloading Java applets (although applet build tools are not provided).
Administration of the smartcard framework is provided with the smartcard(1M)
command line administration utility and the smartcardguiadmin(1) GUI administration
Support for several card terminals is provided:
Support for several smart cards is provided:
- Schlumberger Cyberflex Access JavaCard
- Schlumberger MicroPayflex
- Dallas Semiconductor Java iButton JavaCard
Each of the supported cards has a complete set of OCF card services
that implement the necessary functionality for authentication and secure
storage of data. For the two supported JavaCards, an authentication and
secure data storage applet is provided that can be loaded into these cards
with the supplied applet administration tools. See smartcard(1M).
A PAM smart card module is provided to allow PAM clients to use smartcard-based
authentication. See pam_smartcard(5)
CDE is able to use the PAM smart card module for dtlogin and dtsession authentication. CDE also uses
the smartcard framework event dispatcher to listen for events on the card
terminal and provide corresponding visual feedback to the user.