...
Code Block | ||
---|---|---|
| ||
CK_BYTE Pin[] = {'1', '2', '3', '4', '5', '6', '7', '8'}; // текущий PIN-код Пользователя или локальный PIN-код CK_SLOT_ID slots[100]; // массив идентификаторов слотов . . rv = pfGetFunctionListEx -> C_EX_SetLocalPIN( slots[0], // считаем, что токен подключен к первому слоту Pin, // текущий PIN-код Пользователя или текущий локальный PIN-код arraysize(Pin), // длина текущего PIN-кода Пользователя или локального PIN-кода "000000000000000000000000000000", // указатель на новый Локальный PIN-код 30, // длина нового Локального PIN-кода 0x1F // идентификатор Локального PIN-кода ); if (rv != CKR_OK) // проверка результата printf("C_EX_SetLocalPIN() -> failed \n"); else printf("C_EX_SetLocalPIN() -> OK \n"); |
Anchor | ||
---|---|---|
|
...
|
Назначение
Предоставляет механизм принудительной смены PIN-кода пользователя.
...
CKR_USER_NOT_LOGGED_IN
– пользователь SKU_SO не авторизован на токене (режимы)
Info | ||
---|---|---|
| ||
Здесь описаны не все возможные параметры функции. Описание других параметров функции можно найти здесь |
C_EX_SlotManage
...
CKR_OK – функция выполнена успешно.
Anchor | ||
---|---|---|
|
...
|
Назначение
Управляет режимом работы токена и таймаутом беспроводного соединения Рутокен Bluetooth.
...
CKR_OK – функция выполнена успешно.
Функции для работы с ключами в оперативной памяти
C_EX_WrapKey
Назначение
Генерирует сессионный ключ, вычисляет ключ согласования, шифрует сессионный ключ ключом согласования и возвращает указатель на дескриптор сессионного ключа, хранящегося в оперативной памяти токена.
Синтаксис
Code Block |
---|
CK_DEFINE_FUNCTION(CK_RV, C_EX_WrapKey)(
CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pGenerationMechanism,
CK_ATTRIBUTE_PTR pKeyTemplate,
CK_ULONG ulKeyAttributeCount,
CK_MECHANISM_PTR pDerivationMechanism,
CK_OBJECT_HANDLE hBaseKey,
CK_MECHANISM_PTR pWrappingMechanism,
CK_BYTE_PTR pWrappedKey,
CK_ULONG_PTR pulWrappedKeyLen,
CK_OBJECT_HANDLE_PTR phKey
); |
Параметры
...
hSession
...
pGenerationMechanism
...
механизм генерации сессионного ключа. Допустимое значение:
CKM_GOST28147_KEY_GEN – по стандарту ГОСТ 28147-89
...
pKeyTemplate
...
ulKeyAttributeCount
...
pDerivationMechanism
...
механизм выработки ключа согласования. Допустимые значения:
CKM_GOSTR3410_DERIVE – по стандарту ГОСТ Р 34.10-2001
CKM_GOSTR3410_12_DERIVE – по стандарту ГОСТ Р 34.10-2012
...
hBaseKey
...
pWrappingMechanism
...
pWrappedKey
...
pulWrappedKeyLen
...
длина зашифрованного сессионного ключа
...
phKey
...
Info | ||
---|---|---|
| ||
Здесь описаны не все возможные параметры функции. Описание других параметров функции можно найти здесь |
C_EX_UnwrapKey
Назначение
Вычисляет ключ согласования, расшифровывает зашифрованный сессионный ключ и возвращает указатель на дескриптор расшифрованного сессионного ключа, хранящего в оперативной памяти токена.
Синтаксис
Code Block |
---|
CK_DEFINE_FUNCTION(CK_RV, C_EX_UnwrapKey)(
CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pDerivationMechanism,
CK_OBJECT_HANDLE hBaseKey,
CK_MECHANISM_PTR pUnwrappingMechanism,
CK_BYTE_PTR pWrappedKey,
CK_ULONG ulWrappedKeyLen,
CK_ATTRIBUTE_PTR pKeyTemplate,
CK_ULONG ulKeyAttributeCount,
CK_OBJECT_HANDLE_PTR phKey
); |
Параметры
...
hSession
...
pDerivationMechanism
...
механизм выработки ключа согласования (KEK). Допустимые значения:
CKM_GOSTR3410_DERIVE – по стандарту ГОСТ Р 34.10-2001
CKM_GOSTR3410_12_DERIVE – по стандарту ГОСТ Р 34.10-2012
...
hBaseKey
...
pUnwrappingMechanism
...
механизм расшифрования зашифрованного сессионного ключа
...
pWrappedKey
...
ulWrappedKeyLen
...
...
pKeyTemplate
...
ulKeyAttributeCount
...
phKey
...
Вспомогательные функции
C_EX_FreeBuffer()
Назначение
Функция освобождает память, выделенную другими расширенными функциями, например C_EX_GetCertificateInfoText.
Синтаксис
Code Block |
---|
CK_DEFINE_FUNCTION(CK_RV, C_EX_FreeBuffer)( CK_BYTE_PTR pBuffer ); |
Параметры
pBuffer | [in] | указатель на буфер |
...