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

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

Expand imageСинтаксис

C/C++ Copy Code
 capi_result CAPI_EXTC p1_EncapFn (
   P1_HANDLE sid,
   unsigned uFlags,
   void *data,
   unsigned *datalen,
   unsigned buflen
 );

Параметры

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

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

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

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

CAPI_CALL_ERROR Неверные аргументы вызова

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

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

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

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


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

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

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

Precondition:

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