OpenSC
OpenSC provides a set of libraries and utilities to work with smart cards. Its main focus is on cards that support cryptographic operations, and facilitate their use in security applications such as authentication, mail encryption and digital signatures. OpenSC implements the PKCS#11 API so applications supporting this API (such as Mozilla Firefox and Thunderbird) can use it. On the card OpenSC implements the PKCS#15 standard and aims to be compatible with every software/card that does so, too.
OpenSC is written by an international team and is licensed as Open Source software under the LGPL license version 2.1 of the License, or (at your option) any later version. For a list of all authors and contributors as well as detailed license information see AuthorsAndCredits.
If you are new to smart cards, see OverView and FrequentlyAskedQuestions pages. Always check SecurityAdvisories.
The latest stable version of OpenSC is 0.11.13 (released on 16.02.2010). PreReleases of the upcoming 0.12.0 are also available.
Before you GetStarted with using OpenSC be sure to check the SupportedHardware list as typical smart cards are incompatible with all other smart cards and come with no public documentation.
DeveloperInformation is available for those who want to build smart card capable applications. Developers who want to GetInvolved with OpenSC are needed as well.
Sub-projects
OpenSC effort consists of various sub-projects that can be used independently as well, without OpenSC:
- engine_pkcs11 is an OpenSSL engine to use PKCS#11 providers, either from command line or from applications
- libp11 is a small C wrapper library for working with PKCS#11 modules.
- pkcs11-helper eases working with PKCS#11 modules, by implementing common tasks.
- PAM-PKCS#11 implements various authentication methods
- pam_p11 is a small and simple PAM module for local authentication
- OpenCT implements a reader driver interface for various non-standard readers on Linux, meant to be used with OpenSC.
- OpenSC-Java is a Java<->OpenSC bridge?
Quick links
- Download
- ApplicationSupport - list of applications with smart card support
(The following should be moved/merged into other content and some pages merged/deleted)
Starting Points
- OverView - A short introduction what OpenSC is and how it fits into the big picture.
- SupportedHardware - Supported hardware including smartcards and smartcard readers.
- OperatingSystems - What your operating system needs to have for OpenSC to work.
- CompilingInstalling - How to compile and install OpenSC yourself.
- QuickStart - installation and basic steps to initialize a blank smart card.
- UsingOpensc - options when using OpenSC.
- PKCS#15 Initialization Guide with many small details
- PinpadReaders - are special because there was no standard for pinpads for a long time.
- ReplacingCertificates - does not work for all cards and is a bit tricky.
- TroubleShooting explains the most common problems and how to solve them.
- ApplicationSupport - using smart cards with applications.
- MailingLists -- How to contact us.