nl:: Weave
Zusammenfassung
Typedefs |
|
---|---|
FabricSecretRotationScheme
|
typedefuint8_t
|
FabricSecretScope
|
nl::Weave::FabricSecretScopeuint8_t
Gibt die Kategorie von Geräten an, die Fabric-Secrets besitzen und verwenden können. |
WeaveAuthMode
|
typedefuint16_t
Gibt an, wie ein Peer-Knoten authentifiziert wird. |
WeaveEncryptionKey
|
typedef |
WeaveEncryptionType
|
typedefenum nl::Weave::WeaveEncryptionType
Die Verschlüsselungstypen für die Weave-Nachricht. |
WeaveExchangeFlags
|
typedefenum nl::Weave::WeaveExchangeFlags
Die Header-Bits von Weave Exchange. |
WeaveExchangeVersion
|
typedefenum nl::Weave::WeaveExchangeVersion
Die Weave Exchange-Header-Version. |
WeaveMessageFlags
|
typedefenum nl::Weave::WeaveMessageFlags
Flags, die einer eingehenden oder ausgehenden Weave-Nachricht zugeordnet sind. |
WeaveMessageHeader
|
typedefstruct WeaveMessageInfo
|
WeaveMessageVersion
|
typedefenum nl::Weave::WeaveMessageVersion
Die Version des Weave-Nachrichtenformats. |
WeaveSubnetId
|
typedefenum nl::Weave::WeaveSubnetId
Weave hat einige reservierte Subnetznummern für Distinguished Netzwerkschnittstellen auf typischen Geräten. |
Variablen |
|
---|---|
ExchangeMgr
|
NL_DLL_EXPORT WeaveExchangeManager
|
FabricState
|
NL_DLL_EXPORT WeaveFabricState
|
MessageLayer
|
NL_DLL_EXPORT WeaveMessageLayer
|
SecurityMgr
|
NL_DLL_EXPORT WeaveSecurityManager
|
WeaveConnection
|
class NL_DLL_EXPORT
|
WeaveExchangeManager
|
class NL_DLL_EXPORT
|
WeaveMessageLayer
|
class NL_DLL_EXPORT
|
gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT,
WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
|
const WRMPConfig
|
kWeaveMsgEncAppKeyDiversifier = { 0xB1, 0x1D, 0xAE, 0x5B }[]
|
const uint8_t
Key Diversifier, der für die Ableitung des Schlüssels für die Weave-Nachrichtenverschlüsselung verwendet wird.
|
Funktionen |
|
---|---|
AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Gibt die Masterschlüssel-ID der Anwendungsgruppe zurück, die mit dem Authentifizierungsmodus verknüpft ist.
|
CASEAuthMode(uint8_t certType)
|
WeaveAuthMode
Gibt einen entsprechenden CASE-Authentifizierungsmodus für einen bestimmten Zertifikatstyp zurück.
|
CertTypeFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Gibt die Passwortquelle für den angegebenen Authentifizierungsmodus zurück
|
DecodeHeaderField(const uint16_t headerField, WeaveMessageInfo *msgInfo)
|
void
|
DefaultOnMessageReceived(ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload)
|
void
|
EncodeHeaderField(const WeaveMessageInfo *msgInfo)
|
uint16_t
|
FindMessageName(uint32_t inProfileId, uint8_t inMsgType)
|
const char *
|
FindProfileName(uint32_t inProfileId)
|
const char *
|
FormatWeaveError(char *buf, uint16_t bufSize, int32_t err)
|
bool
Bei einem Weave-Fehler wird ein menschenlesbarer NULL-terminierter C-String zurückgegeben, der den Fehler beschreibt.
|
GenerateWeaveNodeId(uint64_t & nodeId)
|
NL_DLL_EXPORT WEAVE_ERROR
Zufällige Weave-Knoten-ID generieren.
|
GetFibonacciForIndex(uint32_t index)
|
uint32_t
Diese Funktion generiert eine 32-Bit-Fibonacci-Zahl für einen gegebenen 32-Bit-Index.
|
GetMessageName(uint32_t profileId, uint8_t msgType)
|
const char *
|
GetProfileName(uint32_t profileId)
|
const char *
|
GetRandU16(void)
|
uint16_t
Diese Funktion generiert eine vorzeichenlose 16-Bit-Zufallszahl.
|
GetRandU32(void)
|
uint32_t
Diese Funktion generiert eine vorzeichenlose 32-Bit-Zufallszahl.
|
GetRandU64(void)
|
uint64_t
Diese Funktion erzeugt eine vorzeichenlose 64-Bit-Zufallszahl.
|
GetRandU8(void)
|
uint8_t
Diese Funktion generiert eine vorzeichenlose 8-Bit-Zufallszahl.
|
GetVendorName(uint16_t vendorId)
|
const char *
|
GroupKeyAuthMode(uint32_t keyId)
|
WeaveAuthMode
Gibt einen entsprechenden Gruppenschlüssel-Authentifizierungsmodus für eine bestimmte Schlüssel-ID zurück.
|
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
|
uint64_t
Konvertieren Sie die Kennung einer IPv6-Adressschnittstelle in eine Weave-Knoten-ID.
|
IsCASEAuthMode(WeaveAuthMode authMode)
|
bool
„True“, wenn der Authentifizierungsmodus auf dem Weave CASE-Protokoll basiert.
|
IsCertAuthMode(WeaveAuthMode authMode)
|
bool
„True“, wenn der Authentifizierungsmodus auf dem Besitz eines privaten Schlüssels basiert, der mit einem Zertifikat verknüpft ist.
|
IsGroupKeyAuthMode(WeaveAuthMode authMode)
|
bool
„True“, wenn der Authentifizierungsmodus auf dem Besitz eines gemeinsamen Gruppenschlüssels basiert.
|
IsPASEAuthMode(WeaveAuthMode authMode)
|
bool
True, wenn der Authentifizierungsmodus auf dem Weave PASE-Protokoll basiert.
|
IsPasswordAuthMode(WeaveAuthMode authMode)
|
bool
„True“, wenn der Authentifizierungsmodus auf dem Besitz eines gemeinsamen Passworts basiert.
|
IsTAKEAuthMode(WeaveAuthMode authMode)
|
bool
Dieser Wert ist "True", wenn der Authentifizierungsmodus auf dem Weave TAKE-Protokoll basiert.
|
IsWRMPControlMessage(uint32_t profileId, uint8_t msgType)
|
bool
|
J2N_ByteArray(JNIEnv *env, jbyteArray inArray, uint8_t *& outArray, uint32_t & outArrayLen)
|
|
J2N_ByteArrayFieldVal(JNIEnv *env, jobject obj, const char *fieldName, uint8_t *& outArray, uint32_t & outArrayLen)
|
|
J2N_ByteArrayInPlace(JNIEnv *env, jbyteArray inArray, uint8_t *outArray, uint32_t maxArrayLen)
|
|
J2N_EnumFieldVal(JNIEnv *env, jobject obj, const char *fieldName, const char *fieldType, int & outVal)
|
|
J2N_EnumVal(JNIEnv *env, jobject enumObj, int & outVal)
|
|
J2N_IntFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jint & outVal)
|
|
J2N_LongFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal)
|
|
J2N_ShortFieldVal(JNIEnv *env, jobject obj, const char *fieldName, jshort & outVal)
|
|
J2N_StringFieldVal(JNIEnv *env, jobject obj, const char *fieldName, char *& outVal)
|
|
MakeClassName(const char *basePackageName, const char *relativeClassName, char *& classNameBuf)
|
|
PASEAuthMode(uint8_t pwSource)
|
WeaveAuthMode
Gibt einen entsprechenden PASE-Authentifizierungsmodus für eine bestimmte Passwortquelle zurück.
|
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
Gibt die Passwortquelle für den angegebenen Authentifizierungsmodus zurück
|
PrintTunnelInfo(const WeaveConnectionTunnel & tun, const TCPEndPoint & fromEndPoint, const TCPEndPoint & toEndPoint, const PacketBuffer & data)
|
void
|
ToHex(const uint8_t data)
|
char
|
ToHexString(const uint8_t *data, size_t dataLen, char *& outBuf, size_t & outBufSize)
|
void
|
WeaveEncryptionKeyToString(uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize)
|
void
|
WeaveFabricIdToIPv6GlobalId(uint64_t fabricId)
|
uint64_t
Konvertieren Sie eine Weave-Fabric-Kennung in eine globale IPv6-ULA-Kennung.
|
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
EINGESTELLT. Verwenden Sie stattdessen WeaveMessageLayer::GetPeerDescription().
|
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
|
void
EINGESTELLT. Verwenden Sie stattdessen WeaveMessageLayer::GetPeerDescription().
|
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
|
uint64_t
Konvertieren Sie eine Weave-Knoten-ID in eine IPv6-Adressschnittstellen-ID.
|
max(const _T & a, const _T & b)
|
const _T &
|
min(const _T & a, const _T & b)
|
const _T &
|
Kurse |
|
---|---|
nl:: |
Erfasst das beabsichtigte Ziel einer Weave-Kommunikation und die zugehörigen Konfigurationsinformationen. |
nl:: |
Schnittstelle zum Verwalten eines Zählers als Ganzzahlwert. |
nl:: |
Diese Klasse repräsentiert eine laufende Unterhaltung (ExchangeContext) zwischen zwei oder mehr Knoten. |
nl:: |
Diese abstrakte Delegate-Klasse kommuniziert Änderungen des Fabric-Status. |
nl:: |
Zum Verwalten und Bearbeiten einer Hostportliste, einer kompakten, binärcodierten Sammlung von Tupeln mit Host- und Portkennungen, die mit dem Weave Service Directory verknüpft sind. |
nl:: |
|
nl:: |
Eine Klasse zum Verwalten eines kontinuierlich ansteigenden Zählers als Ganzzahlwert. |
nl:: |
Eine Klasse zum Verwalten eines Zählers als Ganzzahlwert, der auch nach Neustarts bestehen bleibt. |
nl:: |
Die Definition der Weave Connection-Klasse. |
nl:: |
Die Definition der WeaveConnectionTunnel-Klasse, die ein Paar von TCPEndPoints verwaltet, deren ursprüngliche WeaveConnections gekoppelt sind und zwischen denen WeaveMessageLayer alle Daten- und Verbindungssperren weiterleitet. |
nl:: |
|
nl:: |
Hiermit werden das Weave-Profil und der Nachrichtentyp einer bestimmten Weave-Nachricht innerhalb eines ExchangeContext angegeben. |
nl:: |
Mit dieser Klasse wird ExchangeContexts mit anderen Weave-Knoten verwaltet. |
nl:: |
Forward-Deklaration von WeaveFabricState. |
nl:: |
Die Definition der Weave-Schlüsselkennung. |
nl:: |
Die Definition der WeaveMessageLayer-Klasse, die die Kommunikation mit anderen Weave-Knoten verwaltet. |
nl:: |
Enthält Informationen zum Weave-Nachrichtenverschlüsselungsschlüssel. |
nl:: |
Schlüssel-Cache für Weave Message Encryption Keys. |
nl:: |
|
nl:: |
Gemeinsames Basisobjekt für die Implementierung unerwünschter antwortlicher Weave-Profile (Server), das das Validieren authentifizierter Anfragen und das Senden von Statusberichten einschließt und gemeinsamen Datenspeicher für den Fabric-Zustand und einen Exchange-Manager bietet. |
nl:: |
Eine allgemeine Basisklasse für die Implementierung von Weave-Server-Delegatobjekten. |
nl:: |
Enthält Informationen zu einem Weave-Sitzungsschlüssel. |
nl:: |
Überträgt den Kommunikationsstatus, der zum Senden/Empfangen von Nachrichten mit einem anderen Knoten erforderlich ist. |
Strukturen |
|
---|---|
nl:: |
|
nl:: |
Die WRMP-Konfiguration. |
nl:: |
Informationen zu einer Weave-Nachricht, die gerade gesendet oder empfangen wird. |
Gewerkschaften |
|
---|---|
nl:: |
Namespaces |
|
---|---|
nl:: |
Dieser Namespace enthält alle Schnittstellen in Weave für die Arbeit mit Abstract Syntax Notation One (ASN.1). |
nl:: |
Dieser Namespace enthält alle Schnittstellen in Weave zur gemeinsamen kryptografischen Unterstützung. |
nl:: |
|
nl:: |
|
nl:: |
Dieser Namespace bietet Funktionen für: |
nl:: |
Dieser Namespace enthält alle Schnittstellen in Weave zur gemeinsamen Unterstützung von Logging. |
nl:: |
|
nl:: |
Dieser Namespace enthält alle Schnittstellen innerhalb von Weave for Weave-Profilen, sowohl Common als auch anbieterspezifisch. |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
Definitionen für die Arbeit mit Daten, die im Weave-Format TLV codiert sind |
nl:: |
Dieser Namespace enthält Schnittstellen für das Weave Address and Routing Module, ein portables Modul zum Konfigurieren von Weave-IP-Adressen und -Routen. |
Aufzählungen
@21
@21
Attribute | |
---|---|
kFlagAckPending
|
Wenn eine Antwort auf eine gesendete Nachricht erwartet wird. |
kFlagAutoReleaseConnection
|
Wenn der Austauschkontext freigegeben wird, wird der Schlüssel zur Nachrichtenverschlüsselung automatisch freigegeben. |
kFlagAutoReleaseKey
|
Wenn festgelegt, bedeutet dies, dass mindestens eine Nachricht von einem Peer in diesem Austauschkontext empfangen wurde. |
kFlagAutoRequestAck
|
Dieser Kontext wurde mit einer WeaveConnection verknüpft. |
kFlagConnectionClosed
|
Dieser Kontext ist der Initiator des Austauschs. |
kFlagDropAck
|
Wenn diese Richtlinie aktiviert ist, wird automatisch eine Bestätigung angefordert, wenn eine Nachricht über UDP gesendet wird. |
kFlagMsgRcvdFromPeer
|
Wenn diese Option festgelegt ist, bedeutet das, dass für mindestens eine bei diesem Austausch empfangene Nachricht eine Bestätigung angefordert wurde. Dieses Flag wird von der Anwendung gelesen, um zu entscheiden, ob eine Bestätigung für die Antwortnachricht angefordert werden muss, die gerade gesendet wird. Dieses Flag kann auch angeben, ob der Peer WRMP verwendet. |
kFlagPeerRequestedAck
|
Wenn festgelegt, bedeutet das, dass eine Bestätigung noch zurückgesendet werden muss. |
kFlagResponseExpected
|
Nur intern und nur zur Fehlerbehebung: Wenn diese Funktion aktiviert ist, sendet die Austauschebene keine Bestätigung. |
kFlagUseEphemeralUDPPort
|
Die zugehörige WeaveConnection wird automatisch freigegeben, wenn der Austauschkontext freigegeben wird. |
@36
@36
@37
@37
@38
@38
Attribute | |
---|---|
kFabricIdDefaultForTest
|
Standard-Fabric-ID, die nur zu Testzwecken verwendet werden sollte. |
@39
@39
Identifiziert den Zweck oder die Anwendung des Zertifikats.
Ein Zertifikatstyp ist ein Label, das den Zweck oder die Anwendung eines Zertifikats beschreibt. Zertifikattypen werden nicht als Attribute der entsprechenden Zertifikate geführt, sondern von der Struktur des Zertifikats und/oder dem Kontext, in dem es verwendet wird, abgeleitet. Die Aufzählung der Zertifikatstypen enthält eine Reihe vordefinierter Werte, mit denen häufig verwendete Zertifikatanwendungen beschrieben werden. Entwickler können den Wertebereich der Zertifikattypen auch durch anwendungsspezifische Typen erweitern, die benutzerdefinierte Zertifikate oder Zertifikate mit eindeutigen Sicherheitseigenschaften beschreiben.
Zertifikattypen werden hauptsächlich bei der Implementierung von Zugriffssteuerungsrichtlinien verwendet, bei denen der Zugriff auf Anwendungsfunktionen vom Typ des Zertifikats beeinflusst wird, das der Antragsteller vorlegt.
Attribute | |
---|---|
kCertType_AccessToken
|
Ein Weave-Zugriffstoken-Zertifikat |
kCertType_AppDefinedBase
|
Anwendungsspezifische Zertifikatstypen müssen Werte >= dieser Wert haben. |
kCertType_CA
|
Ein CA-Zertifikat. |
kCertType_Device
|
Ein Weave-Gerätezertifikat |
kCertType_FirmwareSigning
|
Ein Signaturzertifikat der Weave-Firmware. |
kCertType_General
|
Das Zertifikat ist allgemein oder nicht spezifisch. |
kCertType_Max
|
Zertifikattypen dürfen nicht größer als dieser Wert sein. |
kCertType_NotSpecified
|
Der Zertifikattyp wurde nicht angegeben. |
kCertType_ServiceEndpoint
|
Ein Weave-Dienst-Endpunktzertifikat. |
@40
@40
Gibt die Quelle für das Passwort an, das in einem passwortbasierten Authentifizierungsprotokoll (z.B.
Weave PASE)
@41
@41
Attribute | |
---|---|
kWeaveAuthModeCategory_AppDefinedBase
|
Basiswert für anwendungsdefinierte Authentifizierungskategorien. |
kWeaveAuthModeCategory_CASE
|
Peer wurde mit dem Weave-CASE-Protokoll authentifiziert. |
kWeaveAuthModeCategory_General
|
Peer-Authentifizierung mit einem von einer Reihe allgemeiner Mechanismen. |
kWeaveAuthModeCategory_GroupKey
|
Ein Peer wurde mit einem freigegebenen Gruppenschlüssel authentifiziert. |
kWeaveAuthModeCategory_PASE
|
Peer wurde mit dem Weave PASE-Protokoll authentifiziert. |
kWeaveAuthModeCategory_TAKE
|
Der Peer wurde mit dem Weave-TAKE-Protokoll authentifiziert. |
kWeaveAuthMode_CASE_AccessToken
|
Der Peer wurde mithilfe von CASE mit dem Weave-Zugriffstoken-Zertifikat authentifiziert. |
kWeaveAuthMode_CASE_AnyCert
|
Ein Peer wurde mithilfe von CASE mit einem beliebigen Zertifikat oder einem Zertifikat eines unbekannten Typs authentifiziert. |
kWeaveAuthMode_CASE_Device
|
Der Peer wurde mit CASE und dem Weave-Gerätezertifikat authentifiziert. |
kWeaveAuthMode_CASE_GeneralCert
|
Ein Peer wurde mithilfe von CASE mit einem allgemeinen oder nicht spezifischen Zertifikatstyp authentifiziert. |
kWeaveAuthMode_CASE_ServiceEndPoint
|
Der Peer wurde mit CASE und dem Zertifikat des Weave-Dienstendpunkts authentifiziert. |
kWeaveAuthMode_NotSpecified
|
Authentifizierungsmodus nicht angegeben. |
kWeaveAuthMode_PASE_PairingCode
|
Peer wurde mit PASE mit Geräte-Kopplungscode authentifiziert. |
kWeaveAuthMode_TAKE_IdentificationKey
|
Ein Peer wurde mithilfe von TAKE mit einem Tokenidentifikationsschlüssel authentifiziert. |
kWeaveAuthMode_Unauthenticated
|
Peer nicht authentifiziert. |
@43
@43
Attribute | |
---|---|
kTestKey_AES128CTRSHA1_DataKeyByte
|
Bytewert, der einen Verschlüsselungsschlüssel erstellt, der nur zu Testzwecken verwendet wird. |
kTestKey_AES128CTRSHA1_IntegrityKeyByte
|
Bytewert, der den Integritätsschlüssel erstellt, der nur zu Testzwecken verwendet wird. |
@44
@44
Größe des Weave Message Encryption Application Key Diversifiers.
@45
@45
@53
@53
@54
@54
Attribute | |
---|---|
kWeavePeerDescription_MaxLength
|
Maximale Länge des Strings, einschließlich NUL-Zeichen, der von WeaveMessageLayer::GetPeerDescription() zurückgegeben wird. |
@55
@55
Definitionen zum Header einer codierten Weave-Nachricht
Attribute | |
---|---|
kWeaveHeaderFlag_DestNodeId
|
Gibt an, dass die Zielknoten-ID im Weave-Nachrichtenheader vorhanden ist. |
kWeaveHeaderFlag_MsgCounterSyncReq
|
Gibt an, dass der Absender die Synchronisierung des Nachrichtenzählers anfordert. |
kWeaveHeaderFlag_SourceNodeId
|
Gibt an, dass die Quellknoten-ID im Weave-Nachrichtenheader vorhanden ist. |
kWeaveHeaderFlag_TunneledData
|
Gibt an, dass die Weave-Nachrichtennutzlast ein getunneltes IP-Paket ist. |
@56
@56
Bit-Felddefinitionen für IEEE EUI-64-Kennungen.
Attribute | |
---|---|
kEUI64_IG_Group
|
Bitwert einer Einzelperson/Gruppe, der eine EUI-64-Kennung der Gruppenadresse angibt. |
kEUI64_IG_Individual
|
Bitwert einer Einzelperson/Gruppe, der eine EUI-64-Kennung für eine Einzeladresse angibt. |
kEUI64_IG_Mask
|
Bitmaske für das Bit einer Einzelperson/Gruppe (I/G) innerhalb einer EUI-64-Kennung. Der Wert 0 gibt an, dass es sich bei der ID um eine einzelne Adresse handelt. Der Wert „1“ gibt an, dass die ID eine Gruppenadresse ist. |
kEUI64_UL_Local
|
Universeller/Lokaler Bitwert, der eine lokal verwaltete EUI-64-Kennung angibt. |
kEUI64_UL_Mask
|
Bitmaske für das Universal/Local-Bit (U/L) innerhalb einer EUI-64-Kennung. Der Wert 0 gibt an, dass die ID Universally (global) verwaltet wird. Der Wert „1“ gibt an, dass die ID lokal verwaltet wird. |
kEUI64_UL_Unversal
|
Universeller/lokaler Bitwert, der eine allgemein verwaltete EUI-64-Kennung angibt. |
@57
@57
Spezielle Bereiche von Weave-Knoten-IDs.
Attribute | |
---|---|
kMaxAlwaysLocalWeaveNodeId
|
Weave-Knoten-IDs, die kleiner oder gleich diesem Wert sind, werden aus Gründen der Übersichtlichkeit als lokal betrachtet. |
WeaveEncryptionType
WeaveEncryptionType
Die Verschlüsselungstypen für die Weave-Nachricht.
Attribute | |
---|---|
kWeaveEncryptionType_AES128CTRSHA1
|
Nachricht, die mit AES-128-CTR-Verschlüsselung und HMAC-SHA-1-Nachrichtenintegrität verschlüsselt wurde. |
kWeaveEncryptionType_None
|
Nachricht nicht verschlüsselt. |
WeaveExchangeFlags
WeaveExchangeFlags
Die Header-Bits von Weave Exchange.
Attribute | |
---|---|
kWeaveExchangeFlag_AckId
|
Wird festgelegt, wenn die aktuelle Nachricht eine Bestätigung für eine zuvor empfangene Nachricht ist. |
kWeaveExchangeFlag_Initiator
|
Legen Sie fest, wann eine aktuelle Nachricht vom Initiator eines Austauschs gesendet wird. |
kWeaveExchangeFlag_NeedsAck
|
Wird festgelegt, wenn die aktuelle Nachricht eine Bestätigung vom Empfänger anfordert. |
WeaveExchangeVersion
WeaveExchangeVersion
Die Weave Exchange-Header-Version.
WeaveMessageFlags
WeaveMessageFlags
Flags, die einer eingehenden oder ausgehenden Weave-Nachricht zugeordnet sind.
Die hier definierten Werte sind zur Verwendung im Feld WeaveMessageInfo.Flags vorgesehen.
Attribute | |
---|---|
kWeaveMessageFlag_DefaultMulticastSourceAddress
|
Gibt an, dass beim Senden von IPv6-Multicast-Nachrichten die Standardauswahl für die IPv6-Quelladresse verwendet werden soll. |
kWeaveMessageFlag_DelaySend
|
Gibt an, dass das Senden der Nachricht verzögert werden muss. |
kWeaveMessageFlag_DestNodeId
|
Gibt an, dass die Zielknoten-ID im Weave-Nachrichtenheader vorhanden ist. |
kWeaveMessageFlag_DuplicateMessage
|
Gibt an, dass die Nachricht ein Duplikat einer bereits erhaltenen Nachricht ist. |
kWeaveMessageFlag_FromInitiator
|
Gibt an, dass die Quelle der Nachricht der Initiator des Weave-Austauschs ist. |
kWeaveMessageFlag_MessageEncoded
|
Gibt an, dass die Weave-Nachricht bereits codiert ist. |
kWeaveMessageFlag_MsgCounterSyncReq
|
Gibt an, dass der Absender die Synchronisierung des Nachrichtenzählers des Peers anfordert. |
kWeaveMessageFlag_MulticastFromLinkLocal
|
Eingestellter Alias für |
kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized
|
Gibt an, dass der Gruppenschlüsselnachrichtenzähler des Peers nicht synchronisiert ist. |
kWeaveMessageFlag_PeerRequestedAck
|
Gibt an, dass der Absender der Nachricht eine Bestätigung angefordert hat. |
kWeaveMessageFlag_RetainBuffer
|
Gibt an, dass der Nachrichtenpuffer nach dem Senden nicht freigegeben werden soll. |
kWeaveMessageFlag_ReuseMessageId
|
Gibt an, dass die vorhandene Nachrichten-ID wiederverwendet werden muss. |
kWeaveMessageFlag_ReuseSourceId
|
Gibt an, dass die vorhandene Quellknoten-ID wiederverwendet werden muss. |
kWeaveMessageFlag_SourceNodeId
|
Gibt an, dass die Quellknoten-ID im Weave-Nachrichtenheader vorhanden ist. |
kWeaveMessageFlag_TunneledData
|
Gibt an, dass die Weave-Nachrichtennutzlast ein getunneltes IP-Paket ist. |
kWeaveMessageFlag_ViaEphemeralUDPPort
|
Gibt an, dass die Nachricht über den lokalen sitzungsspezifischen UDP-Port gesendet/empfangen wird. |
WeaveMessageVersion
WeaveMessageVersion
Die Version des Weave-Nachrichtenformats.
Weave wählt die passende Nachrichtenversion basierend auf dem für die Weave-Nachricht erforderlichen Frame-Format aus. Standardmäßig lautet die Nachrichtenversion kWeaveMessageVersion_V1. Wenn Sie beispielsweise Weave Zuverlässiges Messaging verwenden, lautet die Version kWeaveMessageVersion_V2.
Attribute | |
---|---|
kWeaveMessageVersion_Unspecified
|
Nicht angegebene Nachrichtenversion. |
kWeaveMessageVersion_V1
|
Version V1 des Nachrichten-Header-Formats. |
kWeaveMessageVersion_V2
|
Version 2 des Nachrichten-Header-Formats. |
WeaveSubnetId
WeaveSubnetId
Weave hat einige reservierte Subnetznummern für Distinguished Netzwerkschnittstellen auf typischen Geräten.
Diese Zahlen werden hier symbolischen Konstanten zugewiesen. Diese Subnetznummern werden von Weave verwendet, um IPv6-UALA-Adressen auf geeigneten Schnittstellen zu konfigurieren.
Attribute | |
---|---|
kWeaveSubnetId_MobileDevice
|
Die Subnetz-ID für alle Mobilgeräte. |
kWeaveSubnetId_NotSpecified
|
Als nicht spezifizierter Wert oder Nullwert reserviert. |
kWeaveSubnetId_PrimaryWiFi
|
Die Subnetznummer der WLAN-Funkschnittstelle. |
kWeaveSubnetId_Service
|
Die Subnetz-ID für die Nest-Dienstendpunkte. |
kWeaveSubnetId_ThreadAlarm
|
Die Subnetznummer der Thread-Alarm-Funkschnittstelle. |
kWeaveSubnetId_ThreadMesh
|
Die Subnetz-ID der Thread-Mesh-Funkschnittstelle. |
kWeaveSubnetId_WiFiAP
|
Die Subnetznummer der Local Wi-Fi AP-Schnittstelle. |
WeaveVendorId
WeaveVendorId
Typedefs
FabricSecretRotationScheme
uint8_t FabricSecretRotationScheme
FabricSecretScope
uint8_t FabricSecretScope
Gibt die Kategorie von Geräten an, die Fabric-Secrets besitzen und verwenden können.
WeaveAuthMode
uint16_t WeaveAuthMode
Gibt an, wie ein Peer-Knoten authentifiziert wird.
WeaveAuthMode beschreibt, wie ein Peer-Knoten während eines Weave-Nachrichtenaustauschs authentifiziert wurde oder sein sollte. Bei der Initiierung verwenden Anwendungen WeaveAuthMode, um einen gewünschten Peer-Authentifizierungsmodus für einen Austausch auszudrücken. Dadurch werden die Weave-Sicherheits- und Messaging-Ebenen angewiesen, den gewünschten Modus zu erreichen oder die Kommunikation fehlschlagen zu lassen. Im Antwortkontext identifiziert WeaveAuthMode, wie der anfragende Knoten (der Peer) authentifiziert wurde, sodass die antwortende Anwendung Zugriffssteuerungen auf der Grundlage dieser Informationen erzwingen kann.
Der einer eingehenden Weave-Nachricht zugewiesene WeaveAuthMode hängt von der Art des Schlüssels ab, der für die Verschlüsselung dieser Nachricht verwendet wurde. WeaveAuthMode leitet sich vom Mechanismus ab, mit dem der Schlüssel festgelegt wurde, und von den Kriterien, die zur Überprüfung der Identität der kommunizierenden Parteien zum Zeitpunkt der Schlüsseleinrichtung verwendet werden.
WeaveAuthMode enthält eine Reihe vordefinierter Werte, die gängige Authentifizierungsmodi beschreiben. Diese sind nach dem wichtigsten Vereinbarungsmechanismus (CASE, PASE, GroupKey usw.) aufgeschlüsselt. Entwickler können WeaveAuthMode erweitern, indem sie anwendungsspezifische Modi definieren, die sie an bestimmte Verschlüsselungsschlüssel anhängen können.
WeaveEncryptionKey
union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey
WeaveEncryptionType
enum nl::Weave::WeaveEncryptionType WeaveEncryptionType
Die Verschlüsselungstypen für die Weave-Nachricht.
WeaveExchangeFlags
enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags
Die Header-Bits von Weave Exchange.
WeaveExchangeVersion
enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion
Die Weave Exchange-Header-Version.
WeaveMessageFlags
enum nl::Weave::WeaveMessageFlags WeaveMessageFlags
Flags, die einer eingehenden oder ausgehenden Weave-Nachricht zugeordnet sind.
Die hier definierten Werte sind zur Verwendung im Feld WeaveMessageInfo.Flags vorgesehen.
WeaveMessageHeader
struct WeaveMessageInfo WeaveMessageHeader
WeaveMessageVersion
enum nl::Weave::WeaveMessageVersion WeaveMessageVersion
Die Version des Weave-Nachrichtenformats.
Weave wählt die passende Nachrichtenversion basierend auf dem für die Weave-Nachricht erforderlichen Frame-Format aus. Standardmäßig lautet die Nachrichtenversion kWeaveMessageVersion_V1. Wenn Sie beispielsweise Weave Zuverlässiges Messaging verwenden, lautet die Version kWeaveMessageVersion_V2.
WeaveSubnetId
enum nl::Weave::WeaveSubnetId WeaveSubnetId
Weave hat einige reservierte Subnetznummern für Distinguished Netzwerkschnittstellen auf typischen Geräten.
Diese Zahlen werden hier symbolischen Konstanten zugewiesen. Diese Subnetznummern werden von Weave verwendet, um IPv6-UALA-Adressen auf geeigneten Schnittstellen zu konfigurieren.
Variablen
ExchangeMgr
NL_DLL_EXPORT WeaveExchangeManager ExchangeMgr
FabricState
NL_DLL_EXPORT WeaveFabricState FabricState
MessageLayer
NL_DLL_EXPORT WeaveMessageLayer MessageLayer
SecurityMgr
NL_DLL_EXPORT WeaveSecurityManager SecurityMgr
WeaveConnection
class NL_DLL_EXPORT WeaveConnection
WeaveExchangeManager
class NL_DLL_EXPORT WeaveExchangeManager
WeaveMessageLayer
class NL_DLL_EXPORT WeaveMessageLayer
gDefaultWRMPConfig
const WRMPConfig gDefaultWRMPConfig = { WEAVE_CONFIG_WRMP_DEFAULT_INITIAL_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACTIVE_RETRANS_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_ACK_TIMEOUT, WEAVE_CONFIG_WRMP_DEFAULT_MAX_RETRANS }
kWeaveMsgEncAppKeyDiversifier
const uint8_t kWeaveMsgEncAppKeyDiversifier[] = { 0xB1, 0x1D, 0xAE, 0x5B }
Key Diversifier, der für die Ableitung des Schlüssels für die Weave-Nachrichtenverschlüsselung verwendet wird.
Dieser Wert stellt die ersten 4 Byte des SHA-1 HASH der Wortgruppe „Nest Weave Message EK and AK“ dar.
Funktionen
AppGroupMasterKeyIdFromAuthMode
uint8_t AppGroupMasterKeyIdFromAuthMode( WeaveAuthMode authMode )
Gibt die Masterschlüssel-ID der Anwendungsgruppe zurück, die mit dem Authentifizierungsmodus verknüpft ist.
CASEAuthMode
WeaveAuthMode CASEAuthMode( uint8_t certType )
Gibt einen entsprechenden CASE-Authentifizierungsmodus für einen bestimmten Zertifikatstyp zurück.
CertTypeFromAuthMode
uint8_t CertTypeFromAuthMode( WeaveAuthMode authMode )
Gibt die Passwortquelle für den angegebenen Authentifizierungsmodus zurück
DecodeHeaderField
void DecodeHeaderField( const uint16_t headerField, WeaveMessageInfo *msgInfo )
DefaultOnMessageReceived
void DefaultOnMessageReceived( ExchangeContext *ec, const IPPacketInfo *pktInfo, const WeaveMessageInfo *msgInfo, uint32_t profileId, uint8_t msgType, PacketBuffer *payload )
EncodeHeaderField
uint16_t EncodeHeaderField( const WeaveMessageInfo *msgInfo )
FindMessageName
const char * FindMessageName( uint32_t inProfileId, uint8_t inMsgType )
FindProfileName
const char * FindProfileName( uint32_t inProfileId )
FormatWeaveError
bool FormatWeaveError( char *buf, uint16_t bufSize, int32_t err )
Bei einem Weave-Fehler wird ein menschenlesbarer NULL-terminierter C-String zurückgegeben, der den Fehler beschreibt.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabe |
"true", wenn eine Beschreibungszeichenfolge in den angegebenen Puffer geschrieben wurde.
|
||||||
Rückgabe |
false: Wenn der angegebene Fehler kein Weave-Fehler war.
|
GenerateWeaveNodeId
NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId( uint64_t & nodeId )
Zufällige Weave-Knoten-ID generieren.
Diese Funktion generiert eine lokal eindeutige 64-Bit-Weave-Knoten-ID. Diese Funktion verwendet eine kryptografisch starke, zufällige Datenquelle, um die Eindeutigkeit des generierten Werts zu gewährleisten. Bit 57 der generierten Weave-Knoten-ID ist auf 1 gesetzt, um anzuzeigen, dass die generierte Weave-Knoten-ID lokal (nicht global) eindeutig ist.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabewerte |
|
GetFibonacciForIndex
uint32_t GetFibonacciForIndex( uint32_t index )
Diese Funktion generiert eine 32-Bit-Fibonacci-Zahl für einen gegebenen 32-Bit-Index.
Details | |
---|---|
Rückgabe |
Vorzeichenlose 32-Bit-Fibonacci-Nummer.
|
GetMessageName
const char * GetMessageName( uint32_t profileId, uint8_t msgType )
GetProfileName
const char * GetProfileName( uint32_t profileId )
GetRandU16
uint16_t GetRandU16( void )
Diese Funktion generiert eine vorzeichenlose 16-Bit-Zufallszahl.
Details | |
---|---|
Rückgabe |
16-Bit-Ganzzahl ohne Vorzeichen.
|
GetRandU32
uint32_t GetRandU32( void )
Diese Funktion generiert eine vorzeichenlose 32-Bit-Zufallszahl.
Details | |
---|---|
Rückgabe |
32-Bit-Ganzzahl ohne Vorzeichen.
|
GetRandU64
uint64_t GetRandU64( void )
Diese Funktion erzeugt eine vorzeichenlose 64-Bit-Zufallszahl.
Details | |
---|---|
Rückgabe |
64-Bit-Ganzzahl ohne Vorzeichen.
|
GetRandU8
uint8_t GetRandU8( void )
Diese Funktion generiert eine vorzeichenlose 8-Bit-Zufallszahl.
Details | |
---|---|
Rückgabe |
Zufällige 8-Bit-Ganzzahl ohne Vorzeichen.
|
GetVendorName
const char * GetVendorName( uint16_t vendorId )
GroupKeyAuthMode
WeaveAuthMode GroupKeyAuthMode( uint32_t keyId )
Gibt einen entsprechenden Gruppenschlüssel-Authentifizierungsmodus für eine bestimmte Schlüssel-ID zurück.
IPv6InterfaceIdToWeaveNodeId (IPv6InterfaceIdToWeaveNodeId)
uint64_t IPv6InterfaceIdToWeaveNodeId( uint64_t interfaceId )
Konvertieren Sie die Kennung einer IPv6-Adressschnittstelle in eine Weave-Knoten-ID.
Der Einfachheit halber werden Knotenkennungen, die kleiner oder gleich #kMaxAlwaysLocalWeaveNodeId (65535) sind, als „lokal“ betrachtet und ihr universelles/lokales Bit wird auf null gesetzt. Dies vereinfacht die Stringdarstellung der entsprechenden IPv6-Adressen. Eine ULA für die Knotenkennung 10
wäre beispielsweise FD00:0
:1:1::A.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
die zugeordnete 64-Bit-Weave-Knotenkennung.
|
IsCASEAuthMode
bool IsCASEAuthMode( WeaveAuthMode authMode )
„True“, wenn der Authentifizierungsmodus auf dem Weave CASE-Protokoll basiert.
IsCertAuthMode
bool IsCertAuthMode( WeaveAuthMode authMode )
„True“, wenn der Authentifizierungsmodus auf dem Besitz eines privaten Schlüssels basiert, der mit einem Zertifikat verknüpft ist.
IsGroupKeyAuthMode
bool IsGroupKeyAuthMode( WeaveAuthMode authMode )
„True“, wenn der Authentifizierungsmodus auf dem Besitz eines gemeinsamen Gruppenschlüssels basiert.
IsPASEAuthMode
bool IsPASEAuthMode( WeaveAuthMode authMode )
True, wenn der Authentifizierungsmodus auf dem Weave PASE-Protokoll basiert.
IsPasswordAuthMode
bool IsPasswordAuthMode( WeaveAuthMode authMode )
„True“, wenn der Authentifizierungsmodus auf dem Besitz eines gemeinsamen Passworts basiert.
IsTAKEAuthMode
bool IsTAKEAuthMode( WeaveAuthMode authMode )
Dieser Wert ist "True", wenn der Authentifizierungsmodus auf dem Weave TAKE-Protokoll basiert.
IsWRMPControlMessage
bool IsWRMPControlMessage( uint32_t profileId, uint8_t msgType )
J2N_ByteArray
WEAVE_ERROR J2N_ByteArray( JNIEnv *env, jbyteArray inArray, uint8_t *& outArray, uint32_t & outArrayLen )
J2N_ByteArrayFieldVal
WEAVE_ERROR J2N_ByteArrayFieldVal( JNIEnv *env, jobject obj, const char *fieldName, uint8_t *& outArray, uint32_t & outArrayLen )
J2N_ByteArrayInPlace
WEAVE_ERROR J2N_ByteArrayInPlace( JNIEnv *env, jbyteArray inArray, uint8_t *outArray, uint32_t maxArrayLen )
J2N_EnumFieldVal
WEAVE_ERROR J2N_EnumFieldVal( JNIEnv *env, jobject obj, const char *fieldName, const char *fieldType, int & outVal )
J2N_EnumVal
WEAVE_ERROR J2N_EnumVal( JNIEnv *env, jobject enumObj, int & outVal )
J2N_IntFieldVal
WEAVE_ERROR J2N_IntFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jint & outVal )
J2N_LongFieldVal
WEAVE_ERROR J2N_LongFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jlong & outVal )
J2N_ShortFieldVal
WEAVE_ERROR J2N_ShortFieldVal( JNIEnv *env, jobject obj, const char *fieldName, jshort & outVal )
J2N_StringFieldVal
WEAVE_ERROR J2N_StringFieldVal( JNIEnv *env, jobject obj, const char *fieldName, char *& outVal )
MakeClassName
WEAVE_ERROR MakeClassName( const char *basePackageName, const char *relativeClassName, char *& classNameBuf )
PASEAuthMode
WeaveAuthMode PASEAuthMode( uint8_t pwSource )
Gibt einen entsprechenden PASE-Authentifizierungsmodus für eine bestimmte Passwortquelle zurück.
PasswordSourceFromAuthMode
uint8_t PasswordSourceFromAuthMode( WeaveAuthMode authMode )
Gibt die Passwortquelle für den angegebenen Authentifizierungsmodus zurück
PrintTunnelInfo
void PrintTunnelInfo( const WeaveConnectionTunnel & tun, const TCPEndPoint & fromEndPoint, const TCPEndPoint & toEndPoint, const PacketBuffer & data )
ToHex
char ToHex( const uint8_t data )
ToHexString
void ToHexString( const uint8_t *data, size_t dataLen, char *& outBuf, size_t & outBufSize )
WeaveEncryptionKeyToString
void WeaveEncryptionKeyToString( uint8_t encType, const WeaveEncryptionKey & key, char *buf, size_t bufSize )
WeaveFabricIdToIPv6GlobalId
uint64_t WeaveFabricIdToIPv6GlobalId( uint64_t fabricId )
Konvertieren Sie eine Weave-Fabric-Kennung in eine globale IPv6-ULA-Kennung.
Die globale ULA-Kennung für eine Fabric-Adresse sind die unteren 40 Bit der 64-Bit-Fabric-ID der Fabric.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
Die zugeordnete globale IPv6-Kennung.
|
WeaveMessageSourceToStr
void WeaveMessageSourceToStr( char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo )
EINGESTELLT. Verwenden Sie stattdessen WeaveMessageLayer::GetPeerDescription().
WeaveNodeAddrToStr
void WeaveNodeAddrToStr( char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con )
EINGESTELLT. Verwenden Sie stattdessen WeaveMessageLayer::GetPeerDescription().
WeaveNodeIdToIPv6InterfaceId
uint64_t WeaveNodeIdToIPv6InterfaceId( uint64_t nodeId )
Konvertieren Sie eine Weave-Knoten-ID in eine IPv6-Adressschnittstellen-ID.
Weave-Knoten-IDs sind universelle/lokale EUI-64-IDs, die gemäß RFC-3513 in Schnittstellen-IDs umgewandelt werden, indem das universelle/lokale Bit invertiert wird (Bit 57 zählt den LSB als 0).
Der Einfachheit halber werden Knotenkennungen, die kleiner oder gleich #kMaxAlwaysLocalWeaveNodeId (65535) sind, als „lokal“ betrachtet und ihr universelles/lokales Bit wird auf null gesetzt. Dies vereinfacht die Stringdarstellung der entsprechenden IPv6-Adressen. Eine ULA für die Knotenkennung 10
wäre beispielsweise FD00:0
:1:1::A.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabe |
IPv6-Schnittstellenkennung.
|
Max.
const _T & max( const _T & a, const _T & b )
Min.
const _T & min( const _T & a, const _T & b )