nl::Weave::WeaveSecurityManager

Podsumowanie

Konstruktorzy i niszczyciele

WeaveSecurityManager(void)

Typy publiczne

KeyErrorMsgRcvdFunct)(uint16_t keyId, uint8_t encType, uint32_t messageId, uint64_t peerNodeId, WEAVE_ERROR keyErr) typedef
void(*
Typ funkcji obsługi kluczowych komunikatów o błędach.
KeyExportCompleteFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen) typedef
void(*
Typ funkcji pełnej obsługi protokołu eksportu klucza.
KeyExportErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport) typedef
void(*
Typ funkcji obsługi błędów protokołu eksportu klucza.
SessionErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, uint64_t peerNodeId, StatusReport *statusReport) typedef
void(*
SessionEstablishedFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType) typedef
void(*
State enum | typ wyliczeniowy

Atrybuty publiczne

CASEUseKnownECDHKey
bool
ExchangeManager
FabricState
IdleSessionTimeout
uint32_t
InitiatorAllowedCASEConfigs
uint8_t
InitiatorAllowedCASECurves
uint8_t
InitiatorAllowedKeyExportConfigs
uint8_t
InitiatorCASEConfig
uint32_t
InitiatorCASECurveId
uint32_t
InitiatorKeyExportConfig
uint8_t
OnKeyErrorMsgRcvd
Funkcja wywołania zwrotnego błędu klucza.
OnSessionError
SessionErrorFunct
OnSessionEstablished
SessionEstablishedFunct
ResponderAllowedCASEConfigs
uint8_t
ResponderAllowedCASECurves
uint8_t
ResponderAllowedKeyExportConfigs
uint8_t
SessionEstablishTimeout
uint32_t
State
uint8_t
mCASEEngine
mKeyExport
mPASEEngine
mStartKeyExport_OnComplete
Kompletna funkcja wywołania zwrotnego w protokole eksportu klucza.
mStartKeyExport_OnError
Funkcja wywołania zwrotnego błędu protokołu eksportowania klucza.
mStartKeyExport_ReqState
void *
mStartSecureSession_OnComplete
SessionEstablishedFunct
mStartSecureSession_OnError
SessionErrorFunct
mStartSecureSession_ReqState
void *
mTAKEEngine

Funkcje publiczne

CancelSessionEstablishment(void *reqState)
Anuluj tworzenie sesji w toku.
Init(WeaveExchangeManager & aExchangeMgr, System::Layer & aSystemLayer)
IsKeyError(WEAVE_ERROR err)
bool
Sprawdza, czy podany kod błędu Weave jest jednym z kluczowych kodów błędu.
OnEncryptedMsgRcvd(uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)
void
ReleaseKey(uint64_t peerNodeId, uint16_t keyId)
void
Zwolnij rezerwację klucza szyfrowania wiadomości.
ReserveKey(uint64_t peerNodeId, uint16_t keyId)
void
rezerwować klucz szyfrowania wiadomości,
SendKeyErrorMsg(WeaveMessageInfo *rcvdMsgInfo, const IPPacketInfo *rcvdMsgPacketInfo, WeaveConnection *con, WEAVE_ERROR keyErr)
Wyślij komunikat o błędzie klucza.
SetCASEAuthDelegate(WeaveCASEAuthDelegate *delegate)
void
SetKeyExportDelegate(WeaveKeyExportDelegate *delegate)
void
SetTAKEAuthDelegate(WeaveTAKEChallengerAuthDelegate *delegate)
void
SetTAKETokenAuthDelegate(WeaveTAKETokenAuthDelegate *delegate)
void
Shutdown(void)
StartCASESession(WeaveConnection *con, uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, WeaveCASEAuthDelegate *authDelegate, uint64_t terminatingNodeId)
Ta metoda jest wywoływana w celu ustanowienia nowej lub znalezienia istniejącej sesji CASE.
StartKeyExport(WeaveConnection *con, uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, uint32_t keyId, bool signMessage, void *reqState, KeyExportCompleteFunct onComplete, KeyExportErrorFunct onError, WeaveKeyExportDelegate *keyExportDelegate)
StartPASESession(WeaveConnection *con, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, const uint8_t *pw, uint16_t pwLen)
Ta metoda jest wywoływana w celu ustanowienia bezpiecznej sesji PASE.
StartTAKESession(WeaveConnection *con, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, bool encryptAuthPhase, bool encryptCommPhase, bool timeLimitedIK, bool sendChallengerId, WeaveTAKEChallengerAuthDelegate *authDelegate)
Ta metoda jest wywoływana w celu ustanawiania bezpiecznej sesji Takeout.

Typy publiczne

KeyErrorMsgRcvdFunct

void(* KeyErrorMsgRcvdFunct)(uint16_t keyId, uint8_t encType, uint32_t messageId, uint64_t peerNodeId, WEAVE_ERROR keyErr)

Typ funkcji obsługi kluczowych komunikatów o błędach.

Szczegóły
Parametry
[in] keyId
Klucz szyfrowania spowodował odpowiedź z komunikatem o błędzie klucza z grupy porównawczej.
[in] encType
Typ szyfrowania powiązany z keyId.
[in] messageId
Identyfikator komunikatu Weave spowodował kluczową odpowiedź błędu połączenia równorzędnego.
[in] peerNodeId
Identyfikator węzła Weave, który wysłał kluczowy komunikat o błędzie.
[in] keyErr
Kod błędu otrzymany z połączenia równorzędnego.

KeyExportCompleteFunct

void(* KeyExportCompleteFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen)

Typ funkcji pełnej obsługi protokołu eksportu klucza.

Szczegóły
Parametry
[in] sm
Wskaźnik do obiektu WeaveSecurityManager.
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] reqState
Wskaźnik do stanu żądającego eksportu klucza.
[in] keyId
Wyeksportowano identyfikator klucza.
[in] exportedKey
Wskaźnik do wyeksportowanego klucza obiektu tajnego.
[in] exportedKeyLen
Odwołanie do długości wyeksportowanego klucza obiektu tajnego.

KeyExportErrorFunct

void(* KeyExportErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport)

Typ funkcji obsługi błędów protokołu eksportu klucza.

Szczegóły
Parametry
[in] sm
Wskaźnik do obiektu WeaveSecurityManager.
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] reqState
Wskaźnik do stanu żądającego eksportu klucza.
[in] localErr
Napotkano błąd WEAVE_ERROR podczas protokołu eksportu klucza.
[in] statusReport
Wskaźnik do obiektu StatusReport, jeśli peer otrzyma stan błędu.

SessionErrorFunct

void(* SessionErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, uint64_t peerNodeId, StatusReport *statusReport)

SessionEstablishedFunct

void(* SessionEstablishedFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)

Stan

 State

Atrybuty publiczne

CASEUżyjznany ECDHKlucz

bool CASEUseKnownECDHKey

ExchangeManager

WeaveExchangeManager * ExchangeManager

FabricState

WeaveFabricState * FabricState

IdleSessionTimeout

uint32_t IdleSessionTimeout

InitiatorAllowedCASEConfigs

uint8_t InitiatorAllowedCASEConfigs

InitiatorAllowedCASECurves

uint8_t InitiatorAllowedCASECurves

InitiatorAllowedKeyExportConfigs

uint8_t InitiatorAllowedKeyExportConfigs

InitiatorCASEConfig

uint32_t InitiatorCASEConfig

InitiatorCASECurveId

uint32_t InitiatorCASECurveId

InitiatorKeyExportConfig

uint8_t InitiatorKeyExportConfig

OnKeyErrorMsgRcvd

KeyErrorMsgRcvdFunct OnKeyErrorMsgRcvd

Funkcja wywołania zwrotnego błędu klucza.

Ta funkcja jest wywoływana po otrzymaniu komunikatu o błędzie klucza.

OnSessionError

SessionErrorFunct OnSessionError

OnSessionEstablished

SessionEstablishedFunct OnSessionEstablished

ResponderAllowedCASEConfigs

uint8_t ResponderAllowedCASEConfigs

ResponderAllowedCASECurves

uint8_t ResponderAllowedCASECurves

ResponderAllowedKeyExportConfigs

uint8_t ResponderAllowedKeyExportConfigs

SessionEstablishTimeout

uint32_t SessionEstablishTimeout

Stan

uint8_t State

mCASEEngine

WeaveCASEEngine * mCASEEngine

mKeyExport

WeaveKeyExport * mKeyExport

mPASEEngine

WeavePASEEngine * mPASEEngine

mStartKeyExport_OnComplete

KeyExportCompleteFunct mStartKeyExport_OnComplete

Kompletna funkcja wywołania zwrotnego w protokole eksportu klucza.

Funkcja jest wywoływana po zakończeniu procesu eksportowania klucza obiektu tajnego.

mStartKeyExport_OnError

KeyExportErrorFunct mStartKeyExport_OnError

Funkcja wywołania zwrotnego błędu protokołu eksportowania klucza.

Funkcja jest wywoływana, gdy podczas eksportowania klucza wystąpi błąd.

mStartKeyExport_ReqState

void * mStartKeyExport_ReqState

mStartSecureSession_OnComplete

SessionEstablishedFunct mStartSecureSession_OnComplete

mStartSecureSession_OnError

SessionErrorFunct mStartSecureSession_OnError

mStartSecureSession_ReqState

void * mStartSecureSession_ReqState

mTAKEEngine

WeaveTAKEEngine * mTAKEEngine

Funkcje publiczne

CancelSessionEstablishment

WEAVE_ERROR CancelSessionEstablishment(
  void *reqState
)

Anuluj tworzenie sesji w toku.

Szczegóły
Parametry
[in] reqState
Wartość wskaźnika odpowiadająca wartości przesłanej przez aplikację po rozpoczęciu sesji.
Zwracane wartości
WEAVE_NO_ERROR
Znaleziono i anulowano pasujące rozpoczęcie sesji w toku.
WEAVE_ERROR_INCORRECT_STATE
Jeśli nie było inicjowania sesji lub sesja w toku nie odpowiadała dostarczonemu wskaźnikowi stanu żądania.

Zainicjuj

WEAVE_ERROR Init(
  WeaveExchangeManager & aExchangeMgr,
  System::Layer & aSystemLayer
)

IsKeyError

bool IsKeyError(
  WEAVE_ERROR err
)

Sprawdza, czy podany kod błędu Weave jest jednym z kluczowych kodów błędu.

Ta funkcja jest wywoływana w celu określenia, czy komunikat o błędzie klucza powinien zostać wysłany do inicjatora komunikatu, w przypadku którego podczas dekodowania nie udało się znaleźć poprawnego klucza.

Szczegóły
Parametry
[in] err
Kod błędu Weave.
Zwracane wartości
true
W przypadku określenia kodu błędu Weave jest to główny błąd.
false
W przeciwnym razie.

OnEncryptedMsgRcvd

void OnEncryptedMsgRcvd(
  uint16_t sessionKeyId,
  uint64_t peerNodeId,
  uint8_t encType
)

ReleaseKey

void ReleaseKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

Zwolnij rezerwację klucza szyfrowania wiadomości.

Zwalnianie rezerwacji, które zostały wcześniej umieszczone w kluczu szyfrowania wiadomości.

W przypadku każdej rezerwacji umieszczonej w konkretnym kluczu metoda ReleaseKey() może być wywoływana nie więcej niż raz.

Ta metoda akceptuje dowolną formę identyfikatora klucza, w tym brak. Identyfikatory kluczy, które nie nazywają rzeczywistych kluczy, są ignorowane.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła Weave dla peera, któremu udostępniono klucz.
[in] keyId
Identyfikator klucza, którego rezerwacja powinna zostać zwolniona.

ReserveKey

void ReserveKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

rezerwować klucz szyfrowania wiadomości,

Rezerwacje kluczy służą do zasygnalizowania, że dany klucz jest aktywnie używany i należy go zachować. Pamiętaj, że utworzenie rezerwacji klucza nie gwarantuje, że nie zostanie on usunięty w wyniku jawnego działania, takiego jak odebranie komunikatu o błędzie klucza.

Dla każdej rezerwacji umieszczonej dla określonego klucza należy wykonać odpowiednie wywołanie ReleaseKey().

Ta metoda akceptuje dowolną formę identyfikatora klucza, w tym brak. Identyfikatory kluczy, które nie nazywają rzeczywistych kluczy, są ignorowane.

Szczegóły
Parametry
[in] peerNodeId
Identyfikator węzła Weave dla peera, któremu udostępniono klucz.
[in] keyId
Identyfikator klucza do zarezerwowania.

SendKeyErrorMsg

WEAVE_ERROR SendKeyErrorMsg(
  WeaveMessageInfo *rcvdMsgInfo,
  const IPPacketInfo *rcvdMsgPacketInfo,
  WeaveConnection *con,
  WEAVE_ERROR keyErr
)

Wyślij komunikat o błędzie klucza.

Ta funkcja jest wywoływana, gdy odbierane dekodowanie wiadomości Weave kończy się niepowodzeniem z powodu błędu klucza.

Szczegóły
Parametry
[in] rcvdMsgInfo
Wskaźnik do informacji o odebranej wiadomości Weave.
[in] rcvdMsgPacketInfo
Wskaźnik do obiektu IPPacketInfo odebranej wiadomości Weave.
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] keyErr
Kod błędu klucza Weave.
Zwracane wartości
WEAVE_ERROR_NO_MEMORY
Jeśli nie udało się przydzielać pamięci do nowego kontekstu giełdy lub nowego bufora wiadomości.
WEAVE_ERROR_BUFFER_TOO_SMALL
Jeśli bufor jest za mały
WEAVE_NO_ERROR
Jeśli to się uda,

SetCASEAuthDelegate

void SetCASEAuthDelegate(
  WeaveCASEAuthDelegate *delegate
)

SetKeyExportDelegate

void SetKeyExportDelegate(
  WeaveKeyExportDelegate *delegate
)

SetTAKEAuthDelegate

void SetTAKEAuthDelegate(
  WeaveTAKEChallengerAuthDelegate *delegate
)

SetTAKETokenAuthDelegate

void SetTAKETokenAuthDelegate(
  WeaveTAKETokenAuthDelegate *delegate
)

Wyłączono

WEAVE_ERROR Shutdown(
  void
)

StartCASESession

WEAVE_ERROR StartCASESession(
  WeaveConnection *con,
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  WeaveAuthMode requestedAuthMode,
  void *reqState,
  SessionEstablishedFunct onComplete,
  SessionErrorFunct onError,
  WeaveCASEAuthDelegate *authDelegate,
  uint64_t terminatingNodeId
)

Ta metoda jest wywoływana w celu ustanowienia nowej lub znalezienia istniejącej sesji CASE.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] peerNodeId
Identyfikator węzła równorzędnego.
[in] peerAddr
Adres IP węzła równorzędnego.
[in] peerPort
Port węzła równorzędnego.
[in] requestedAuthMode
Wymagane sposoby uwierzytelniania połączenia równorzędnego. Musi to być jeden z trybów uwierzytelniania CASE.
[in] reqState
Wskaźnik do stanu użytkownika wysyłającego prośbę.
[in] onComplete
Wskaźnik do funkcji wywołania zwrotnego, która zostanie wywołana po ustanowieniu żądanej bezpiecznej sesji.
[in] onError
Wskaźnik do funkcji wywołania zwrotnego, która jest wywoływana, jeśli żądane ustanowienie sesji się nie powiedzie.
[in] authDelegate
Wskaźnik do obiektu delegata uwierzytelniania CASE.
[in] terminatingNodeId
Identyfikator węzła kończącego sesję. Gdy te dane wejściowe są inne niż kNodeIdNotSpecified, oznacza to, że zażądano współdzielonej bezpiecznej sesji.
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.

StartKeyExport

WEAVE_ERROR StartKeyExport(
  WeaveConnection *con,
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  uint32_t keyId,
  bool signMessage,
  void *reqState,
  KeyExportCompleteFunct onComplete,
  KeyExportErrorFunct onError,
  WeaveKeyExportDelegate *keyExportDelegate
)

StartPASESession

WEAVE_ERROR StartPASESession(
  WeaveConnection *con,
  WeaveAuthMode requestedAuthMode,
  void *reqState,
  SessionEstablishedFunct onComplete,
  SessionErrorFunct onError,
  const uint8_t *pw,
  uint16_t pwLen
)

Ta metoda jest wywoływana w celu ustanowienia bezpiecznej sesji PASE.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] requestedAuthMode
Wymagane sposoby uwierzytelniania połączenia równorzędnego. Musi to być jeden z trybów uwierzytelniania PASE.
[in] reqState
Wskaźnik do stanu użytkownika wysyłającego prośbę.
[in] onComplete
Wskaźnik do funkcji wywołania zwrotnego, która zostanie wywołana po ustanowieniu żądanej bezpiecznej sesji.
[in] onError
Wskaźnik do funkcji wywołania zwrotnego, która jest wywoływana, jeśli żądane ustanowienie sesji się nie powiedzie.
[in] pw
Wskaźnik hasła tajnego PASE.
[in] pwLen
Długość hasła tajnego PASE.
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.

StartTAKESession

WEAVE_ERROR StartTAKESession(
  WeaveConnection *con,
  WeaveAuthMode requestedAuthMode,
  void *reqState,
  SessionEstablishedFunct onComplete,
  SessionErrorFunct onError,
  bool encryptAuthPhase,
  bool encryptCommPhase,
  bool timeLimitedIK,
  bool sendChallengerId,
  WeaveTAKEChallengerAuthDelegate *authDelegate
)

Ta metoda jest wywoływana w celu ustanawiania bezpiecznej sesji Takeout.

Szczegóły
Parametry
[in] con
Wskaźnik do obiektu WeaveConnection.
[in] requestedAuthMode
Wymagane sposoby uwierzytelniania połączenia równorzędnego. Musi to być jeden z trybów uwierzytelniania Take.
[in] reqState
Wskaźnik do stanu użytkownika wysyłającego prośbę.
[in] onComplete
Wskaźnik do funkcji wywołania zwrotnego, która zostanie wywołana po ustanowieniu żądanej bezpiecznej sesji.
[in] onError
Wskaźnik do funkcji wywołania zwrotnego, która jest wywoływana, jeśli żądane ustanowienie sesji się nie powiedzie.
[in] encryptAuthPhase
Flaga wartości logicznej, która wskazuje, czy etap uwierzytelniania protokołu ma być szyfrowany.
[in] encryptCommPhase
Flaga wartości logicznej, która wskazuje, czy etap komunikacji protokołu ma być szyfrowany.
[in] timeLimitedIK
Flaga wartości logicznej, która wskazuje, czy klucz identyfikacyjny (IK) jest ograniczony czasowo.
[in] sendChallengerId
Flaga wartości logicznej, która wskazuje, czy w wiadomości powinna zostać uwzględniona identyfikacja rozmówcy. Jeśli go nie podasz, jako identyfikatora wyzwania jest używana wartość identyfikatora węzła Weave.
[in] authDelegate
Wskaźnik do obiektu delegata uwierzytelniania Taker Tester.
Zwracane wartości
WEAVE_NO_ERROR
Na sukces.

WeaveSecurityManager

 WeaveSecurityManager(
  void
)