TrustCore SDK NanoSec API reference  version 7.0
EAP_TTLS_params Struct Reference

Configuration settings and callback function pointers for EAP-TTLS sessions. More...

Data Fields

ubyte4 authServerId
 RADIUS server ID; used by the authenticator to send a RADIUS packet to the RADIUS server. More...
 
sbyte4 connectionInstance
 TLS connection's session ID. More...
 
ubyte4 instanceId
 Phase 1 instance ID. More...
 
eapTTLSMethodType methodType
 Method type used by a peer. More...
 
MOC_IP_ADDRESS myaddr
 NAS (network authentication server) IP address. More...
 
ubyte pad2 [3]
 (Do not use) Padding to align structure to 4-byte boundary. More...
 
ubyte Password [EAP_MAX_PASS_LEN]
 Inner method password passed by the peer for PAP, CHAP, MSCHAP, and MSCHAPv2. More...
 
ubyte2 PasswordLen
 Number of bytes in the inner method password (Password). More...
 
ubyte radiusSecret [EAP_MAX_PASS_LEN]
 Shared secret required for RADIUS client-server authentication. More...
 
ubyte2 radiusSecretLen
 Number of bytes in the RADIUS shared secret (radiusSecret). More...
 
eapSessionType sessionType
 Type of session: EAP_SESSION_TYPE_PEER or EAP_SESSION_TYPE_AUTHENTICATOR. More...
 
ubyte * tls_con
 EAP_TLS connection control block. More...
 
MSTATUS(* ul2ndStageReceive )(ubyte *app_session_handle, eapMethodType type, eapCode code, ubyte id, ubyte *eap_data, ubyte4 eap_data_len, ubyte *opaque_data)
 Process received EAP messages. More...
 
MSTATUS(* ulAuthResultTransmit )(ubyte *appSessionCB, eapAuthStatus authStatus)
 Send the inner method authentication status. More...
 
MSTATUS(* ulAuthTransmit )(ubyte *appSessionCB, ubyte *eapTTLSCb, ubyte *pkt, ubyte4 pktLen)
 Send a fully formed RADIUS packet for authentication. More...
 
MSTATUS(* ulTransmit )(ubyte *appSessionCB, ubyte *eapPkt, ubyte4 eapPktLen, intBoolean encrypted)
 Send a plain text inner method payload to the application (for further encryption and transmittal). More...
 
ubyte UserName [EAP_MAX_USER_LEN]
 Inner method user name passed by the peer for PAP, CHAP, MSCHAP, and MSCHAPv2. More...
 
ubyte2 UserNameLen
 Number of bytes in the inner method user name (UserName). More...
 
ubyte version
 TTLS version: 0 or 1. More...
 

Detailed Description

This structure is used for EAP-TTLS session configuration. Each included callback function should be customized for your application and then registered by assigning it to the appropriate structure function pointer(s).

Since
1.41
Version
2.45 and later

To use this structure, the following flag must be defined in moptions.h:

  • __ENABLE_MOCANA_EAP_TTLS__

Additionally, at least one of the following flags must be defined in moptions.h:

  • __ENABLE_MOCANA_EAP_AUTH__
  • __ENABLE_MOCANA_EAP_PEER__

Field Documentation

◆ authServerId

ubyte4 EAP_TTLS_params::authServerId

RADIUS server ID; used by the authenticator to send a RADIUS packet to the RADIUS server.

◆ connectionInstance

sbyte4 EAP_TTLS_params::connectionInstance

TLS connection's session ID: the 4-byte SSL connection ID returned from SSL session creation (not the session ID generated after TLS negotiation).

◆ instanceId

ubyte4 EAP_TTLS_params::instanceId

Phase 1 instance ID; for multiple instance (VLAN/VR) support.

◆ methodType

eapTTLSMethodType EAP_TTLS_params::methodType

Method type used by a peer: any of the eapTTLSMethodType enumerated values (defined in eap_ttls.h).

◆ myaddr

MOC_IP_ADDRESS EAP_TTLS_params::myaddr

NAS (network authentication server) IP address, in network byte order — bytes ordered from left to right.

◆ pad2

ubyte EAP_TTLS_params::pad2[3]

(Do not use) Pads the strucutre for alignment with a 4-byte boundary.

◆ Password

ubyte EAP_TTLS_params::Password[EAP_MAX_PASS_LEN]

Inner method password passed by the peer for PAP, CHAP, MSCHAP, and MSCHAPv2.

◆ PasswordLen

ubyte2 EAP_TTLS_params::PasswordLen

Number of bytes in the inner method password (Password).

◆ radiusSecret

ubyte EAP_TTLS_params::radiusSecret[EAP_MAX_PASS_LEN]

Shared secret required for RADIUS client-server authentication. It must be the same secret specified when the RADIUS server was added (see RADIUS_addServer).

◆ radiusSecretLen

ubyte2 EAP_TTLS_params::radiusSecretLen

Number of bytes in the RADIUS shared secret (radiusSecret).

◆ sessionType

eapSessionType EAP_TTLS_params::sessionType

Type of session. The following eapSessionType enumerated values (defined in eap_proto.h) are supported:

  • EAP_SESSION_TYPE_PEER
  • EAP_SESSION_TYPE_AUTHENTICATOR

(No other eapSessionType enumerated values are valid.)

◆ tls_con

ubyte* EAP_TTLS_params::tls_con

EAP_TLS connection control block — the connection handle to an established outer (second stage) TLS connection. This handle is used in function calls to encrypt and decrpyt the payload and to generate session keys.

◆ UserName

ubyte EAP_TTLS_params::UserName[EAP_MAX_USER_LEN]

Inner method user name passed by the peer for PAP, CHAP, MSCHAP, and MSCHAPv2.

◆ UserNameLen

ubyte2 EAP_TTLS_params::UserNameLen

Number of bytes in the inner method user name (UserName).

◆ version

ubyte EAP_TTLS_params::version

TTLS version: 0 or 1. Version 0 is more widely deployed. Version 1 uses INNER_APP encapsulation.


The documentation for this struct was generated from the following file: