nl:: Weave:: WeaveFabricState
#include <src/lib/core/WeaveFabricState.h>
WeaveFabricState için ileri beyan.
Özet
İnşaat Ustaları ve Yıkıcılar |
|
---|---|
WeaveFabricState(void)
|
Herkese açık türler |
|
---|---|
PeerIndexType
|
Türuint8_t
|
SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
|
Türvoid(*
|
State
|
enum |
Herkese açık özellikler |
|
---|---|
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
|
Herkese açık işlevler |
|
---|---|
AddSharedSessionEndNode(uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId)
|
|
AddSharedSessionEndNode(WeaveSessionKey *sessionKey, uint64_t endNodeId)
|
Bu yöntem, paylaşılan bitiş düğümleri kaydına yeni bitiş düğümü ekler.
|
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)
|
Bu yöntem, oturum anahtarı girişini bulur.
|
FindSharedSession(uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType)
|
Oturum anahtarları tablosunda, belirtilen sonlandırma düğümünü hedefleyen ve belirtilen kimlik doğrulama modu ile şifreleme türüyle eşleşen yerleşik bir paylaşılan oturum anahtarı arayın.
|
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)
|
Bu yöntem, belirtilen oturumu paylaşan tüm bitiş düğümü kimliklerini döndürür.
|
HandleConnectionClosed(WeaveConnection *con)
|
void
|
Init(void)
|
|
Init(nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore)
|
|
IsFabricAddress(const IPAddress & addr) const
|
bool
IP adresinin yerel Weave kumaş içindeki bir düğümün adresini temsil edip etmediğini belirler.
|
IsLocalFabricAddress(const IPAddress & addr) const
|
bool
IP adresinin yerel düğüm için Weave kumaş adresini temsil edip etmediğini belirler.
|
IsSharedSession(uint16_t keyId, uint64_t peerNodeId)
|
bool
Bu yöntem, belirtilen benzerler ve keyId ile ilişkili güvenli oturumun paylaşılıp paylaşılmadığını kontrol eder.
|
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)
|
Daha önce askıya alınmış olan bir Weave Güvenlik Oturumu'nu serileştirilmiş durumdan geri yükleyin.
|
SelectNodeAddress(uint64_t nodeId, uint16_t subnet) const
|
Belirtilen bir düğüm için Weave ULA içeren bir IPAddress döndürür.
|
SelectNodeAddress(uint64_t nodeId) const
|
Belirtilen bir düğüm için Weave ULA içeren bir IPAddress döndürür.
|
SetDelegate(FabricStateDelegate *aDelegate)
|
void
Bu yöntem, yetki verilen nesneyi ayarlar.
|
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)
|
Etkin bir Weave güvenlik oturumunun durumunu askıya alma ve serileştirme.
|
Struct |
|
---|---|
nl:: |
Herkese açık türler
PeerIndexType
uint8_t PeerIndexType
Oturum Sonu CbFunct
void(* SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context)
Durum
State
Herkese açık özellikler
Otomatik Oluşturma Anahtarları
bool AutoCreateKeys
Hata Ayıklama Hatası
uint64_t DebugFabricId
VarsayılanAltnet
uint16_t DefaultSubnet
Kumaş Kimliği
uint64_t FabricId
GrupKeyStore
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase * GroupKeyStore
ListenIPv4Ekleici
IPAddress ListenIPv4Addr
ListenIPv6Eklenti
IPAddress ListenIPv6Addr
YerelNodeId
uint64_t LocalNodeId
Günlük Anahtarları
bool LogKeys
MaxUnencUDPMsgIdRcvd
uint32_t MaxUnencUDPMsgIdRcvd[WEAVE_CONFIG_MAX_PEER_NODES]
Mesaj Katmanı
WeaveMessageLayer * MessageLayer
EnSonKullanılanDizinler
PeerIndexType MostRecentlyUsedIndexes[WEAVE_CONFIG_MAX_PEER_NODES]
Düğüm kimliği
uint64_t NodeId[WEAVE_CONFIG_MAX_PEER_NODES]
Eşleme Kodu
const char * PairingCode
Durum
uint8_t State
UnencRcvFlags
WeaveSessionState::ReceiveFlagsType UnencRcvFlags[WEAVE_CONFIG_MAX_PEER_NODES]
Kullanım Testi Anahtarı
bool UseTestKey
Herkese açık işlevler
AddSharedSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( uint64_t endNodeId, uint64_t terminatingNodeId, uint16_t keyId )
AddSharedSessionEndNode
WEAVE_ERROR AddSharedSessionEndNode( WeaveSessionKey *sessionKey, uint64_t endNodeId )
Bu yöntem, paylaşılan bitiş düğümleri kaydına yeni bitiş düğümü ekler.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Döndürülen Değerler |
|
AllcSessionKey
WEAVE_ERROR AllocSessionKey( uint64_t peerNodeId, uint16_t keyId, WeaveConnection *boundCon, WeaveSessionKey *& sessionKey )
ClearFabricState
void ClearFabricState( void )
CreateFabric
WEAVE_ERROR CreateFabric( void )
FindOturum Anahtarı
WEAVE_ERROR FindSessionKey( uint16_t keyId, uint64_t peerNodeId, bool create, WeaveSessionKey *& retRec )
Bu yöntem, oturum anahtarı girişini bulur.
Ayrıntılar | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||
Döndürülen Değerler |
|
FindSharedSession
WeaveSessionKey * FindSharedSession( uint64_t terminatingNodeId, WeaveAuthMode authMode, uint8_t encType )
Oturum anahtarları tablosunda, belirtilen sonlandırma düğümünü hedefleyen ve belirtilen kimlik doğrulama modu ile şifreleme türüyle eşleşen yerleşik bir paylaşılan oturum anahtarı arayın.
Ayrıntılar | |||||||
---|---|---|---|---|---|---|---|
Parametreler |
|
||||||
Döndürülen Değerler |
|
GetFabricState
WEAVE_ERROR GetFabricState( uint8_t *buf, uint32_t bufSize, uint32_t & fabricStateLen )
Şifre Alın
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 )
GetSharedSessionEndNodeId'leri
WEAVE_ERROR GetSharedSessionEndNodeIds( const WeaveSessionKey *sessionKey, uint64_t *endNodeIds, uint8_t endNodeIdsBufSize, uint8_t & endNodeIdsCount )
Bu yöntem, belirtilen oturumu paylaşan tüm bitiş düğümü kimliklerini döndürür.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen Değerler |
|
Herkese Açık Bağlantı kapalı
void HandleConnectionClosed( WeaveConnection *con )
Başlangıç
WEAVE_ERROR Init( void )
Başlangıç
WEAVE_ERROR Init( nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase *groupKeyStore )
IsFabricAddress
bool IsFabricAddress( const IPAddress & addr ) const
IP adresinin yerel Weave kumaş içindeki bir düğümün adresini temsil edip etmediğini belirler.
IsLocalFabricAddress
bool IsLocalFabricAddress( const IPAddress & addr ) const
IP adresinin yerel düğüm için Weave kumaş adresini temsil edip etmediğini belirler.
Paylaşılan Oturum
bool IsSharedSession( uint16_t keyId, uint64_t peerNodeId )
Bu yöntem, belirtilen benzerler ve keyId ile ilişkili güvenli oturumun paylaşılıp paylaşılmadığını kontrol eder.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Döndürülen Değerler |
|
BirleştirmeMevcutFabrik
WEAVE_ERROR JoinExistingFabric( const uint8_t *fabricState, uint32_t fabricStateLen )
SaveSessionEndCallback
WEAVE_ERROR RegisterSessionEndCallback( SessionEndCbCtxt *sessionEndCb )
RemoveIdleSessionKey'ler
bool RemoveIdleSessionKeys()
Oturum Oturumu Anahtarını Kaldır
WEAVE_ERROR RemoveSessionKey( uint16_t keyId, uint64_t peerNodeId )
Oturum Oturumu Anahtarını Kaldır
void RemoveSessionKey( WeaveSessionKey *sessionKey, bool wasIdle )
RemoveSharedSessionEndNodes
void RemoveSharedSessionEndNodes( const WeaveSessionKey *sessionKey )
Geri Yükleme
WEAVE_ERROR RestoreSession( uint8_t *serializedSession, uint16_t serializedSessionLen )
Daha önce askıya alınmış olan bir Weave Güvenlik Oturumu'nu serileştirilmiş durumdan geri yükleyin.
SelectNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId, uint16_t subnet ) const
Belirtilen bir düğüm için Weave ULA içeren bir IPAddress döndürür.
Bu varyant, bir alt ağın belirtilmesine olanak tanır.
Ayrıntılar | |||||
---|---|---|---|---|---|
Parametreler |
|
||||
Döndürülen Değerler |
|
SelectNodeAddress
IPAddress SelectNodeAddress( uint64_t nodeId ) const
Belirtilen bir düğüm için Weave ULA içeren bir IPAddress döndürür.
Bu varyant, yerel düğümün varsayılan alt ağını kullanır.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
||
Döndürülen Değerler |
|
Delege
void SetDelegate( FabricStateDelegate *aDelegate )
Bu yöntem, yetki verilen nesneyi ayarlar.
Yetki vermenin geri çağırma yöntemleri FabricId değiştirildiğinde, yani bir kumaşa katıldığımızda/oluşturduğumuzda veya bir kumaş bırakıldığında (açık kumaş durumu) çağrılır
Yetki verilmiş kullanıcı daha önce ayarlandıysa bu yönteme yapılan ikinci bir arama, önceki yetkinin üzerine yazılır.
Ayrıntılar | |||
---|---|---|---|
Parametreler |
|
Oturum Oturumu Anahtarı
WEAVE_ERROR SetSessionKey( uint16_t keyId, uint64_t peerNodeId, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey )
Oturum Oturumu Anahtarı
WEAVE_ERROR SetSessionKey( WeaveSessionKey *sessionKey, uint8_t encType, WeaveAuthMode authMode, const WeaveEncryptionKey *encKey )
Kapat
WEAVE_ERROR Shutdown( void )
Askıya Alınan Oturum
WEAVE_ERROR SuspendSession( uint16_t keyId, uint64_t peerNodeId, uint8_t *buf, uint16_t bufSize, uint16_t & serializedSessionLen )
Etkin bir Weave güvenlik oturumunun durumunu askıya alma ve serileştirme.
Tanımlanmış bir Weave güvenlik oturumunun durumunu sağlanan aralığa serileştirir ve başka iletinin gönderilmemesi veya alınamaması için oturumu askıya alır.
Bu yöntem, uykudayken RAM'i tutmayan cihazlar tarafından kullanılmak üzere tasarlanmıştır. Böylece cihazlar etkin bir oturumun durumunu koruyabilir ve dolayısıyla uyandıklarında oturumu yeniden oluşturma ihtiyacını önleyebilir.
WeaveFabricState
WeaveFabricState( void )