Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

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

[in]дескриптор сессии

pGenerationMechanism

[in]

механизм генерации сессионного ключа. Допустимое значение:

CKM_GOST28147_KEY_GEN – по стандарту ГОСТ 28147-89

pKeyTemplate

[in] указатель на буфер, содержащий шаблон сессионого ключа

ulKeyAttributeCount

[in] количество атрибутов сессионого ключа в шаблоне

pDerivationMechanism

[in] 

механизм выработки ключа согласования. Допустимые значения:

CKM_GOSTR3410_DERIVE – по стандарту ГОСТ Р 34.10-2001
CKM_GOSTR3410_12_DERIVE – по стандарту ГОСТ Р 34.10-2012

hBaseKey

[in] дескриптор закрытого ключа для формирования ключа согласования

pWrappingMechanism

[in] механизм шифрования сессионного ключа согласования

pWrappedKey

[in] указатель на зашифрованный сессионный ключ согласования

pulWrappedKeyLen

[in] 

длина зашифрованного сессионного ключа согласования

phKey

[out] указатель на сессионый ключ (CEK)

к содержанию ↑

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

[in]дескриптор сессии

pDerivationMechanism

[in]

механизм выработки ключа согласования (KEK). Допустимые значения:

CKM_GOSTR3410_DERIVE – по стандарту ГОСТ Р 34.10-2001
CKM_GOSTR3410_12_DERIVE – по стандарту ГОСТ Р 34.10-2012

hBaseKey

[in] дескриптор закрытого ключа для формирования ключа согласования

pUnwrappingMechanism

[in] 

механизм расшифрования зашифрованного сессионного ключа согласования

pWrappedKey

[in]указатель на зашифрованный сессионный ключ согласования

ulWrappedKeyLen

[in]
длина зашифрованного сессионного ключа согласования

pKeyTemplate

[in]указатель на буфер, содержащий шаблон сессионого сессионного ключа

ulKeyAttributeCount

[in]оличество количество атрибутов сессионогосессионного ключа в шаблоне

phKey

[out] указатель на сессионый ключ дескриптор сессионного ключа (CEK)

...

к содержанию ↑


Вспомогательные функции

C_EX_FreeBuffer()

...