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ür
uint8_t
SessionEndCbFunct)(uint16_t keyId, uint64_t peerNodeId, void *context) Tür
void(*
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::WeaveFabricState::SessionEndCbCtxt

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
[in] sessionKey
Yeni bitiş düğümünün eklenmesi gereken oturumu temsil eden WeaveSessionKey nesnesi.
[in] endNodeId
Eklenecek oturum bitiş düğümünün düğüm kimliği.
Döndürülen Değerler
WEAVE_ERROR_TOO_MANY_SHARED_SESSION_END_NODES
Paylaşılan bitiş düğümleri listesinde yeni bir giriş için boş alan yoksa.
WEAVE_NO_ERROR
Başarılı.

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
[in] keyId
Ağ anahtar tanımlayıcısı.
[in] peerNodeId
Eşin düğüm tanımlayıcısı.
[in] create
Belirtilen anahtar bulunamazsa yeni anahtarın oluşturulması gerekip gerekmediğini gösteren boole değeri.
[out] retRec
WeaveSessionKey nesnesine bir işaretçi referansı.
Döndürülen Değerler
WEAVE_ERROR_WRONG_KEY_TYPE
Belirtilen anahtar, oturum anahtarı türü değilse.
WEAVE_ERROR_INVALID_ARGUMENT
Giriş bağımsız değişkenlerinin değerleri yanlışsa.
WEAVE_ERROR_KEY_NOT_FOUND
Belirtilen anahtar bulunamazsa.
WEAVE_ERROR_TOO_MANY_KEYS
Yeni oturum anahtarı oluşturmak için ücretsiz giriş yoksa.
WEAVE_NO_ERROR
Başarılı.

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
[in] terminatingNodeId
Oturum sonlandırıcının düğüm tanımlayıcısı.
[in] authMode
İstediğiniz oturum kimlik doğrulama modu.
[in] encType
İstenen mesaj şifreleme türü.
Döndürülen Değerler
WeaveSessionKey
* Eşleşen paylaşılan oturumu temsil eden bir WeaveSessionKey nesnesinin işaretçisi veya eşleşen bir oturum bulunamadıysa NULL.

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
[in] sessionKey
Oturum anahtarı nesnesinin işaretçisi.
[in] endNodeIds
Düğüm kimliklerinin arabelleğe alınması için bir işaretçi.
[in] endNodeIdsMaxCount
Arabelleğe sığabilecek maksimum düğüm kimliği sayısı.
[out] endNodeIdsCount
Belirtilen oturumu paylaşan, bulunan uç düğüm kimliklerinin sayısı.
Döndürülen Değerler
WEAVE_ERROR_BUFFER_TOO_SMALL
Sağlanan uç düğüm kimlikleri arabelleği yeterince büyük değilse.
WEAVE_NO_ERROR
Başarılı.

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
[in] keyId
Oturum anahtarı tanımlayıcısı.
[in] peerNodeId
Eşin düğüm tanımlayıcısı.
Döndürülen Değerler
bool
Belirtilen oturumun paylaşılıp paylaşılmayacağı.

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
[in] nodeId
Söz konusu düğümün Düğüm kimliği numarası.
[in] subnet
ULA'nın istenen alt ağı.
Döndürülen Değerler
IPAddress
IPAddress nesnesi.

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
[in] nodeId
Söz konusu düğümün Düğüm kimliği numarası.
Döndürülen Değerler
IPAddress
IPAddress nesnesi.

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
[in] aDelegate
Yetki verilen nesne. Yetki verilmiş bir kullanıcı gerekmiyorsa BOŞ olabilir.

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
)