32 #ifndef __EAP_MSCHAP_H__ 33 #define __EAP_MSCHAP_H__ 39 #if (defined(__ENABLE_MOCANA_EAP_PEER__) || defined(__ENABLE_MOCANA_EAP_AUTH__)) 41 #define MSCHAPV2_CHALLENGE (1) 42 #define MSCHAPV2_RESPONSE (2) 43 #define MSCHAPV2_SUCCESS (3) 44 #define MSCHAPV2_FAILURE (4) 46 #define MSCHAPV2_RESP_LENGTH (49) 47 #define MSCHAPV2_CHAL_LENGTH (16) 48 #define MSCHAPV2_AUTHENTICATOR_LENGTH (42) 109 ubyte *data,ubyte4 datalen,
110 ubyte *UserName,ubyte4 UserNameLen,
111 ubyte *passwordString,ubyte4 passLen,
112 ubyte *peerChallenge,ubyte *authChallenge,
113 ubyte *NtAuthenticator,
114 ubyte **eapRespData, ubyte4 *eapRespLen);
154 ubyte * identity, ubyte2 identityLen,
156 ubyte **eapReqData, ubyte4 *eapReqLen);
217 ubyte *data,ubyte4 datalen,
218 ubyte *UserName,ubyte4 UserNameLen,
219 ubyte *succMsg,ubyte4 succMsgLen,
220 ubyte *failMsg,ubyte4 failMsgLen,
221 ubyte *passwordString,ubyte4 passLen,
222 ubyte *authChallenge,ubyte *NtResponse,
223 ubyte **eapReqData, ubyte4 *eapReqLen);
286 ubyte *data,ubyte2 datalen,
287 ubyte *passwordString,ubyte2 passLen,
288 ubyte * peerResponse,
289 ubyte * peerChallenge,
290 ubyte * authChallenge,
291 ubyte * UserName,ubyte2 UserNameLen,
292 ubyte **eapRespData, ubyte4 *eapRespLen,
348 ubyte* PeerChallenge,
349 ubyte* AuthenticatorChallenge,
352 ubyte* AuthenticatorResponse);
409 ubyte * PeerChallenge,
410 ubyte * AuthenticatorChallenge,
413 ubyte* ReceivedResponse,
414 byteBoolean * ResponseOK);
460 ubyte * AuthenticatorChallenge,
461 ubyte * PeerChallenge,
552 ubyte2 sessionKeyLen,
704 ubyte * PasswordHash,
705 ubyte * PasswordHashHash);
741 ubyte * PasswordHash);
MOC_EXTERN MSTATUS EAP_MSCHAPgenerateNTResponse(ubyte *AuthenticatorChallenge, ubyte *PeerChallenge, ubyte *UserName, ubyte2 UserNameLen, ubyte *Password, ubyte2 PasswordLen, ubyte *Response)
Build an MS-CHAP-V2 NT response.
MOC_EXTERN MSTATUS EAP_MSCHAPpeerResponse(ubyte *appSessionHdl, ubyte *data, ubyte2 datalen, ubyte *passwordString, ubyte2 passLen, ubyte *peerResponse, ubyte *peerChallenge, ubyte *authChallenge, ubyte *UserName, ubyte2 UserNameLen, ubyte **eapRespData, ubyte4 *eapRespLen, byteBoolean *cmp)
Determine whether an authenticator response to a peer challenge is valid and build the resultant SUCC...
MOC_EXTERN MSTATUS EAP_MSCHAPNtPasswordHash(ubyte *Password, ubyte2 PasswordLen, ubyte *PasswordHash)
Get a password hash (using MD4).
MOC_EXTERN MSTATUS EAP_MSCHAPgenerateSessionKey(ubyte *masterKey, ubyte *sessionKey, ubyte2 sessionKeyLen, byteBoolean send, byteBoolean server)
Generate a send/receive client/server session key.
MOC_EXTERN MSTATUS EAP_MSCHAPChallengeResponse(ubyte *Challenge, ubyte *PasswordHash, ubyte *Response)
Build an MSCHAP v0 response to the specified challenge and password hash.
MOC_EXTERN MSTATUS EAP_MSCHAPHashNtPasswordHash(ubyte *PasswordHash, ubyte *PasswordHashHash)
Get an irreversible hash of a password hash (using MD4).
MOC_EXTERN MSTATUS EAP_MSCHAPgenerateAuthenticatorResponse(ubyte *Password, ubyte2 PasswordLen, ubyte *NtResponse, ubyte *PeerChallenge, ubyte *AuthenticatorChallenge, ubyte *UserName, ubyte2 UserNameLen, ubyte *AuthenticatorResponse)
Generate an authenticator response.
MOC_EXTERN MSTATUS EAP_MSCHAPProcessAuth(ubyte *appSessionHdl, ubyte *data, ubyte4 datalen, ubyte *UserName, ubyte4 UserNameLen, ubyte *succMsg, ubyte4 succMsgLen, ubyte *failMsg, ubyte4 failMsgLen, ubyte *passwordString, ubyte4 passLen, ubyte *authChallenge, ubyte *NtResponse, ubyte **eapReqData, ubyte4 *eapReqLen)
Determine whether a peer response is valid, build the resultant SUCCESS/FAIL response, and if SUCCESS, send the response.
MOC_EXTERN MSTATUS EAP_MSCHAPv0generateNTResponse(ubyte *AuthenticatorChallenge, ubyte *Password, ubyte2 PasswordLen, ubyte *Response)
Build an MS-CHAP-V0 NT response.
MOC_EXTERN MSTATUS EAP_MSCHAPcheckAuthenticatorResponse(ubyte *Password, ubyte2 PasswordLen, ubyte *NtResponse, ubyte *PeerChallenge, ubyte *AuthenticatorChallenge, ubyte *UserName, ubyte2 UserNameLen, ubyte *ReceivedResponse, byteBoolean *ResponseOK)
Determine an MSCHAP authenticator response's status and include it in a new EAP response.
MOC_EXTERN MSTATUS EAP_MSCHAPgenerateMasterKey(ubyte *Password, ubyte2 PasswordLen, ubyte *NtResponse, ubyte *MasterKey)
Generate an MSK (master session key).
MOC_EXTERN MSTATUS EAP_MSCHAPstartRequest(ubyte *appSessionHdl, ubyte *identity, ubyte2 identityLen, ubyte *challenge, ubyte **eapReqData, ubyte4 *eapReqLen)
Build a challenge request.
MOC_EXTERN MSTATUS EAP_MSCHAPV2_getChallenge(ubyte *buf)
Get a 16-byte challenge value for an MSCHAPv2 exchange.
MOC_EXTERN void EAP_MSCHAPbin2hex(const ubyte *szBin, sbyte *szHex, ubyte4 len)
Get a hexadecimal representation of binary data.
MOC_EXTERN MSTATUS EAP_MSCHAPProcessPeer(ubyte *appSessionHdl, ubyte *data, ubyte4 datalen, ubyte *UserName, ubyte4 UserNameLen, ubyte *passwordString, ubyte4 passLen, ubyte *peerChallenge, ubyte *authChallenge, ubyte *NtAuthenticator, ubyte **eapRespData, ubyte4 *eapRespLen)
Build a response to send to the authenticator.