OSS TanbouSign in with GitHub

Access smart cards through common interfaces such as PKCS#11

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
3,104
Primary language
C
License
LGPL-2.1
Repository last updated
Oct 5, 2026
On this page

Overview

OpenSC provides libraries, a PKCS#11 module, and administration tools for smart cards and cryptographic tokens. Applications can handle keys and certificates through common operations across supported cards.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Connect cards and applications through common APIs

Its PKCS#11 module, OpenSC library, and tools such as pkcs11-tool inspect supported cards and public objects.

Sources: [1][3]

Best fit

Fit enterprise certificates and hardware-backed keys

It suits signing, authentication, and certificate-management systems that connect smart cards to existing applications.

Sources: [1]

Before adoption

Check drivers, permissions, and card-specific behavior

Building requires a C compiler, Autotools, make, pkg-config, and PC/SC development files. Card writes and PIN operations vary by device and require separate validation. Distribution uses LGPL-2.1, whose obligations must be reviewed for the chosen integration.

Sources: [1][2][4]

Official sources

  1. [1]OpenSC README at 0.27.1(2026-10-05)
  2. [2]OpenSC configure requirements at 0.27.1(2026-10-05)
  3. [3]pkcs11-tool manual source at 0.27.1(2026-10-05)
  4. [4]OpenSC COPYING at 0.27.1(2026-10-05)
Supplemental curator note

Inspect only the pinned module Cryptoki information without a card first, then validate the target card, PC/SC service, and PIN operations in a controlled environment.

Try it in 3 steps

  1. 1

    Fetch the pinned source

    On a Unix-like system, install bash or zsh, Git, a C compiler, Autotools, make, pkg-config, and PC/SC development files; fetch 0.27.1 and continue in opensc-demo.

    git clone --branch 0.27.1 --depth 1 https://github.com/OpenSC/OpenSC.git opensc-demo && cd opensc-demo
  2. 2

    Build OpenSC and its PKCS#11 module

    Configure without generated documentation and build pkcs11-tool plus the OpenSC PKCS#11 module. This performs no card operation.

    ./bootstrap && ./configure --disable-doc && make -j2
  3. 3

    Inspect module information safely

    Locate the built shared library, save its --show-info Cryptoki metadata, and require the version line without touching a card, PIN, or private key. A working PC/SC runtime is still required.

    module=$(find src/pkcs11/.libs -type f '(' -name 'opensc-pkcs11.so' -o -name 'opensc-pkcs11.dylib' ')' -print -quit); test -n "$module" && (set -o pipefail; src/tools/pkcs11-tool --module "$module" --show-info | tee pkcs11-module-info.txt) && grep -F 'Cryptoki version' pkcs11-module-info.txt
Check the official README

Growth

Growth trends · Last 30 days

3,104 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
68
Open PRs
41

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • pkcs11
  • minidriver
  • smartcard
  • security
  • c
  • opensc
Stars
3,104
Forks
858
Watchers
135
Open issues
48
Contributors
231
Owner type
Organization
Primary language
C
License
LGPL-2.1
Repository last updated
Oct 5, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?