_IkeSaEntry Struct Reference

IKE Security Association entry. More...

#include <ike.h>

Data Fields

IkeSaState state
 IKE SA state. More...
 
IkeContextcontext
 IKE context. More...
 
IkeSaEntryoldSa
 Old IKE SA. More...
 
IkeSaEntrynewSa
 New IKE SA. More...
 
IkeChildSaEntrychildSa
 Child SA. More...
 
IpAddr remoteIpAddr
 IP address of the peer. More...
 
uint16_t remotePort
 
bool_t originalInitiator
 Original initiator of the IKE SA. More...
 
systime_t lifetimeStart
 
systime_t lifetime
 Lifetime of the IKE SA. More...
 
systime_t reauthPeriod
 Reauthentication period. More...
 
systime_t dpdStart
 
systime_t dpdPeriod
 Dead peer detection period. More...
 
systime_t timestamp
 
systime_t timeout
 
uint_t retransmitCount
 
uint32_t txMessageId
 
uint32_t rxMessageId
 
uint8_t cookie [IKE_MAX_COOKIE_SIZE]
 Cookie. More...
 
size_t cookieLen
 Length of the cookie, in bytes. More...
 
uint8_t initiatorSpi [IKE_SPI_SIZE]
 Initiator SPI. More...
 
uint8_t responderSpi [IKE_SPI_SIZE]
 Responder SPI. More...
 
uint8_t initiatorNonce [IKE_MAX_NONCE_SIZE]
 
size_t initiatorNonceLen
 
uint8_t responderNonce [IKE_MAX_NONCE_SIZE]
 
size_t responderNonceLen
 
IkeIdType peerIdType
 Peer ID type. More...
 
uint8_t peerId [IKE_MAX_ID_LEN]
 Peer ID. More...
 
size_t peerIdLen
 Length of the peer ID, in bytes. More...
 
IkeNotifyMsgType notifyMsgType
 
uint8_t unsupportedCriticalPayload
 
uint8_t notifyProtocolId
 
uint8_t notifySpi [4]
 
uint16_t encAlgoId
 Encryption algorithm. More...
 
uint16_t prfAlgoId
 Pseudorandom function. More...
 
uint16_t authAlgoId
 Integrity algorithm. More...
 
uint16_t dhGroupNum
 Diffie-Hellman group number. More...
 
uint8_t sharedSecret [IKE_MAX_SHARED_SECRET_LEN]
 Shared secret. More...
 
size_t sharedSecretLen
 Length of the shared secret, in bytes. More...
 
uint8_t keyMaterial [IKE_MAX_SA_KEY_MAT_LEN]
 Keying material. More...
 
const uint8_t * skd
 Key used for deriving new keys for Child SAs. More...
 
const uint8_t * skai
 Integrity protection key (initiator) More...
 
const uint8_t * skar
 Integrity protection key (responder) More...
 
const uint8_t * skei
 Encryption key (initiator) More...
 
const uint8_t * sker
 Encryption key (responder) More...
 
const uint8_t * skpi
 Key used for generating AUTH payload (initiator) More...
 
const uint8_t * skpr
 Key used for generating AUTH payload (responder) More...
 
CipherMode cipherMode
 Cipher mode of operation. More...
 
const CipherAlgocipherAlgo
 Cipher algorithm. More...
 
CipherContext cipherContext
 Cipher context. More...
 
const HashAlgoauthHashAlgo
 Hash algorithm for HMAC-based integrity calculations. More...
 
const CipherAlgoauthCipherAlgo
 Cipher algorithm for CMAC-based integrity calculations. More...
 
const HashAlgoprfHashAlgo
 Hash algorithm for HMAC-based PRF calculations. More...
 
const CipherAlgoprfCipherAlgo
 Cipher algorithm for CMAC-based PRF calculations. More...
 
size_t encKeyLen
 Size of the encryption key, in bytes. More...
 
size_t authKeyLen
 Size of the integrity protection key, in bytes. More...
 
size_t prfKeyLen
 Preferred size of the PRF key, in bytes. More...
 
size_t saltLen
 Length of the salt, in bytes. More...
 
size_t ivLen
 Length of the initialization vector, in bytes. More...
 
size_t icvLen
 Length of the ICV tag, in bytes. More...
 
uint8_t iv [8]
 Initialization vector. More...
 
DhContext dhContext
 Diffie-Hellman context. More...
 
EcdhContext ecdhContext
 ECDH context. More...
 
uint8_t * initiatorSaInit
 Pointer to the IKE_SA_INIT request. More...
 
size_t initiatorSaInitLen
 Length of the IKE_SA_INIT request, in bytes. More...
 
uint8_t * responderSaInit
 Pointer to the IKE_SA_INIT response. More...
 
size_t responderSaInitLen
 Length of the IKE_SA_INIT response, in bytes. More...
 
uint8_t request [IKE_MAX_MSG_SIZE]
 Request message. More...
 
size_t requestLen
 Length of the request message, in bytes. More...
 
uint8_t response [IKE_MAX_MSG_SIZE]
 Response message. More...
 
size_t responseLen
 Length of the response message, in bytes. More...
 
bool_t rekeyRequest
 IKE SA rekey request. More...
 
bool_t reauthRequest
 IKE SA reauthentication request. More...
 
bool_t reauthPending
 Reauthentication process is on-going. More...
 
bool_t deleteRequest
 IKE SA delete request. More...
 
bool_t deleteReceived
 
bool_t nonAdditionalSas
 NO_ADDITIONAL_SAS notification received. More...
 
bool_t initialContact
 INITIAL_CONTACT notification received. More...
 
uint32_t signHashAlgos
 List of hash algorithms supported by the peer. More...
 

Detailed Description

IKE Security Association entry.

Definition at line 1621 of file ike.h.

Field Documentation

◆ authAlgoId

uint16_t authAlgoId

Integrity algorithm.

Definition at line 1664 of file ike.h.

◆ authCipherAlgo

const CipherAlgo* authCipherAlgo

Cipher algorithm for CMAC-based integrity calculations.

Definition at line 1682 of file ike.h.

◆ authHashAlgo

const HashAlgo* authHashAlgo

Hash algorithm for HMAC-based integrity calculations.

Definition at line 1681 of file ike.h.

◆ authKeyLen

size_t authKeyLen

Size of the integrity protection key, in bytes.

Definition at line 1686 of file ike.h.

◆ childSa

IkeChildSaEntry* childSa

Child SA.

Definition at line 1627 of file ike.h.

◆ cipherAlgo

const CipherAlgo* cipherAlgo

Cipher algorithm.

Definition at line 1679 of file ike.h.

◆ cipherContext

CipherContext cipherContext

Cipher context.

Definition at line 1680 of file ike.h.

◆ cipherMode

CipherMode cipherMode

Cipher mode of operation.

Definition at line 1678 of file ike.h.

◆ context

IkeContext* context

IKE context.

Definition at line 1624 of file ike.h.

◆ cookie

uint8_t cookie[IKE_MAX_COOKIE_SIZE]

Cookie.

Definition at line 1643 of file ike.h.

◆ cookieLen

size_t cookieLen

Length of the cookie, in bytes.

Definition at line 1644 of file ike.h.

◆ deleteReceived

bool_t deleteReceived

Definition at line 1714 of file ike.h.

◆ deleteRequest

bool_t deleteRequest

IKE SA delete request.

Definition at line 1713 of file ike.h.

◆ dhContext

DhContext dhContext

Diffie-Hellman context.

Definition at line 1694 of file ike.h.

◆ dhGroupNum

uint16_t dhGroupNum

Diffie-Hellman group number.

Definition at line 1665 of file ike.h.

◆ dpdPeriod

systime_t dpdPeriod

Dead peer detection period.

Definition at line 1636 of file ike.h.

◆ dpdStart

systime_t dpdStart

Definition at line 1635 of file ike.h.

◆ ecdhContext

EcdhContext ecdhContext

ECDH context.

Definition at line 1697 of file ike.h.

◆ encAlgoId

uint16_t encAlgoId

Encryption algorithm.

Definition at line 1662 of file ike.h.

◆ encKeyLen

size_t encKeyLen

Size of the encryption key, in bytes.

Definition at line 1685 of file ike.h.

◆ icvLen

size_t icvLen

Length of the ICV tag, in bytes.

Definition at line 1690 of file ike.h.

◆ initialContact

bool_t initialContact

INITIAL_CONTACT notification received.

Definition at line 1717 of file ike.h.

◆ initiatorNonce

uint8_t initiatorNonce[IKE_MAX_NONCE_SIZE]

Definition at line 1648 of file ike.h.

◆ initiatorNonceLen

size_t initiatorNonceLen

Definition at line 1649 of file ike.h.

◆ initiatorSaInit

uint8_t* initiatorSaInit

Pointer to the IKE_SA_INIT request.

Definition at line 1700 of file ike.h.

◆ initiatorSaInitLen

size_t initiatorSaInitLen

Length of the IKE_SA_INIT request, in bytes.

Definition at line 1701 of file ike.h.

◆ initiatorSpi

uint8_t initiatorSpi[IKE_SPI_SIZE]

Initiator SPI.

Definition at line 1645 of file ike.h.

◆ iv

uint8_t iv[8]

Initialization vector.

Definition at line 1691 of file ike.h.

◆ ivLen

size_t ivLen

Length of the initialization vector, in bytes.

Definition at line 1689 of file ike.h.

◆ keyMaterial

uint8_t keyMaterial[IKE_MAX_SA_KEY_MAT_LEN]

Keying material.

Definition at line 1669 of file ike.h.

◆ lifetime

systime_t lifetime

Lifetime of the IKE SA.

Definition at line 1632 of file ike.h.

◆ lifetimeStart

systime_t lifetimeStart

Definition at line 1631 of file ike.h.

◆ newSa

IkeSaEntry* newSa

New IKE SA.

Definition at line 1626 of file ike.h.

◆ nonAdditionalSas

bool_t nonAdditionalSas

NO_ADDITIONAL_SAS notification received.

Definition at line 1715 of file ike.h.

◆ notifyMsgType

IkeNotifyMsgType notifyMsgType

Definition at line 1657 of file ike.h.

◆ notifyProtocolId

uint8_t notifyProtocolId

Definition at line 1659 of file ike.h.

◆ notifySpi

uint8_t notifySpi[4]

Definition at line 1660 of file ike.h.

◆ oldSa

IkeSaEntry* oldSa

Old IKE SA.

Definition at line 1625 of file ike.h.

◆ originalInitiator

bool_t originalInitiator

Original initiator of the IKE SA.

Definition at line 1630 of file ike.h.

◆ peerId

uint8_t peerId[IKE_MAX_ID_LEN]

Peer ID.

Definition at line 1654 of file ike.h.

◆ peerIdLen

size_t peerIdLen

Length of the peer ID, in bytes.

Definition at line 1655 of file ike.h.

◆ peerIdType

IkeIdType peerIdType

Peer ID type.

Definition at line 1653 of file ike.h.

◆ prfAlgoId

uint16_t prfAlgoId

Pseudorandom function.

Definition at line 1663 of file ike.h.

◆ prfCipherAlgo

const CipherAlgo* prfCipherAlgo

Cipher algorithm for CMAC-based PRF calculations.

Definition at line 1684 of file ike.h.

◆ prfHashAlgo

const HashAlgo* prfHashAlgo

Hash algorithm for HMAC-based PRF calculations.

Definition at line 1683 of file ike.h.

◆ prfKeyLen

size_t prfKeyLen

Preferred size of the PRF key, in bytes.

Definition at line 1687 of file ike.h.

◆ reauthPending

bool_t reauthPending

Reauthentication process is on-going.

Definition at line 1712 of file ike.h.

◆ reauthPeriod

systime_t reauthPeriod

Reauthentication period.

Definition at line 1633 of file ike.h.

◆ reauthRequest

bool_t reauthRequest

IKE SA reauthentication request.

Definition at line 1711 of file ike.h.

◆ rekeyRequest

bool_t rekeyRequest

IKE SA rekey request.

Definition at line 1710 of file ike.h.

◆ remoteIpAddr

IpAddr remoteIpAddr

IP address of the peer.

Definition at line 1628 of file ike.h.

◆ remotePort

uint16_t remotePort

Definition at line 1629 of file ike.h.

◆ request

uint8_t request[IKE_MAX_MSG_SIZE]

Request message.

Definition at line 1705 of file ike.h.

◆ requestLen

size_t requestLen

Length of the request message, in bytes.

Definition at line 1706 of file ike.h.

◆ responderNonce

uint8_t responderNonce[IKE_MAX_NONCE_SIZE]

Definition at line 1650 of file ike.h.

◆ responderNonceLen

size_t responderNonceLen

Definition at line 1651 of file ike.h.

◆ responderSaInit

uint8_t* responderSaInit

Pointer to the IKE_SA_INIT response.

Definition at line 1702 of file ike.h.

◆ responderSaInitLen

size_t responderSaInitLen

Length of the IKE_SA_INIT response, in bytes.

Definition at line 1703 of file ike.h.

◆ responderSpi

uint8_t responderSpi[IKE_SPI_SIZE]

Responder SPI.

Definition at line 1646 of file ike.h.

◆ response

uint8_t response[IKE_MAX_MSG_SIZE]

Response message.

Definition at line 1707 of file ike.h.

◆ responseLen

size_t responseLen

Length of the response message, in bytes.

Definition at line 1708 of file ike.h.

◆ retransmitCount

uint_t retransmitCount

Definition at line 1640 of file ike.h.

◆ rxMessageId

uint32_t rxMessageId

Definition at line 1642 of file ike.h.

◆ saltLen

size_t saltLen

Length of the salt, in bytes.

Definition at line 1688 of file ike.h.

◆ sharedSecret

uint8_t sharedSecret[IKE_MAX_SHARED_SECRET_LEN]

Shared secret.

Definition at line 1667 of file ike.h.

◆ sharedSecretLen

size_t sharedSecretLen

Length of the shared secret, in bytes.

Definition at line 1668 of file ike.h.

◆ signHashAlgos

uint32_t signHashAlgos

List of hash algorithms supported by the peer.

Definition at line 1720 of file ike.h.

◆ skai

const uint8_t* skai

Integrity protection key (initiator)

Definition at line 1671 of file ike.h.

◆ skar

const uint8_t* skar

Integrity protection key (responder)

Definition at line 1672 of file ike.h.

◆ skd

const uint8_t* skd

Key used for deriving new keys for Child SAs.

Definition at line 1670 of file ike.h.

◆ skei

const uint8_t* skei

Encryption key (initiator)

Definition at line 1673 of file ike.h.

◆ sker

const uint8_t* sker

Encryption key (responder)

Definition at line 1674 of file ike.h.

◆ skpi

const uint8_t* skpi

Key used for generating AUTH payload (initiator)

Definition at line 1675 of file ike.h.

◆ skpr

const uint8_t* skpr

Key used for generating AUTH payload (responder)

Definition at line 1676 of file ike.h.

◆ state

IkeSaState state

IKE SA state.

Definition at line 1623 of file ike.h.

◆ timeout

systime_t timeout

Definition at line 1639 of file ike.h.

◆ timestamp

systime_t timestamp

Definition at line 1638 of file ike.h.

◆ txMessageId

uint32_t txMessageId

Definition at line 1641 of file ike.h.

◆ unsupportedCriticalPayload

uint8_t unsupportedCriticalPayload

Definition at line 1658 of file ike.h.


The documentation for this struct was generated from the following file:
  • cyclone_ipsec/ike/ike.h