nl:: Weave:: WeaveFabricState
#include <src/lib/core/WeaveFabricState.h>
Vorwärtsdeklaration von WeaveFabricState.
Fazit
Konstrukteur und Zerstörer |
|
---|---|
WeaveFabricState(void)
|
Öffentliche Typen |
|
---|---|
PeerIndexType
|
Typdefuint8_t
|
SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
|
Typdefvoid(*
|
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)
|
Diese Methode fügt dem Eintrag für die freigegebenen Endknoten einen neuen Endknoten hinzu.
|
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 Schlüsseleintrag der Sitzung gefunden.
|
FindSharedSession(uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType)
|
Suchen Sie in der Tabelle mit den Sitzungsschlüsseln nach einem vorhandenen Schlüssel für eine freigegebene Sitzung, der auf den angegebenen Knotenende ausgerichtet ist und mit dem angegebenen Authentifizierungsmodus und Verschlüsselungstyp übereinstimmt.
|
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 End-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
Legt fest, ob eine IP-Adresse eine Adresse eines Knotens im lokalen Weave-Fabric darstellt.
|
IsLocalFabricAddress(const IPAddress & addr) const
|
bool
Legt fest, ob eine IP-Adresse eine Weave-Fabric-Adresse für den lokalen Knoten darstellt.
|
IsSharedSession(uint16_t keyId, uint64_t peerNodeId)
|
bool
Diese Methode prüft, ob die sichere Sitzung, die mit dem angegebenen Peer und der Schlüssel-ID verknüpft ist, freigegeben 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)
|
Eine zuvor gesperrte Weave-Sicherheitssitzung aus einem serialisierten Zustand wiederherstellen.
|
SelectNodeAddress(uint64_t nodeId, uint16_t subnet) const
|
Gibt eine IPAdresse zurück, die eine Weave-ULA für einen angegebenen Knoten enthält.
|
SelectNodeAddress(uint64_t nodeId) const
|
Gibt eine IPAdresse zurück, die eine Weave-ULA für einen angegebenen Knoten enthält.
|
SetDelegate(FabricStateDelegate *aDelegate)
|
void
Mit dieser Methode wird das Bevollmächtigten festgelegt.
|
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)
|
Den Status einer aktiven Weave-Sicherheitssitzung sperren und serialisiert
|
Strebenklemmen |
|
---|---|
nl:: |
Öffentliche Typen
Peer-Index-Typ
uint8_t PeerIndexType
SitzungEndCbFct
void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
Status
State
Öffentliche Attribute
AutoCreateKeys
bool AutoCreateKeys
DebugFabric-ID
uint64_t DebugFabricId
Standardsubnetz
uint16_t DefaultSubnet
Textil-ID
uint64_t FabricId
Logo: GroupKeyStore
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase * GroupKeyStore
ListenIPv4Addr
IPAddress ListenIPv4Addr
ListenIPv6Addr
IPAddress ListenIPv6Addr
Lokale Knoten-ID
uint64_t LocalNodeId
Logschlüssel
bool LogKeys
MaxUnencUDPMsgIdRcvd
uint32_t MaxUnencUDPMsgIdRcvd[WEAVE_CONFIG_MAX_PEER_NODES]
Nachrichtenschicht
WeaveMessageLayer * MessageLayer
Meistverwendete Indexe
PeerIndexType MostRecentlyUsedIndexes[WEAVE_CONFIG_MAX_PEER_NODES]
Knoten-ID
uint64_t NodeId[WEAVE_CONFIG_MAX_PEER_NODES]
Kopplungscode
const char * PairingCode
Status
uint8_t State
UnencrcvFlags
WeaveSessionState::ReceiveFlagsType UnencRcvFlags[WEAVE_CONFIG_MAX_PEER_NODES]
Testschlüssel verwenden
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 )
Diese Methode fügt dem Eintrag für die freigegebenen Endknoten einen neuen Endknoten hinzu.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
Sitzungsschlüssel
WEAVE_ERROR AllocSessionKey( uint64_t peerNodeId, uint16_t keyId, WeaveConnection *boundCon, WeaveSessionKey *& sessionKey )
Logo: ClearFabricState
void ClearFabricState( void )
Stoff erstellen
WEAVE_ERROR CreateFabric( void )
Sitzungsschlüssel
WEAVE_ERROR FindSessionKey( uint16_t keyId, uint64_t peerNodeId, bool create, WeaveSessionKey *& retRec )
Mit dieser Methode wird der Schlüsseleintrag der Sitzung gefunden.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Rückgabewerte |
|
Sitzung suchen
WeaveSessionKey * FindSharedSession( uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType )
Suchen Sie in der Tabelle mit den Sitzungsschlüsseln nach einem vorhandenen Schlüssel für eine freigegebene Sitzung, der auf den angegebenen Knotenende ausgerichtet ist und mit dem angegebenen Authentifizierungsmodus und Verschlüsselungstyp übereinstimmt.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
FabricState
WEAVE_ERROR GetFabricState( uint8_t *buf, uint32_t bufSize, uint32_t & fabricStateLen )
Passwort abrufen
WEAVE_ERROR GetPassword( uint8_t pwSrc, const char *& ps, uint16_t & pwLen )
Sitzungsschlüssel abrufen
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 End-IDs zurück, die die angegebene Sitzung gemeinsam nutzen.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
AliasConnection
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
Legt fest, ob eine IP-Adresse eine Adresse eines Knotens im lokalen Weave-Fabric darstellt.
IsLocalFabricAddress
bool IsLocalFabricAddress( const IPAddress & addr ) const
Legt fest, ob eine IP-Adresse eine Weave-Fabric-Adresse für den lokalen Knoten darstellt.
Ist Sitzung geteilt
bool IsSharedSession( uint16_t keyId, uint64_t peerNodeId )
Diese Methode prüft, ob die sichere Sitzung, die mit dem angegebenen Peer und der Schlüssel-ID verknüpft ist, freigegeben ist.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
JoinVorhandeneFabric
WEAVE_ERROR JoinExistingFabric( const uint8_t *fabricState, uint32_t fabricStateLen )
SessionSessionEndCallback
WEAVE_ERROR RegisterSessionEndCallback( SessionEndCbCtxt *sessionEndCb )
IDIdleSessionKeys entfernen
bool RemoveIdleSessionKeys()
Sitzungsschlüssel entfernen
WEAVE_ERROR RemoveSessionKey( uint16_t keyId, uint64_t peerNodeId )
Sitzungsschlüssel entfernen
void RemoveSessionKey( WeaveSessionKey *sessionKey, bool wasIdle )
SharedSessionEndNodes entfernen
void RemoveSharedSessionEndNodes( const WeaveSessionKey *sessionKey )
Sitzung wiederherstellen
WEAVE_ERROR RestoreSession( uint8_t *serializedSession, uint16_t serializedSessionLen )
Eine zuvor gesperrte Weave-Sicherheitssitzung aus einem serialisierten Zustand wiederherstellen.
SelectNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId, uint16_t subnet ) const
Gibt eine IPAdresse 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 IPAdresse 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 |
|
Festleger
void SetDelegate( FabricStateDelegate *aDelegate )
Mit dieser Methode wird das Bevollmächtigten festgelegt.
Die Callback-Methoden des Bevollmächtigten werden aufgerufen, wenn die FabricId geändert wird, z. B. beim Zusammenführen/Erstellen eines Stoffs oder wenn wir einen Stoff verlassen (leichter Stoffstatus).
Wenn der Bevollmächtigte bereits festgelegt ist, wird der vorherige Bevollmächtigte durch einen zweiten Aufruf dieser Methode überschrieben.
Details | |||
---|---|---|---|
Parameter |
|
Sitzungssitzungsschlüssel
WEAVE_ERROR SetSessionKey( uint16_t keyId, uint64_t peerNodeId, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey )
Sitzungssitzungsschlüssel
WEAVE_ERROR SetSessionKey( WeaveSessionKey *sessionKey, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey )
Heruntergefahren
WEAVE_ERROR Shutdown( void )
Sitzung beenden
WEAVE_ERROR SuspendSession( uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen )
Den Status einer aktiven Weave-Sicherheitssitzung sperren und serialisiert
Serialisiert den Status einer identifizierten Weave-Sicherheitssitzung in den bereitgestellten Puffer und sperrt die Sitzung, damit keine weiteren Nachrichten gesendet oder empfangen werden können.
Diese Methode ist für Geräte gedacht, die RAM während des Schlafs nicht beibehalten. Dadurch können sie den Status einer aktiven Sitzung beibehalten und dadurch die Sitzung nach dem Aufwachen nicht neu erstellen.
WeaveFabricState
WeaveFabricState( void )