Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Реализация стандарта PKCS #11 в библиотеках Рутокен связана с некоторыми ограничениями, обусловленными аппаратными характеристиками устройства. Некоторые функции, определенные стандартом, не поддерживаются текущими версиями библиотек rtPKCS11 или rtPKCSECP, но, тем не менее, остаются доступными, и при их вызове возвращается код ошибки CKR_FUNCTION_NOT_SUPPORTED. Наличие подобных ограничений допускается стандартом PKCS #11.

В таблице 2.24 приведен полный список определенных стандартом PKCS #11 функций, знаком «+»отмечено соответствие поддержки конкретной функции конкретной библиотекой и устройством Рутокен, знаком «−» – отсутствие реализации в текущей версии библиотеки.

Подробное описание любой поддерживаемой функции можно найти в стандарте (английский язык) или в данном разделе  (русский язык).

Таблица 2.24. Список поддерживаемых библиотеками Рутокен функций стандарта PKCS #11

Функции стандарта PKCS #11

rtPKCS11

rtPKCS11ECP

Категория

Функция

Описание

Рутокен

Рутокен Lite

Рутокен ЭЦП

Рутокен Lite

Рутокен ЭЦП

Функции общего назначения

C_Initialize

инициализирует библиотеку

+

+

+

+

+

C_Finalize

деинициализирует библиотеку

+

+

+

+

+

C_GetInfo

получает информацию о библиотеке

+

+

+

+

+

C_GetFunctionList

получает список всех функций в библиотеке

+

+

+

+

+

Функции для работы со слотами и токенами

C_GetSlotList

получает список слотов в системе

+

+

+

+

+

C_GetSlotInfo

получает информацию о конкретном слоте

+

+

+

+

+

C_GetTokenInfo

получает информацию о Рутокен в конкретном слоте

+

+

+

+

+

C_WaitForSlotEvent

ожидает событие в любом слоте

+

+

+

+

+

C_GetMechanismList

получает список механизмов, поддерживаемых Рутокен

+

+

+

+

C_GetMechanismInfo

получает информацию о конкретном механизме

+

+

+

+

C_InitToken

инициализирует память Рутокен

+

+

+

+

+

C_InitPIN

инициализирует PIN−код Пользователя Рутокен

+

+

+

+

+

C_SetPIN

изменяет PIN−код в пользователя Рутокен, выполнившего вход

+

+

+

+

+

Функции для работы с сессиями

C_OpenSession

открывает новую сессию с Рутокен

+

+

+

+

+

C_CloseSession

закрывает сессию

+

+

+

+

+

C_CloseAllSessions

закрывает все сессии

+

+

+

+

+

C_GetSessionInfo

получает информацию о конкретной сессии

+

+

+

+

+

C_GetOperationState

получает информацию о состоянии выполнения криптографической операции

C_SetOperationState

изменяет состояние выполнения криптографической операции

C_Login

выполняет вход пользователя / администратора

+

+

+

+

+

C_Logout

выполняет выход пользователя / администратора

+

+

+

+

+

Функции для работы с объектами

C_CreateObject

создает объект

+

+

+

+

+

C_CopyObject

создает копию объект

C_DestroyObject

уничтожает объект

+

+

+

+

+

C_GetObjectSize

получает информацию о размере объекта в байтах

C_GetAttributeValue

получает информацию об атрибутах объекта

+

+

+

+

+

C_SetAttributeValue

изменяет значение атрибута объекта

+

+

+

+

+

C_FindObjectsInit

инициализирует процесс поиска объекта

+

+

+

+

+

C_FindObjects

осуществляет поиск объекта по заданным условиям

+

+

+

+

+

C_FindObjectsFinal

завершает процесс поиска объекта

+

+

+

+

+

Функции шифрования

C_EncryptInit

инициализирует процесс шифрования

+

+

+

+

C_Encrypt

шифрует данные целиком

+

+

+

+

C_EncryptUpdate

продолжает шифрование данных по частям

C_EncryptFinal

завершает шифрование данных по частям

Функции расшифрования

C_DecryptInit

инициализирует процесс расшифрования

+

+

+

+

C_Decrypt

расшифровывает данные целиком

+

+

+

+

C_DecryptUpdate

продолжает расшифрование данных по частям

C_DecryptFinal

завершает расшифрование данных по частям

Функции хеширования сообщений

C_DigestInit

инициализирует процесс хеширования

+

+

+

+

C_Digest

хеширует данные целиком

+

+

+

+

C_DigestUpdate

продолжает хеширование данных по частям

C_DigestKey

хеширует ключ

C_DigestFinal

завершает хеширование данных по частям

Функции создания подписи

C_SignInit

инициализирует процесс подписи

+

+

+

+

C_Sign

подписывает данные целиком

+

+

+

+

C_SignUpdate

продолжает подпись данных по частям

C_SignFinal

завершает подпись данных по частям

C_SignRecoverInit

инициализирует процесс подписи с восстановлением

C_SignRecover

подписывает данные целиком подписью с восстановлением

Функции проверки подписи

C_VerifyInit

инициализирует процесс проверки подписи

+

+

+

+

C_Verify

проверяет подпись данных, подписанных целиком

+

+

+

+

C_VerifyUpdate

продолжает проверку подписи данных, подписанных по частям

C_VerifyFinal

завершает проверку подписи данных, подписанных по частям

C_VerifyRecoverInit

инициализирует операцию проверки подписи с восстановлением

C_VerifyRecover

проверяет подпись с восстановлением подписанных целиком данных

Совмещенные функции

C_DigestEncryptUpdate

продолжает одновременное хеширование и шифрование данных по частям

C_DecryptDigestUpdate

продолжает одновременное расшифрование и хеширование данных по частям

C_SignEncryptUpdate

продолжает одновременную подпись и шифрование данных по частям

C_DecryptVerifyUpdate

продолжает одновременное расшифрование и проверку подписи данных, подписанных по частям

Функции для работы с ключами

C_GenerateKey

генерирует секретный ключ на Рутокен

+

+

+

+

C_GenerateKeyPair

генерирует пару «открытый/закрытый ключ»

+

+

+

+

C_WrapKey

шифрует ключ

+

C_UnwrapKey

расшифровывает ключ

+

C_DeriveKey

извлекает ключ из основного ключа

+

Функции генерации случайных чисел

C_SeedRandom

задает инициализирующее значение для генератора случайных чисел

C_GenerateRandom

генерирует случайное число

+

+

+

+

+

Параллельные функции управления функциями

C_GetFunctionStatus

устаревшая функция, всегда возвращает CKR_FUNCTION_NOT_PARALLEL

C_CancelFunction

устаревшая функция, всегда возвращает CKR_FUNCTION_NOT_PARALLEL


 

  • No labels