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

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

Expand imageСинтаксис

C/C++ Copy Code
 capi_result CAPI_EXTC p2_CreateFn (
   ike_gost_handle h,
   P1_HANDLE p1sid,
   IKE_ROLE role,
   const vblob *M_ID,
   unsigned uFlags,
   P2_HANDLE *sid
 );

Параметры

h
[in] Дескриптор библиотеки IKE
p1sid
[in] Дескриптор IKE сессии фазы 1, на основе которой создаётся IKE сессия фазы 2
role
[in] Собственная роль: Initiator или Responder
M_ID
[in] Согласованный Message-ID
uFlags
[in] Зарезервировано для будущего использования. Должен быть равен 0
sid
[out] Дескриптор IKE сессии фазы 2

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

При успехе возвращает CAPI_NOERROR и дескриптор новой IKE сессии фазы 2

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

CAPI_NOFREE_SID_ERROR Нет свободных SID

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

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

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

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


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

Предназначено для создания всех типов IKE сессий фазы 2.

Сроки действия PSK, закрытых ключей и сертификатов, которые использовались для аутентификации на фазе 1, рекомендуется учитывать путём установки параметра CPIPSEC_AT_Life_Duration.

Дескриптор IKE сессии фазы 2 освобождается функцией p2_DestroyFn.

Precondition:

  • успешно аутентифицированная (p1_VerifyIRFn) IKE сессия фазы 1 или десериализованная (p1_deSerializeFn) IKE сессия фазы 1

  • M_ID != 0 и является уникальным в рамках данной IKE сессии фазы 1

  • время жизни CPIKE_AC_Life_Duration фазы 1 ещё не истекло

  • счётчик CPIKE_AC_Max_Messages не исчерпан

Postcondition:

  • Успешно созданная сессия фазы 2 с параметрами по умолчанию (см. p2_SetParamFn);

  • Для фазы 1 запрещён обмен пакетами функциями p1_EncapFn и p1_DecapFn

  • Для фазы 1 запрещён экспорт её в кэш функцией p1_SerializeFn