class WeaveTAKEEngine

Defined at line 180 of file x64-shared/gen/third_party/openweave-core/src/include/Weave/Profiles/security/WeaveTAKE.h

Implements the core logic of the Weave TAKE protocol.

Public Members

WeaveTAKEChallengerAuthDelegate * ChallengerAuthDelegate
WeaveTAKETokenAuthDelegate * TokenAuthDelegate
uint8_t[16] ChallengerNonce
uint8_t[16] TokenNonce
uint8_t ControlHeader
uint8_t EncryptionType
uint8_t ProtocolConfig
uint8_t[16] OptionalConfigurations
uint16_t SessionKeyId
uint8_t ChosenConfiguration
uint8_t[16] ChallengerId
uint8_t ChallengerIdLen

Public Methods

void Init ()
void Shutdown ()
WEAVE_ERROR GenerateIdentifyTokenMessage (uint16_t sessionKeyId, uint8_t takeConfig, bool encryptAuthPhase, bool encryptCommPhase, bool timeLimitedIK, bool sendChallengerId, uint8_t encryptionType, uint64_t localNodeId, PacketBuffer * msgBuf)

First handshake.

WEAVE_ERROR ProcessIdentifyTokenMessage (uint64_t peerNodeId, const PacketBuffer * msgBuf)
WEAVE_ERROR GenerateIdentifyTokenResponseMessage (PacketBuffer * msgBuf)
WEAVE_ERROR ProcessIdentifyTokenResponseMessage (const PacketBuffer * buf)
WEAVE_ERROR GenerateTokenReconfigureMessage (PacketBuffer * msgBuf)

In case a reconfigure is needed.

WEAVE_ERROR ProcessTokenReconfigureMessage (uint8_t & config, const PacketBuffer * msgBuf)
WEAVE_ERROR GenerateProtocolEncryptionKey ()

Generate the encryption key.

WEAVE_ERROR GenerateAuthenticateTokenMessage (PacketBuffer * msgBuf)

Second handshake, assuming no reauthentication.

WEAVE_ERROR ProcessAuthenticateTokenMessage (const PacketBuffer * msgBuf)
WEAVE_ERROR GenerateAuthenticateTokenResponseMessage (PacketBuffer * msgBuf)
WEAVE_ERROR ProcessAuthenticateTokenResponseMessage (const PacketBuffer * msgBuf)
WEAVE_ERROR GenerateReAuthenticateTokenMessage (PacketBuffer * msgBuf)

Second handshake, assuming reauthentication.

WEAVE_ERROR ProcessReAuthenticateTokenMessage (const PacketBuffer * msgBuf)
WEAVE_ERROR GenerateReAuthenticateTokenResponseMessage (PacketBuffer * msgBuf)
WEAVE_ERROR ProcessReAuthenticateTokenResponseMessage (const PacketBuffer * msgBuf)
WEAVE_ERROR GetSessionKey (const WeaveEncryptionKey *& encKey)

Returns the session key.

uint8_t GetEncryptionType ()
bool UseSessionKey ()
uint8_t GetNumOptionalConfigurations ()
bool IsEncryptAuthPhase ()
bool IsEncryptCommPhase ()
bool IsTimeLimitedIK ()
bool HasSentChallengerId ()
uint16_t GetCurveLen ()
uint16_t GetPrivKeyLen ()
uint16_t GetECPointLen ()
OID GetCurveOID ()