nl::Weave::Profiles::Security::CASE::WeaveCASEEngine

#include <src/lib/profiles/security/WeaveCASE.h>

Implements the core logic of the Weave CASE protocol.

Summary

Public types

EngineState enum

Public attributes

AfterKeyGen
struct nl::Weave::Profiles::Security::CASE::WeaveCASEEngine::@221::@223
AuthDelegate
BeforeKeyGen
struct nl::Weave::Profiles::Security::CASE::WeaveCASEEngine::@221::@222
ECDHPrivateKey[kMaxECDHPrivateKeySize]
uint8_t
ECDHPrivateKeyLength
uint16_t
EncryptionKey
EncryptionType
uint8_t
InitiatorKeyConfirmHash[kMaxHashLength]
uint8_t
RequestMsgHash[kMaxHashLength]
uint8_t
SessionKeyId
uint16_t
State
uint8_t

Public functions

AllowedConfigs() const
uint8_t
AllowedCurves() const
uint8_t
CertType() const
uint8_t
GenerateBeginSessionRequest(BeginSessionRequestContext & reqCtx, PacketBuffer *msgBuf)
GenerateBeginSessionResponse(BeginSessionResponseContext & respCtx, PacketBuffer *msgBuf, BeginSessionRequestContext & reqCtx)
GenerateInitiatorKeyConfirm(PacketBuffer *msgBuf)
GetSessionKey(const WeaveEncryptionKey *& encKey)
Init(void)
void
IsAllowedConfig(uint32_t config) const
bool
IsAllowedCurve(uint32_t curveId) const
bool
IsInitiator() const
bool
PerformingKeyConfirm() const
bool
ProcessBeginSessionRequest(PacketBuffer *msgBuf, BeginSessionRequestContext & reqCtx, ReconfigureContext & reconfCtx)
ProcessBeginSessionResponse(PacketBuffer *msgBuf, BeginSessionResponseContext & respCtx)
ProcessInitiatorKeyConfirm(PacketBuffer *msgBuf)
ProcessReconfigure(PacketBuffer *msgBuf, ReconfigureContext & reconfCtx)
Reset(void)
void
ResponderRequiresKeyConfirm() const
bool
SelectedConfig() const
uint32_t
SelectedCurve() const
uint32_t
SetAllowedConfigs(uint8_t allowedConfigs)
void
SetAllowedCurves(uint8_t allowedCurves)
void
SetAlternateConfigs(BeginSessionRequestContext & reqCtx)
void
SetAlternateCurves(BeginSessionRequestContext & reqCtx)
void
SetCertType(uint8_t certType)
void
SetResponderRequiresKeyConfirm(bool val)
void
SetUseKnownECDHKey(bool val)
void
Shutdown(void)
void
UseKnownECDHKey() const
bool

Public types

EngineState

 EngineState

Public attributes

AfterKeyGen

struct nl::Weave::Profiles::Security::CASE::WeaveCASEEngine::@221::@223 AfterKeyGen

AuthDelegate

WeaveCASEAuthDelegate * AuthDelegate

BeforeKeyGen

struct nl::Weave::Profiles::Security::CASE::WeaveCASEEngine::@221::@222 BeforeKeyGen

ECDHPrivateKey

uint8_t ECDHPrivateKey[kMaxECDHPrivateKeySize]

ECDHPrivateKeyLength

uint16_t ECDHPrivateKeyLength

EncryptionKey

WeaveEncryptionKey EncryptionKey

EncryptionType

uint8_t EncryptionType

InitiatorKeyConfirmHash

uint8_t InitiatorKeyConfirmHash[kMaxHashLength]

RequestMsgHash

uint8_t RequestMsgHash[kMaxHashLength]

SessionKeyId

uint16_t SessionKeyId

State

uint8_t State

Public functions

AllowedConfigs

uint8_t AllowedConfigs() const 

AllowedCurves

uint8_t AllowedCurves() const 

CertType

uint8_t CertType() const 

GenerateBeginSessionRequest

WEAVE_ERROR GenerateBeginSessionRequest(
  BeginSessionRequestContext & reqCtx,
  PacketBuffer *msgBuf
)

GenerateBeginSessionResponse

WEAVE_ERROR GenerateBeginSessionResponse(
  BeginSessionResponseContext & respCtx,
  PacketBuffer *msgBuf,
  BeginSessionRequestContext & reqCtx
)

GenerateInitiatorKeyConfirm

WEAVE_ERROR GenerateInitiatorKeyConfirm(
  PacketBuffer *msgBuf
)

GetSessionKey

WEAVE_ERROR GetSessionKey(
  const WeaveEncryptionKey *& encKey
)

Init

void Init(
  void
)

IsAllowedConfig

bool IsAllowedConfig(
  uint32_t config
) const 

IsAllowedCurve

bool IsAllowedCurve(
  uint32_t curveId
) const 

IsInitiator

bool IsInitiator() const 

PerformingKeyConfirm

bool PerformingKeyConfirm() const 

ProcessBeginSessionRequest

WEAVE_ERROR ProcessBeginSessionRequest(
  PacketBuffer *msgBuf,
  BeginSessionRequestContext & reqCtx,
  ReconfigureContext & reconfCtx
)

ProcessBeginSessionResponse

WEAVE_ERROR ProcessBeginSessionResponse(
  PacketBuffer *msgBuf,
  BeginSessionResponseContext & respCtx
)

ProcessInitiatorKeyConfirm

WEAVE_ERROR ProcessInitiatorKeyConfirm(
  PacketBuffer *msgBuf
)

ProcessReconfigure

WEAVE_ERROR ProcessReconfigure(
  PacketBuffer *msgBuf,
  ReconfigureContext & reconfCtx
)

Reset

void Reset(
  void
)

ResponderRequiresKeyConfirm

bool ResponderRequiresKeyConfirm() const 

SelectedConfig

uint32_t SelectedConfig() const 

SelectedCurve

uint32_t SelectedCurve() const 

SetAllowedConfigs

void SetAllowedConfigs(
  uint8_t allowedConfigs
)

SetAllowedCurves

void SetAllowedCurves(
  uint8_t allowedCurves
)

SetAlternateConfigs

void SetAlternateConfigs(
  BeginSessionRequestContext & reqCtx
)

SetAlternateCurves

void SetAlternateCurves(
  BeginSessionRequestContext & reqCtx
)

SetCertType

void SetCertType(
  uint8_t certType
)

SetResponderRequiresKeyConfirm

void SetResponderRequiresKeyConfirm(
  bool val
)

SetUseKnownECDHKey

void SetUseKnownECDHKey(
  bool val
)

Shutdown

void Shutdown(
  void
)

UseKnownECDHKey

bool UseKnownECDHKey() const