OpenSC — набор утилит и библиотек для работы со смарт‑картами и криптографическими токенами, предназначенный для реализации операций аутентификации, шифрования и цифровой подписи. Проект обеспечивает реализацию протоколов и стандартов, используемых для взаимодействия с аппаратными средствами безопасности, включая поддержку интерфейсов для доступа к ключам и сертификатам, хранящимся на смарт‑картах и токенах.
Программный пакет предоставляет реализацию стандарта PKCS#11 для прикладных программ и PKCS#15 для организации файловой структуры на картах, а также взаимодействует с подсистемой PC/SC для универсального доступа к ридерам. OpenSC поддерживает различные бекенды и аппаратные платформы, что позволяет применять его в средах от персональных компьютеров до интегрированных систем. В истории проекта присутствовали вкладчики из сообщества свободного ПО, и развитие велось в сторону совместимости со стандартами и расширяемостью модулей.
- Поддержка PKCS#11 — библиотека для приложений, работающих с криптографическими токенами.
- Реализация PKCS#15 — организация хранения ключей и сертификатов на смарт‑картах.
- Интеграция с PC/SC — поддержка стандартного интерфейса для ридеров смарт‑карт.
- Утилиты командной строки — инструменты для управления картами, ключами и сертификатами.
- Многообразие бекендов — возможность работы с различными аппаратными токенами и криптоплатформами.
- Поддержка цифровых подписей — создание и проверка подписей с использованием ключей на токене.
- Шифрование и расшифровка — операции с данными при помощи ключей, хранящихся на карте.
- Совместимость с приложениями — использование с браузерами, почтовыми клиентами и системами аутентификации через PKCS#11.
- Открытый код и расширяемость — возможность проверки, модификации и добавления поддержки новых устройств.