nl:: Weave:: WeaveFabricState
#include <src/lib/core/WeaveFabricState.h>
Déclaration de WeaveFabricState.
Résumé
Constructeurs et destructeurs |
|
---|---|
WeaveFabricState(void)
|
Types publics |
|
---|---|
PeerIndexType
|
typedefuint8_t
|
SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
|
typedefvoid(*
|
State
|
énum |
Attributs publics |
|
---|---|
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
|
Fonctions publiques |
|
---|---|
AddSharedSessionEndNode(uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId)
|
|
AddSharedSessionEndNode(WeaveSessionKey *sessionKey, uint64_t endNodeId)
|
Cette méthode ajoute un nouveau nœud final à l'enregistrement des nœuds finaux partagés.
|
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)
|
Cette méthode recherche l'entrée de clé de session.
|
FindSharedSession(uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType)
|
Dans le tableau des clés de session, recherchez une clé de session partagée établie qui cible le nœud de terminaison spécifié, et qui correspond au mode d'authentification et au type de chiffrement donnés.
|
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)
|
Cette méthode renvoie tous les ID de nœud final qui partagent la session spécifiée.
|
HandleConnectionClosed(WeaveConnection *con)
|
void
|
Init(void)
|
|
Init(nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore)
|
|
IsFabricAddress(const IPAddress & addr) const
|
bool
Détermine si une adresse IP représente l'adresse d'un nœud au sein de la structure Weave locale.
|
IsLocalFabricAddress(const IPAddress & addr) const
|
bool
Détermine si une adresse IP représente une adresse de structure Weave pour le nœud local.
|
IsSharedSession(uint16_t keyId, uint64_t peerNodeId)
|
bool
Cette méthode vérifie si la session sécurisée associée au pair et à l'ID de clé spécifiés est partagée.
|
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)
|
Restaurez une session Weave Security précédemment suspendue à partir d'un état sérialisé.
|
SelectNodeAddress(uint64_t nodeId, uint16_t subnet) const
|
Renvoie une adresse IP contenant une ULA Weave pour un nœud spécifié.
|
SelectNodeAddress(uint64_t nodeId) const
|
Renvoie une adresse IP contenant une ULA Weave pour un nœud spécifié.
|
SetDelegate(FabricStateDelegate *aDelegate)
|
void
Cette méthode définit l'objet délégué.
|
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)
|
Suspendez et sérialisez l'état d'une session de sécurité Weave active.
|
Structs |
|
---|---|
nl:: |
Types publics
PeerIndexType
uint8_t PeerIndexType
SessionEndCbFunct
void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
État
State
Attributs publics
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
État
uint8_t State
UnencRcvFlags
WeaveSessionState::ReceiveFlagsType UnencRcvFlags[WEAVE_CONFIG_MAX_PEER_NODES]
UseTestKey
bool UseTestKey
Fonctions publiques
AddSharedSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId )
AddSharedSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( WeaveSessionKey *sessionKey, uint64_t endNodeId )
Cette méthode ajoute un nouveau nœud final à l'enregistrement des nœuds finaux partagés.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs renvoyées |
|
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 )
Cette méthode recherche l'entrée de clé de session.
Détails | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||
Valeurs renvoyées |
|
FindSharedSession
WeaveSessionKey * FindSharedSession( uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType )
Dans le tableau des clés de session, recherchez une clé de session partagée établie qui cible le nœud de terminaison spécifié, et qui correspond au mode d'authentification et au type de chiffrement donnés.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs renvoyées |
|
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 )
Cette méthode renvoie tous les ID de nœud final qui partagent la session spécifiée.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs renvoyées |
|
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
Détermine si une adresse IP représente l'adresse d'un nœud au sein de la structure Weave locale.
IsLocalFabricAddress
bool IsLocalFabricAddress( const IPAddress & addr ) const
Détermine si une adresse IP représente une adresse de structure Weave pour le nœud local.
IsSharedSession
bool IsSharedSession( uint16_t keyId, uint64_t peerNodeId )
Cette méthode vérifie si la session sécurisée associée au pair et à l'ID de clé spécifiés est partagée.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs renvoyées |
|
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 )
Restaurez une session Weave Security précédemment suspendue à partir d'un état sérialisé.
SelectNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId, uint16_t subnet ) const
Renvoie une adresse IP contenant une ULA Weave pour un nœud spécifié.
Cette variante permet de spécifier un sous-réseau.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs renvoyées |
|
SelectNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId ) const
Renvoie une adresse IP contenant une ULA Weave pour un nœud spécifié.
Cette variante utilise le sous-réseau par défaut du nœud local.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Valeurs renvoyées |
|
SetDelegate
void SetDelegate( FabricStateDelegate *aDelegate )
Cette méthode définit l'objet délégué.
Les méthodes de rappel du délégué sont appelées chaque fois que l'ID FabricId est modifié, c'est-à-dire lorsque nous joignons/créez une structure, ou lorsque nous la quittons (c'est-à-dire, lorsque l'état de la structure est effacé).
Si le délégué est déjà défini, un deuxième appel à cette méthode écrasera le délégué précédent.
Détails | |||
---|---|---|---|
Paramètres |
|
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 )
Arrêt
WEAVE_ERROR Shutdown( void )
SuspendSession
WEAVE_ERROR SuspendSession( uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen )
Suspendez et sérialisez l'état d'une session de sécurité Weave active.
Sérialise l'état d'une session de sécurité Weave identifiée dans le tampon fourni et suspend la session de sorte qu'aucun autre message ne puisse être envoyé ou reçu.
Cette méthode est destinée aux appareils qui ne conservent pas de RAM pendant leur veille, ce qui leur permet de conserver l'état d'une session active et d'éviter ainsi de devoir rétablir la session lorsqu'ils se réveillent.
WeaveFabricState
WeaveFabricState( void )