PKCS#11 — один из стандартов семейства Public-Key Cryptography Standards (PKCS). Он определяет платформонезависимый программный интерфейс доступа к криптографическим устройствам (смарткартам, токенам, криптографическим ускорителям, серверам ключей и другим средствам криптографической защиты информации). API PKCS#11 описывает часто используемые типы криптографических объектов (RSA ключи, Сертификаты X.509, Ключи DES/Triple DES, и т. п.) и все функции необходимые для использования, создания или генерации, модификации и удаления этих объектов. PKCS#11 реализован практически во всех современных операционных системах. В каких-то он поставляется прямо «из коробки» (windows, macos), а в каких-то требует установки дополнительных пакетов (linux). Чтобы работать с аппаратным ключевым носителем через PKCS#11, необходимо установить библиотеку конкретного производителя: ✔️для Рутокена — драйверы или пакет с соответствующей библиотекой; ✔️для JaCarta — Единый Клиент JaCarta; ✔️для ESMART — ESMART PKI Client или пакет с соответствующей библиотекой.