nl:: Weave:: WeaveFabricState
#include <src/lib/core/WeaveFabricState.h>
Weiterleitende Deklaration von WeaveFabricState.
Zusammenfassung
Konstruktoren und Zerstörer |
|
---|---|
WeaveFabricState(void)
|
Öffentliche Typen |
|
---|---|
PeerIndexType
|
typedefuint8_t
|
SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
|
typedefvoid(*
|
State
|
enum |
Öffentliche Attribute |
|
---|---|
AutoCreateKeys
|
bool
|
DebugFabricId
|
uint64_t
|
DefaultSubnet
|
uint16_t
|
FabricId
|
uint64_t
|
GroupKeyStore
|
|
ListenIPv4Addr
|
IPAddress
|
ListenIPv6Addr
|
IPAddress
|
LocalNodeId
|
uint64_t
|
LogKeys
|
bool
|
MaxUnencUDPMsgIdRcvd[WEAVE_CONFIG_MAX_PEER_NODES]
|
uint32_t
|
MessageLayer
|
|
MostRecentlyUsedIndexes[WEAVE_CONFIG_MAX_PEER_NODES]
|
PeerIndexType
|
NodeId[WEAVE_CONFIG_MAX_PEER_NODES]
|
uint64_t
|
PairingCode
|
const char *
|
State
|
uint8_t
|
UnencRcvFlags[WEAVE_CONFIG_MAX_PEER_NODES]
|
WeaveSessionState::ReceiveFlagsType
|
UseTestKey
|
bool
|
Öffentliche Funktionen |
|
---|---|
AddSharedSessionEndNode(uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId)
|
|
AddSharedSessionEndNode(WeaveSessionKey *sessionKey, uint64_t endNodeId)
|
Mit dieser Methode wird dem Datensatz der freigegebenen Endknoten ein neuer Endknoten hinzugefügt.
|
AllocSessionKey(uint64_t peerNodeId, uint16_t keyId, WeaveConnection *boundCon, WeaveSessionKey *& sessionKey)
|
|
ClearFabricState(void)
|
void
|
CreateFabric(void)
|
|
FindSessionKey(uint16_t keyId, uint64_t peerNodeId, bool create, WeaveSessionKey *& retRec)
|
Mit dieser Methode wird der Sitzungsschlüssel-Eintrag gefunden.
|
FindSharedSession(uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType)
|
Durchsucht die Tabelle mit Sitzungsschlüssel nach einem festgelegten freigegebenen Sitzungsschlüssel, der auf den angegebenen Endknoten ausgerichtet ist und dem angegebenen Authentifizierungsmodus und Verschlüsselungstyp entspricht.
|
GetFabricState(uint8_t *buf, uint32_t bufSize, uint32_t & fabricStateLen)
|
|
GetPassword(uint8_t pwSrc, const char *& ps, uint16_t & pwLen)
|
|
GetSessionKey(uint16_t keyId, uint64_t peerNodeId, WeaveSessionKey *& outSessionKey)
|
|
GetSessionState(uint64_t remoteNodeId, uint16_t keyId, uint8_t encType, WeaveConnection *con, WeaveSessionState & outSessionState)
|
|
GetSharedSessionEndNodeIds(const WeaveSessionKey *sessionKey, uint64_t *endNodeIds, uint8_t endNodeIdsBufSize, uint8_t & endNodeIdsCount)
|
Diese Methode gibt alle Endknoten-IDs zurück, die die angegebene Sitzung gemeinsam nutzen.
|
HandleConnectionClosed(WeaveConnection *con)
|
void
|
Init(void)
|
|
Init(nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore)
|
|
IsFabricAddress(const IPAddress & addr) const
|
bool
Ermittelt, ob eine IP-Adresse eine Adresse eines Knotens innerhalb der lokalen Weave-Struktur darstellt.
|
IsLocalFabricAddress(const IPAddress & addr) const
|
bool
Ermittelt, ob eine IP-Adresse eine Weave-Fabric-Adresse für den lokalen Knoten ist.
|
IsSharedSession(uint16_t keyId, uint64_t peerNodeId)
|
bool
Diese Methode prüft, ob eine sichere Sitzung freigegeben ist, die der angegebenen Peer- und der angegebenen Schlüssel-ID zugeordnet ist.
|
JoinExistingFabric(const uint8_t *fabricState, uint32_t fabricStateLen)
|
|
RegisterSessionEndCallback(SessionEndCbCtxt *sessionEndCb)
|
|
RemoveIdleSessionKeys()
|
bool
|
RemoveSessionKey(uint16_t keyId, uint64_t peerNodeId)
|
|
RemoveSessionKey(WeaveSessionKey *sessionKey, bool wasIdle)
|
void
|
RemoveSharedSessionEndNodes(const WeaveSessionKey *sessionKey)
|
void
|
RestoreSession(uint8_t *serializedSession, uint16_t serializedSessionLen)
|
Stellen Sie eine zuvor gesperrte Weave-Sicherheitssitzung aus einem serialisierten Zustand wieder her.
|
SelectNodeAddress(uint64_t nodeId, uint16_t subnet) const
|
Gibt eine IPAddress zurück, die eine Weave-ULA für einen angegebenen Knoten enthält.
|
SelectNodeAddress(uint64_t nodeId) const
|
Gibt eine IPAddress zurück, die eine Weave-ULA für einen angegebenen Knoten enthält.
|
SetDelegate(FabricStateDelegate *aDelegate)
|
void
Diese Methode legt das Delegatobjekt fest.
|
SetSessionKey(uint16_t keyId, uint64_t peerNodeId, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey)
|
|
SetSessionKey(WeaveSessionKey *sessionKey, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey)
|
|
Shutdown(void)
|
|
SuspendSession(uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen)
|
Unterbrechen und serialisieren Sie den Status einer aktiven Weave-Sicherheitssitzung.
|
Strukturen |
|
---|---|
nl:: |
Öffentliche Typen
PeerIndexType
uint8_t PeerIndexType
SessionEndCbFunct
void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
Status
State
Öffentliche Attribute
AutoCreateKeys
bool AutoCreateKeys
DebugFabricId
uint64_t DebugFabricId
DefaultSubnet
uint16_t DefaultSubnet
FabricId
uint64_t FabricId
GroupKeyStore
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase * GroupKeyStore
ListenIPv4Addr
IPAddress ListenIPv4Addr
ListenIPv6Addr
IPAddress ListenIPv6Addr
LocalNodeId
uint64_t LocalNodeId
LogKeys
bool LogKeys
MaxUnencUDPMsgIdRcvd
uint32_t MaxUnencUDPMsgIdRcvd[WEAVE_CONFIG_MAX_PEER_NODES]
MessageLayer
WeaveMessageLayer * MessageLayer
MostRecentlyUsedIndexes
PeerIndexType MostRecentlyUsedIndexes[WEAVE_CONFIG_MAX_PEER_NODES]
NodeId
uint64_t NodeId[WEAVE_CONFIG_MAX_PEER_NODES]
PairingCode
const char * PairingCode
Status
uint8_t State
UnencRcvFlags
WeaveSessionState::ReceiveFlagsType UnencRcvFlags[WEAVE_CONFIG_MAX_PEER_NODES]
UseTestKey
bool UseTestKey
Öffentliche Funktionen
AddSharedSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId )
AddSharedSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( WeaveSessionKey *sessionKey, uint64_t endNodeId )
Mit dieser Methode wird dem Datensatz der freigegebenen Endknoten ein neuer Endknoten hinzugefügt.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
AllocSessionKey
WEAVE_ERROR AllocSessionKey( uint64_t peerNodeId, uint16_t keyId, WeaveConnection *boundCon, WeaveSessionKey *& sessionKey )
ClearFabricState
void ClearFabricState( void )
CreateFabric
WEAVE_ERROR CreateFabric( void )
FindSessionKey
WEAVE_ERROR FindSessionKey( uint16_t keyId, uint64_t peerNodeId, bool create, WeaveSessionKey *& retRec )
Mit dieser Methode wird der Sitzungsschlüssel-Eintrag gefunden.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
FindSharedSession
WeaveSessionKey * FindSharedSession( uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType )
Durchsucht die Tabelle mit Sitzungsschlüssel nach einem festgelegten freigegebenen Sitzungsschlüssel, der auf den angegebenen Endknoten ausgerichtet ist und dem angegebenen Authentifizierungsmodus und Verschlüsselungstyp entspricht.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
GetFabricState
WEAVE_ERROR GetFabricState( uint8_t *buf, uint32_t bufSize, uint32_t & fabricStateLen )
GetPassword
WEAVE_ERROR GetPassword( uint8_t pwSrc, const char *& ps, uint16_t & pwLen )
GetSessionKey
WEAVE_ERROR GetSessionKey( uint16_t keyId, uint64_t peerNodeId, WeaveSessionKey *& outSessionKey )
GetSessionState
WEAVE_ERROR GetSessionState( uint64_t remoteNodeId, uint16_t keyId, uint8_t encType, WeaveConnection *con, WeaveSessionState & outSessionState )
GetSharedSessionEndNodeIds
WEAVE_ERROR GetSharedSessionEndNodeIds( const WeaveSessionKey *sessionKey, uint64_t *endNodeIds, uint8_t endNodeIdsBufSize, uint8_t & endNodeIdsCount )
Diese Methode gibt alle Endknoten-IDs zurück, die die angegebene Sitzung gemeinsam nutzen.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
HandleConnectionClosed
void HandleConnectionClosed( WeaveConnection *con )
Init
WEAVE_ERROR Init( void )
Init
WEAVE_ERROR Init( nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore )
IsFabricAddress
bool IsFabricAddress( const IPAddress & addr ) const
Ermittelt, ob eine IP-Adresse eine Adresse eines Knotens innerhalb der lokalen Weave-Struktur darstellt.
IsLocalFabricAddress
bool IsLocalFabricAddress( const IPAddress & addr ) const
Ermittelt, ob eine IP-Adresse eine Weave-Fabric-Adresse für den lokalen Knoten ist.
IsSharedSession
bool IsSharedSession( uint16_t keyId, uint64_t peerNodeId )
Diese Methode prüft, ob eine sichere Sitzung freigegeben ist, die der angegebenen Peer- und der angegebenen Schlüssel-ID zugeordnet ist.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
JoinExistingFabric
WEAVE_ERROR JoinExistingFabric( const uint8_t *fabricState, uint32_t fabricStateLen )
RegisterSessionEndCallback
WEAVE_ERROR RegisterSessionEndCallback( SessionEndCbCtxt *sessionEndCb )
RemoveIdleSessionKeys
bool RemoveIdleSessionKeys()
RemoveSessionKey
WEAVE_ERROR RemoveSessionKey( uint16_t keyId, uint64_t peerNodeId )
RemoveSessionKey
void RemoveSessionKey( WeaveSessionKey *sessionKey, bool wasIdle )
RemoveSharedSessionEndNodes
void RemoveSharedSessionEndNodes( const WeaveSessionKey *sessionKey )
RestoreSession
WEAVE_ERROR RestoreSession( uint8_t *serializedSession, uint16_t serializedSessionLen )
Stellen Sie eine zuvor angehaltene Weave-Sicherheitssitzung aus einem serialisierten Zustand wieder her.
SelectNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId, uint16_t subnet ) const
Gibt eine IPAddress zurück, die eine Weave-ULA für einen angegebenen Knoten enthält.
Bei dieser Variante kann ein Subnetz angegeben werden.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
SelectNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId ) const
Gibt eine IPAddress zurück, die eine Weave-ULA für einen angegebenen Knoten enthält.
Diese Variante verwendet das Standardsubnetz des lokalen Knotens.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabewerte |
|
SetDelegate
void SetDelegate( FabricStateDelegate *aDelegate )
Mit dieser Methode wird das Delegatobjekt festgelegt.
Die Callback-Methoden des Delegats werden immer dann aufgerufen, wenn die FabricId geändert wird, d.h. wenn wir eine Fabric verbinden/erstellen oder eine Fabric verlassen (klarer Fabric-Zustand)
Wenn der Delegat zuvor festgelegt wurde, wird der vorherige Delegat durch einen zweiten Aufruf dieser Methode überschrieben.
Details | |||
---|---|---|---|
Parameter |
|
SetSessionKey
WEAVE_ERROR SetSessionKey( uint16_t keyId, uint64_t peerNodeId, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey )
SetSessionKey
WEAVE_ERROR SetSessionKey( WeaveSessionKey *sessionKey, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey )
Herunterfahren
WEAVE_ERROR Shutdown( void )
SuspendSession
WEAVE_ERROR SuspendSession( uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen )
Unterbrechen und serialisieren Sie den Status einer aktiven Weave-Sicherheitssitzung.
Serialisiert den Status einer identifizierten Weave-Sicherheitssitzung in den bereitgestellten Zwischenspeicher und unterbricht die Sitzung, sodass keine weiteren Nachrichten gesendet oder empfangen werden können.
Diese Methode ist für Geräte vorgesehen, die im Ruhezustand keinen RAM beibehalten, sodass sie den Status einer aktiven Sitzung beibehalten und die Sitzung nach dem Beenden des Ruhemodus nicht neu starten müssen.
WeaveFabricState
WeaveFabricState( void )