TrustCore SDK NanoSec API reference  version 7.0
eap_fast.h File Reference

EAP FAST helper functions. More...

Go to the source code of this file.

Data Structures

struct  EAP_FAST_params
 Configuration settings and callback function pointers for EAP-FAST sessions. More...
 

Functions

MOC_EXTERN MSTATUS EAP_FASTAuthGetSessionHdl (ubyte *eapCb, ubyte **eapAuthSessionHdl)
 Get an EAP-FAST session's second stage EAP session handle. More...
 
MOC_EXTERN MSTATUS EAP_FASTAuthInit2 (ubyte *eapCb)
 Send an Identity request to the peer. More...
 
MOC_EXTERN MSTATUS EAP_FASTauthSendCryptoBindingTlv (ubyte *appSessionHdl, ubyte *cmk, ubyte *nonce)
 Transmits Result and crypto binding TLVs to the peer. More...
 
MOC_EXTERN MSTATUS EAP_FASTauthSendMethodResult (ubyte *appSessionHdl, ubyte sendCryptoBinding, ubyte *compoundKey, ubyte2 result, ubyte *nonce)
 Buld a Method Result packet. More...
 
MOC_EXTERN MSTATUS EAP_FASTauthSendPAC_ResultTlv (ubyte *eapFastSessionHdl, EAP_FAST_pac_t *pac)
 Transmits Result and PAC Provisioning TLVs to the peer. More...
 
MOC_EXTERN MSTATUS EAP_FASTbuildAuthId (ubyte flags, ubyte *authId, ubyte2 authIdLen, ubyte **eapReqData, ubyte4 *eapReqLen)
 Build an Authority ID Requeest packet. More...
 
MOC_EXTERN MSTATUS EAP_FASTdeleteSession (ubyte *eapFASTSession)
 Delete a second stage EAP-FAST session. More...
 
MOC_EXTERN MSTATUS EAP_FASTEncapEAPPkt (ubyte *eapFastCb, ubyte *eapPkt, ubyte4 eapPktLen)
 Build an EAP payload TLV from an input second stage EAP packet and then pass the packet to the first stage. More...
 
MOC_EXTERN MSTATUS EAP_FASTFormSendPacket (void *eapFASTCb, ubyte *pkt, ubyte4 pktLen, ubyte **eapResponse, ubyte4 *eapRespLen)
 Build an EAP-FAST packet from the specified encrypted second stage payload. More...
 
MOC_EXTERN MSTATUS EAP_FASTgetAuthId (ubyte *pkt, ubyte4 pktLen, ubyte **authId, ubyte2 *authIdLen)
 Extract the authority ID (if any) from an EAP-FAST packet. More...
 
MOC_EXTERN MSTATUS EAP_FASTgetTLVEncapEAPPkt (ubyte *eapPkt, ubyte4 eapPktLen, ubyte **response, ubyte4 *responseLen)
 Encapsulate an EAP packet into an EAP payload TLV packet. More...
 
MOC_EXTERN MSTATUS EAP_FASTinitSession (ubyte *appSessionCB, ubyte **eapFASTSession, EAP_FAST_params *eapFASTparams)
 Create and initialize an EAP-FAST session. More...
 
MOC_EXTERN MSTATUS EAP_FASTPeerGetSessionHdl (ubyte *eapCb, ubyte **eapSessionHdl)
 Get an EAP-FAST session's second stage EAP session handle. More...
 
MOC_EXTERN MSTATUS EAP_FASTProcessTLV (ubyte *fastHdl, ubyte *pPkt, ubyte4 pktLen)
 Process a decrypted EAP packet's TLVs. More...
 
MOC_EXTERN MSTATUS EAP_FASTreceiveLLPacket (void *eapFASTCb, ubyte *pkt, ubyte4 pktLen)
 Process a packet's TLVs, managing fragmentation, and send the packet on for second stage negotiation. More...
 
MOC_EXTERN MSTATUS EAP_FASTulAuthSessionDelete (ubyte *eapFASTCb)
 Delete an EAP-FAST authenticator second stage stack. More...
 
MOC_EXTERN MSTATUS EAP_FASTulAuthTransmit (ubyte *eapSessionHdl, ubyte4 instanceId, eapMethodType methodType, eapCode code, eapMethodDecision methodDecision, eapMethodState methodState, ubyte *eap_data, ubyte4 eap_data_len)
 Transmit packets from authenticator to peer during second stage negotiation. More...
 
MOC_EXTERN MSTATUS EAP_FASTulPeerSessionDelete (ubyte *eapFASTCb)
 Delete an EAP-FAST peer second stage stack. More...
 
MOC_EXTERN MSTATUS EAP_FASTulPeerTransmit (ubyte *eapSessionHdl, ubyte4 instanceId, eapMethodType methodType, eapCode code, eapMethodDecision methodDecision, eapMethodState methodState, ubyte *eap_data, ubyte4 eap_data_len)
 Transmit packets from peer to authenticator during second stage negotiation. More...
 

Detailed Description

This header file contains definitions, enumerations, structures, and function declarations used by EAP FAST helper functions.

Since
1.41
Version
2.02 and later

To build products using this header file, at least one flag in each of the following flag pairs must be defined in moptions.h:

  • Enable EAP peer/authenticator (__ENABLE_MOCANA_EAP_PEER__, __ENABLE_MOCANA_EAP_AUTH__)
  • Enable an EAP FAST method (__ENABLE_MOCANA_EAP_FAST__, __ENABLE_MOCANA_EAP_PEAPV2__)

Whether the following flags are defined determines which functions are enabled:

  • __ENABLE_MOCANA_SSL_ASYNC_SERVER_API__
  • __ENABLE_MOCANA_SSL_ASYNC_CLIENT_API__

eap_fast.h