Библиотеки rtPKCS11 и rtPKCS11ECP реализуют функции расширения стандарта PKCS#11 для поддержки специфической функциональности устройств Рутокен.
Функции расширения предоставляют разработчику дополнительные возможности по работе с Рутокен, такие как:
- получение расширенной информации о токене;
- выполнение расширенной инициализации памяти токена;
- разблокирование PIN-кода пользователя;
- задание и считывание имени токена произвольной длины;
- запись и чтение информации для лицензирования приложений.
Функции расширения стандарта, не поддерживающие работу с каким-либо типом устройств Рутокен, при вызове возвращают код ошибки CKR_FUNCTION_NOT_SUPPORTED.
В таблице 2.25 приведен список всех функций расширения стандарта PKCS #11. Функции, работу которых поддерживают различные типы устройства Рутокен, отмечены знаком «+». Подробную информацию по конкретным функциям можно найти здесь (русский язык).
Таблица 2.25. Функции расширения стандарта PKCS#11
Функции расширения стандарта PKCS#11 | rtPKCS11 | rtPKCS11ECP | |||||
Категория | Функция | Описание | Рутокен | Рутокен Lite | Рутокен ЭЦП | Рутокен Lite | Рутокен ЭЦП |
Функции общего назначения | получает список функций расширения библиотеки | + | + | + | + | + | |
Функции для работы со слотами и токенами
| получает расширенную информацию о Рутокен | + | + | + | + | + | |
выполняет расширенную инициализацию памяти Рутокен | + | + | + | + | + | ||
разблокирует PIN-код пользователя | + | + | + | + | + | ||
задает имя Рутокен произвольной длины | + | + | + | + | + | ||
считывает имя Рутокен произвольной длины | + | + | + | + | + | ||
записывает информацию о лицензировании приложения | – | – | + | – | + | ||
считывает информацию о лицензировании приложения | – | – | + | – | + | ||
C_EX_GetCertificateInfoText | получает информацию о сертификате из токена в текстовом виде | – | – | – | – | +* | |
подписывает данные в формате PKCS#7 | – | – | – | – | +* | ||
C_EX_CreateCSR | создает запрос на выпуск сертификата и упаковывает его в PKCS#10 | – | – | – | – | +* | |
C_EX_FreeBuffer | высвобождает память, выделенную другими функциями расширения | – | – | – | – | +* | |
C_EX_SetLocalPIN | устанавливает локальный PIN-код | – | – | – | – | +* |
* поддерживаются отдельной версией библиотеки, доступной по запросу;
уточняются.