Библиотеки rtPKCS11 и rtPKCS11ECP реализуют функции расширения стандарта PKCS#11 для поддержки специфической функциональности устройств Рутокен.
Функции расширения предоставляют разработчику дополнительные возможности по работе с Рутокен, такие как:
- получение расширенной информации о токене;
- выполнение расширенной инициализации памяти токена;
- разблокирование PIN-кода пользователя;
- задание и считывание имени токена произвольной длины;
- запись и чтение информации для лицензирования приложений;
- создание запроса на сертификат и чтение информации о сертификате;
- подпись и проверка подписи сообщения в формате PKCS#7;
- управление флеш-памятью;
- получение записи журнала операций.
Функции расширения стандарта, не поддерживающие работу с каким-либо типом устройств Рутокен, при вызове возвращают код ошибки CKR_FUNCTION_NOT_SUPPORTED.
В таблице ниже приведен список всех функций расширения стандарта PKCS #11. Функции, работу которых поддерживают различные типы устройства Рутокен, отмечены знаком «+». Подробную информацию по конкретным функциям можно найти здесь.
Функции расширения стандарта PKCS#11
Функции расширения стандарта PKCS#11 | rtPKCS11 |
| rtPKCS11ECP | ||||||||
Категория | Функция | Описание | Рутокен | Рутокен Lite | Рутокен ЭЦП, | Рутокен Lite | Рутокен ЭЦП, | Рутокен PINPad | Рутокен ЭЦП 2.0 Flash | Рутокен ЭЦП Bluetooth, | |
Функции общего назначения | получает список функций расширения библиотеки | + | + | + | + | + | + | + | + | ||
Функции для работы со слотами и токенами | получает расширенную информацию о Рутокен | + | + | + | + | + | + | + | + | ||
выполняет расширенную инициализацию памяти Рутокен | + | + | + | + | + | + | + | + | |||
разблокирует PIN-код пользователя | + | + | + | + | + | + | + | + | |||
задает имя Рутокен произвольной длины | + | + | + | + | + | + | + | + | |||
считывает имя Рутокен произвольной длины | + | + | + | + | + | + | + | + | |||
записывает информацию о лицензировании приложения | – | – | + | – | + | + | + | + | |||
считывает информацию о лицензировании приложения | – | – | + | – | + | + | + | + | |||
C_EX_SetLocalPIN | устанавливает локальный PIN-код | – | – | – | – | + | + | + | + | ||
Функции для работы с сертификатами | C_EX_CreateCSR | создает запрос на выпуск сертификата и упаковывает его в PKCS#10 (поддерживаемые механизмы: CKM_GOSTR3410) | – | – | – | – | + | + | + | + | |
C_EX_GetCertificateInfoText | получает информацию о сертификате из токена в текстовом виде | – | – | – | – | + | + | + | + | ||
Функции подписи и проверки подписи CMS/PKCS#7 сообщений
| подписывает данные в формате PKCS#7 | – | – | – | – | + | + | + | + | ||
C_EX_PKCS7VerifyInit | инициализирует процесс проверки подписи в формате PKCS#7 | – | – | – | – | + | + | + | + | ||
C_EX_PKCS7Verify | проверяет присоединенную подпись в формате PKCS#7 | – | – | – | – | + | + | + | + | ||
C_EX_PKCS7VerifyUpdate | проверяет отсоединенную подпись в формате PKCS#7 | – | – | – | – | + | + | + | + | ||
C_EX_PKCS7VerifyFinal | завершает проверку отсоединеннонй подпись в формате PKCS#7 | – | – | – | – | + | + | + | + | ||
Вспомогательные функции | C_EX_FreeBuffer | освобождает память, выделенную другими функциями расширения | – | – | – | – | + | + | + | + | |
Функции для работы с подписью без отображения | C_EX_SignInvisibleInit | инициализирует процедуру подписи данных без отображения на экране | – | – | – | – | – | + | – | – | |
C_EX_SignInvisible | подписывает данные без отображения на экране | – | – | – | – | – | + | – | – | ||
Функции для работы с флеш-памятью | C_EX_GetVolumesInfo | получает информацию о существующих на флеш-памяти разделах | – | – | – | – | – | – | + | – | |
C_EX_GetDriveSize | получает весь объем внешней флеш-памяти | – | – | – | – | – | – | + | – | ||
C_EX_ChangeVolumeAttributes | изменяет атрибуты доступа к разделу | – | – | – | – | – | – | + | – | ||
C_EX_FormatDrive | разбивает флеш-память на разделы | – | – | – | – | – | – | + | – | ||
Функции для работы с журналом | C_EX_GetJournal | возвращает содержимое журнала операций | – | – | – | – | версия 2.0 | + | версия 2.0 | версия 2.0 | |
Функции для работы с беспроводным каналом связи | C_EX_LoadActivationKey | активирует защищенный канал связи с токеном с использованием пароля (только для 20-й прошивки) | – | – | – | – | – | – | – | + | |
C_EX_SetActivationPassword | активирует защищенный канал связи с токеном с использованием пароля (от 21-й прошивки и выше ) | – | – | – | – | – | – | – | + | ||
C_EX_GenerateActivationPassword | генерирует пароль для защищенного канала связи | – | – | – | – | – | – | – | + | ||
C_EX_TokenManage | управляет режимом работы токена и таймаутом беспроводного соединения | – | – | – | – | – | – | – | + | ||
Функции специального назначeния | C_EX_SlotManage | выполняет расширенную инициализацию токена, контроль целостности токена и возвращает расширенную информацию о токене | – | – | – | – | |||||
C_EX_WrapKey | – | – | – | – | |||||||
C_EX_UnwrapKey | – | – | – | – |