Jakuje edited this page Dec 13, 2016 · 37 revisions
Clone this wiki locally

OpenSC – tools and libraries for smart cards

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 of volunteers 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 OpenSC-Credits.

If you are new to smart cards, see OverView and FrequentlyAskedQuestions pages. Always check SecurityAdvisories.

The latest stable version of OpenSC is 0.16.0 (released on 03.06.2016)

The previous stable version of OpenSC was 0.15.0 (released on 16.05.2015)

Nightly and CI builds for Windows are available at AppVeyor See the history to pick the build that matches the latest commit in master.

The oldstable version of OpenSC 0.14.0 (released on 26.06.2014)

The oldstable version of OpenSC 0.13.0 (released on 04.12.2012)

The oldstable version of OpenSC 0.12.2 [milestone:0.12.2 milestone]). See DownloadRelease for detailed information.

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.


  • 03.06.2016: OpenSC 0.16.0 is available.
  • 16.05.2015: OpenSC 0.15.0 is available.
  • 30.06.2014: OpenSC 0.14.0 is available.
  • 04.12.2012: OpenSC 0.13.0 is available. DownloadRelease
  • 14.07.2011: OpenSC 0.12.2 is available. DownloadRelease
  • 09.06.2011: a talk covering OpenSC, open source and eID in Europe on EEMA eID Management Conference
  • 18.04.2011: OpenSC 0.12.1 is available. DownloadRelease
  • 14.04.2011: NightlyBuilds are available for Windows and Mac OS X users.
  • 05.02.2011: OpenSC was at FOSDEM 2011.
  • 17.12.2010 SECURITY: (CVE-2010-4523) A rogue smart card, specially crafted for this purpose, can be used to potentially execute arbitrary code if inserted to a local machine. See SecurityAdvisories.


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