Заголовочный файл: ike_gost.h
Библиотека: libike_gost.so (linux), cpike_api.dll (windows)

Функция инкапсуляции пакетов IKE фазы 2.

Expand imageСинтаксис

C/C++ Copy Code
 capi_result CAPI_EXTC p2_EncapFn (
   P2_HANDLE sid,
   unsigned uFlags,
   void *pData,
   unsigned *puDataLen,
   unsigned uBufLen
 );

Параметры

sid
[in] Дескриптор IKE сессии фазы 2
uFlags
[in] Зарезервировано для будущего использования. Должен быть равен 0
pData
[in/out] Буфер с данными до/после зашифрования
puDataLen
[in/out] Размер данных до/после зашифрования
uBufLen
[in] Полный размер буфера с данными

Возвращаемое значение

При успехе возвращает CAPI_NOERROR и размер зашифрованных данных

CAPI_NOERROR Успешное завершение

CAPI_CALL_ERROR Неверный вызов

CAPI_PROTOCOL_ERROR Неверная последовательность вызовов

CAPI_CSP_ERROR Ошибка вызова CSP

CAPI_TTL_BYTES_EXPIRED_ERROR Превышено допустимое количество данных в рамках сессии

CAPI_TTL_SECS_EXPIRED_ERROR Превышено допустимое время жизни сессии

CAPI_NOT_ENOUGH_SPACE Размер буфера недостаточен для инкапсуляции и

CAPI_INTERNAL_ERROR внутренняя ошибка библиотеки


Expand imageПримечания

Под инкапсуляцией понимается процесс формирования финального зашифрованного пакета для отправки удаленной стороне обмена.

На IKE фазе 1 используется p1_EncapFn.

Precondition:

  • Успешный вызов функции p2_CreateFn