nl:: Weave
סיכום
ערכים של ספירה |
|
---|---|
@21{
|
טיפוסים בני מנייה (enum) |
@36
|
טיפוסים בני מנייה (enum) |
@37
|
טיפוסים בני מנייה (enum) |
@38{
|
טיפוסים בני מנייה (enum) |
@39{
|
טיפוסים בני מנייה (enum) משמש לזיהוי המטרה או היישום של האישור. |
@40
|
טיפוסים בני מנייה (enum) זיהוי המקור של הסיסמה שנעשה בה שימוש בפרוטוקול אימות מבוסס סיסמה (למשל, |
@41{
|
טיפוסים בני מנייה (enum) |
@42{
|
טיפוסים בני מנייה (enum) |
@43{
|
טיפוסים בני מנייה (enum) |
@44
|
טיפוסים בני מנייה (enum) שזירה של גודל משתנה מפתח האפליקציה להצפנת הודעות. |
@45
|
טיפוסים בני מנייה (enum) |
@53
|
טיפוסים בני מנייה (enum) |
@54{
|
טיפוסים בני מנייה (enum) |
@55{
|
טיפוסים בני מנייה (enum) הגדרות שקשורות לכותרת של הודעת Weave מקודדת. |
@56{
|
טיפוסים בני מנייה (enum) הגדרות של שדות ביט למזהי IEEE EUI-64. |
@57{
|
טיפוסים בני מנייה (enum) טווחים מיוחדים של מזהים של צומתי Weave. |
WeaveEncryptionType{
|
טיפוסים בני מנייה (enum) סוגי ההצפנה של הודעת Weave. |
WeaveExchangeFlags{
|
טיפוסים בני מנייה (enum) ביטים של דגל הכותרת של Weave Exchange. |
WeaveExchangeVersion
|
טיפוסים בני מנייה (enum) גרסת הכותרת של Weave Exchange. |
WeaveMessageFlags{
|
טיפוסים בני מנייה (enum) סימונים המשויכים להודעת Weave נכנסת או יוצאת. |
WeaveMessageVersion{
|
טיפוסים בני מנייה (enum) גרסת הפורמט של Weave Message. |
WeaveSubnetId{
|
טיפוסים בני מנייה (enum) ל-Weave יש כמה מספרי משנה שמורים של ממשקי רשת נפרדים במכשירים אופייניים. |
WeaveVendorId
|
טיפוסים בני מנייה (enum) |
Typedefs |
|
---|---|
FabricSecretRotationScheme
|
typedefuint8_t
|
FabricSecretScope
|
nl::Weave::FabricSecretScopeuint8_t
מזהה את קטגוריית המכשירים שיכולים להיות בעלי סוד בדים ולהשתמש בהם. |
WeaveAuthMode
|
typedefuint16_t
מזהה את אופן האימות של צומת של אפליקציה להשוואה. |
WeaveEncryptionKey
|
typedef |
WeaveEncryptionType
|
typedefenum nl::Weave::WeaveEncryptionType
סוגי ההצפנה של הודעת Weave. |
WeaveExchangeFlags
|
typedefenum nl::Weave::WeaveExchangeFlags
ביטים של דגל הכותרת של Weave Exchange. |
WeaveExchangeVersion
|
typedefenum nl::Weave::WeaveExchangeVersion
גרסת הכותרת של Weave Exchange. |
WeaveMessageFlags
|
typedefenum nl::Weave::WeaveMessageFlags
סימונים המשויכים להודעת Weave נכנסת או יוצאת. |
WeaveMessageHeader
|
typedefstruct WeaveMessageInfo
|
WeaveMessageVersion
|
typedefenum nl::Weave::WeaveMessageVersion
גרסת הפורמט של Weave Message. |
WeaveSubnetId
|
typedefenum nl::Weave::WeaveSubnetId
ל-Weave יש כמה מספרי משנה שמורים של ממשקי רשת ייחודיים במכשירים אופייניים. |
משתנים |
|
---|---|
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
מגף מפתחות המשמש לנגזרת מפתחות הצפנה של הודעות Weave.
|
פונקציות |
|
---|---|
AppGroupMasterKeyIdFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
הפונקציה מחזירה את מזהה מפתח המאסטר של קבוצת האפליקציות שמשויך למצב האימות.
|
CASEAuthMode(uint8_t certType)
|
WeaveAuthMode
מחזירה מצב אימות CASE תואם לסוג אישור נתון.
|
CertTypeFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
מחזירה את מקור הסיסמה עבור מצב האימות הנתון.
|
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
בהינתן שגיאת Weave, הפונקציה מחזירה מחרוזת C עם סיום קריא לאנשים (NULL), שמתארת את השגיאה.
|
GenerateWeaveNodeId(uint64_t & nodeId)
|
NL_DLL_EXPORT WEAVE_ERROR
יצירת מזהה צומת אקראי של Weave.
|
GetFibonacciForIndex(uint32_t index)
|
uint32_t
הפונקציה הזו יוצרת מספר פיבונאצ'י של 32 ביט עבור אינדקס נתון של 32 ביט.
|
GetMessageName(uint32_t profileId, uint8_t msgType)
|
const char *
|
GetProfileName(uint32_t profileId)
|
const char *
|
GetRandU16(void)
|
uint16_t
הפונקציה הזו יוצרת מספר אקראי לא חתום באורך 16 ביט.
|
GetRandU32(void)
|
uint32_t
הפונקציה הזו יוצרת מספר אקראי לא חתום בגודל 32 סיביות.
|
GetRandU64(void)
|
uint64_t
הפונקציה הזו יוצרת מספר אקראי לא חתום בגודל 64 ביט.
|
GetRandU8(void)
|
uint8_t
הפונקציה הזו יוצרת מספר אקראי לא חתום באורך 8 ביט.
|
GetVendorName(uint16_t vendorId)
|
const char *
|
GroupKeyAuthMode(uint32_t keyId)
|
WeaveAuthMode
הפונקציה מחזירה את מצב האימות של מפתח קבוצה תואם למזהה מפתח נתון.
|
IPv6InterfaceIdToWeaveNodeId(uint64_t interfaceId)
|
uint64_t
המרה של מזהה ממשק כתובות של IPv6 למזהה צומת של Weave.
|
IsCASEAuthMode(WeaveAuthMode authMode)
|
bool
הערך הוא True אם מצב האימות מבוסס על פרוטוקול Weave CASE.
|
IsCertAuthMode(WeaveAuthMode authMode)
|
bool
הערך הוא True אם מצב האימות מבוסס על החזקה של מפתח פרטי שמשויך לאישור.
|
IsGroupKeyAuthMode(WeaveAuthMode authMode)
|
bool
הערך הוא True אם מצב האימות מבוסס על החזקה של מפתח קבוצה משותף.
|
IsPASEAuthMode(WeaveAuthMode authMode)
|
bool
הערך הוא True אם מצב האימות מבוסס על פרוטוקול Weave PASE.
|
IsPasswordAuthMode(WeaveAuthMode authMode)
|
bool
הערך הוא True אם מצב האימות מבוסס על החזקה של סיסמה משותפת.
|
IsTAKEAuthMode(WeaveAuthMode authMode)
|
bool
הערך יהיה True אם מצב האימות מבוסס על פרוטוקול Weave TAKE.
|
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
מחזירה מצב אימות PASE תואם למקור סיסמה נתון.
|
PasswordSourceFromAuthMode(WeaveAuthMode authMode)
|
uint8_t
מחזירה את מקור הסיסמה עבור מצב האימות הנתון.
|
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
המרה של מזהה מבד של Weave למזהה גלובלי של IPv6 ULA.
|
WeaveMessageSourceToStr(char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo)
|
void
הוצא משימוש צריך להשתמש בפונקציה WeaveMessageLayer::GetPeerDescription() במקום זאת.
|
WeaveNodeAddrToStr(char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con)
|
void
הוצא משימוש צריך להשתמש בפונקציה WeaveMessageLayer::GetPeerDescription() במקום זאת.
|
WeaveNodeIdToIPv6InterfaceId(uint64_t nodeId)
|
uint64_t
המרה של מזהה צומת של Weave למזהה ממשק כתובות של IPv6.
|
max(const _T & a, const _T & b)
|
const _T &
|
min(const _T & a, const _T & b)
|
const _T &
|
שיעורים |
|
---|---|
nl:: |
מתעד את היעד המיועד של תקשורת Weave ומידע על ההגדרות האישיות המשויכות. |
nl:: |
ממשק לניהול מונה כערך מספר שלם. |
nl:: |
המחלקה הזו מייצגת שיחה מתמשכת (ExchangeContext) בין שני צמתים או יותר. |
nl:: |
המחלקה המופשטת הזו של נציגים מתוכננת מדווחת על שינויים במצב הבד. |
nl:: |
לניהול ולמניפולציה של רשימת יציאות של מארחים, אוסף קומפקטי בקידוד בינארי של צמדים של מזהי מארח ויציאות שמשויכים ל-Weave Service Directory. |
nl:: |
|
nl:: |
מחלקה לניהול מונה הגדלה באופן מונוטוני כערך מספר שלם. |
nl:: |
מחלקה לניהול מונה כערך מספר שלם המיועד למשך הפעלות מחדש. |
nl:: |
ההגדרה של סיווג Weave Connection. |
nl:: |
ההגדרה של המחלקה WeaveConnectionTunnel, שמנהלת זוג נקודות TCPEndPoints המקוריות שחוברו עם WeaveConnections, וביניהן ה-WeaveMessageLayer מעביר את כל הנתונים והסגירות של החיבורים. |
nl:: |
|
nl:: |
פעולה זו מציינת את פרופיל Weave ואת סוג ההודעה של הודעת Weave מסוימת בתוך ExchangeContext. |
nl:: |
המחלקה הזו משמשת לניהול ExchangeContexts עם צומתי Weave אחרים. |
nl:: |
העברת ההצהרה של WeaveFabricState. |
nl:: |
ההגדרה של מזהה מפתח Weave. |
nl:: |
ההגדרה של המחלקה WeaveMessageLayer, שמנהלת את התקשורת עם צמתים אחרים של Weave. |
nl:: |
מכיל מידע על מפתח להצפנת הודעות של Weave. |
nl:: |
מטמון מפתחות למפתחות הצפנה של הודעות ב-Weave. |
nl:: |
|
nl:: |
אובייקט בסיסי נפוץ להטמעה של משיבים (שרתים) לא רצויים של פרופיל Weave, שכולל אימות של בקשות מאומתות ושליחה של דוחות סטטוס, ומספק אחסון משותף של חבר נתונים למצב של מבדים ולמנהל בורסה. |
nl:: |
מחלקת בסיס נפוצה להטמעת אובייקטים עם הרשאות גישה לשרת של Weave. |
nl:: |
מכיל מידע על מפתח סשן של Weave. |
nl:: |
מעביר את מצב התקשורת הנדרש כדי לשלוח ולקבל הודעות עם צומת אחר. |
מבנים |
|
---|---|
nl:: |
|
nl:: |
הגדרות ה-WRMP. |
nl:: |
מידע על הודעת Weave שנמצאת בתהליך שליחה או קבלה. |
איגודים |
|
---|---|
nl:: |
מרחבי שמות |
|
---|---|
nl:: |
מרחב השמות הזה כולל את כל הממשקים ב-Weave לעבודה עם Abstract Syntax Notation One (ASN.1). |
nl:: |
מרחב השמות הזה כולל את כל הממשקים ב-Weave לתמיכה קריפטוגרפית משותפת. |
nl:: |
|
nl:: |
|
nl:: |
מרחב השמות הזה מספק פונקציות עבור: |
nl:: |
מרחב השמות הזה כולל את כל הממשקים ב-Weave לתמיכה משותפת ברישום ביומן. |
nl:: |
|
nl:: |
מרחב השמות הזה כולל את כל הממשקים בפרופילים של Weave for Weave, גם בממשק Common וגם בממשקים ספציפיים לספק של Nest Labs. |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
הגדרות לעבודה עם נתונים שמקודדים בפורמט Weave TLV. |
nl:: |
מרחב השמות הזה כולל ממשקים עבור מודול הניתוב והכתובת של Weave, מודול נייד להגדרת כתובות IP ומסלולים של Weave. |
ערכים של ספירה
21@
@21
מאפיינים | |
---|---|
kFlagAckPending
|
אם צפויה תשובה להודעה שנשלחת. |
kFlagAutoReleaseConnection
|
משחררים את המפתח להצפנת הודעות באופן אוטומטי כשההקשר של ההחלפה פנוי. |
kFlagAutoReleaseKey
|
כאשר מוגדר, פירושו שהתקבלה לפחות הודעה אחת מעמית בהקשר של Exchange זה. |
kFlagAutoRequestAck
|
ההקשר הזה שויך ל-WeaveConnection. |
kFlagConnectionClosed
|
ההקשר הזה הוא יוזם הבורסה. |
kFlagDropAck
|
כשההגדרה מופעלת, מבקשים אישור באופן אוטומטי בכל פעם שהודעה נשלחת באמצעות UDP. |
kFlagMsgRcvdFromPeer
|
כשההגדרה מוגדרת, היא מציינת שלפחות הודעה אחת שהתקבלה ב-Exchange ביקשה אישור. הסימון הזה נקרא על ידי האפליקציה כדי לקבוע אם היא צריכה לבקש אישור להודעת התשובה שהיא עומדת לשלוח. הדגל הזה יכול גם לציין אם אפליקציה להשוואה משתמשת ב-WRMP. |
kFlagPeerRequestedAck
|
אם השדה מוגדר, המשמעות היא שיש אישור בהמתנה לשליחה בחזרה. |
kFlagResponseExpected
|
פנימי וניפוי באגים בלבד: לאחר ההגדרה, שכבת ה-Exchange לא שולחת אישור. |
kFlagUseEphemeralUDPPort
|
שחרור אוטומטי של ה-WeaveConnection המשויך כשההקשר של ההחלפה פנוי. |
36@
@36
37@
@37
@39
@39
משמש לזיהוי המטרה או היישום של האישור.
סוג האישור הוא תווית שמתארת את המטרה או האפליקציה של האישור. סוגי אישורים לא מועברים כמאפיינים של האישורים המתאימים, אלא נגזרים ממבנה האישור ו/או מההקשר שבו נעשה בו שימוש. ספירת סוגי האישורים כוללת קבוצה של ערכים מוגדרים מראש שמתארים אפליקציות אישורים נפוצות. מפתחים יכולים גם להרחיב את טווח הערכים של סוגי האישור באמצעות סוגים ספציפיים לאפליקציה שמתארים אישורים או אישורים מותאמים אישית עם מאפייני אבטחה ייחודיים.
סוגי האישורים משמשים בעיקר ביישום מדיניות בקרת גישה. הגישה לתכונות של האפליקציה מושפעת מסוג האישור שמוצג על ידי מגיש הבקשה.
מאפיינים | |
---|---|
kCertType_AccessToken
|
אישור של אסימון גישה ל-Weave. |
kCertType_AppDefinedBase
|
לסוגי אישורים ספציפיים לאפליקציה צריך להיות ערך >= ערך זה. |
kCertType_CA
|
אישור של רשות אישורים. |
kCertType_Device
|
אישור של מכשיר Weave. |
kCertType_FirmwareSigning
|
אישור לחתימת קושחה של Weave. |
kCertType_General
|
האישור הוא מסוג כללי או לא ספציפי. |
kCertType_Max
|
סוגי האישורים לא יכולים להיות גדולים מהערך הזה. |
kCertType_NotSpecified
|
סוג האישור לא צוין. |
kCertType_ServiceEndpoint
|
אישור נקודת קצה של שירות Weave. |
40@
@40
זיהוי המקור של הסיסמה שנעשה בה שימוש בפרוטוקול אימות מבוסס סיסמה (למשל,
שזירה של PASE)
41@
@41
מאפיינים | |
---|---|
kWeaveAuthModeCategory_AppDefinedBase
|
ערך בסיסי לקטגוריות אימות בהגדרת האפליקציה. |
kWeaveAuthModeCategory_CASE
|
בוצע אימות של עמית באמצעות פרוטוקול Weave CASE. |
kWeaveAuthModeCategory_General
|
בוצע אימות בין רשתות שכנות באמצעות אחד מתוך קבוצה של מנגנונים כלליים. |
kWeaveAuthModeCategory_GroupKey
|
הקישור בוצע אימות באמצעות מפתח קבוצה משותף. |
kWeaveAuthModeCategory_PASE
|
בוצע אימות של עמיתים באמצעות פרוטוקול Weave PASE. |
kWeaveAuthModeCategory_TAKE
|
העמית בוצע אימות באמצעות פרוטוקול Weave TAKE. |
kWeaveAuthMode_CASE_AccessToken
|
הקישור אומת באמצעות CASE עם אישור אסימון גישה של Weave. |
kWeaveAuthMode_CASE_AnyCert
|
אפליקציה שאומתה באמצעות CASE עם אישור שרירותי או אישור מסוג לא ידוע. |
kWeaveAuthMode_CASE_Device
|
הקישור בין האפליקציות אומת באמצעות CASE עם אישור של מכשיר Weave. |
kWeaveAuthMode_CASE_GeneralCert
|
אפליקציה שאומתה באמצעות CASE עם סוג אישור כללי או לא ספציפי. |
kWeaveAuthMode_CASE_ServiceEndPoint
|
הקישור אומת באמצעות CASE עם אישור נקודת קצה של שירות Weave. |
kWeaveAuthMode_NotSpecified
|
מצב האימות לא צוין. |
kWeaveAuthMode_PASE_PairingCode
|
הקישור בוצע אימות באמצעות PASE עם קוד התאמה של המכשיר. |
kWeaveAuthMode_TAKE_IdentificationKey
|
הקישור בוצע אימות באמצעות TAKE באמצעות מפתח זיהוי אסימון. |
kWeaveAuthMode_Unauthenticated
|
האפליקציה להשוואה לא אומתה. |
43@
@43
מאפיינים | |
---|---|
kTestKey_AES128CTRSHA1_DataKeyByte
|
ערך בייט שיוצר מפתח הצפנה ומשמש רק לבדיקה. |
kTestKey_AES128CTRSHA1_IntegrityKeyByte
|
ערך בייט שבונה מפתח תקינות שמשמש לבדיקה בלבד. |
44@
@44
שזירה של גודל משתנה מפתח האפליקציה להצפנת הודעות.
45@
@45
53@
@53
54@
@54
מאפיינים | |
---|---|
kWeavePeerDescription_MaxLength
|
האורך המקסימלי של מחרוזת (כולל תו NUL) שהוחזר על ידי WeaveMessageLayer::GetPeerDescription(). |
55@
@55
הגדרות שקשורות לכותרת של הודעת Weave מקודדת.
מאפיינים | |
---|---|
kWeaveHeaderFlag_DestNodeId
|
מציין שמזהה צומת היעד נמצא בכותרת ההודעה של Weave. |
kWeaveHeaderFlag_MsgCounterSyncReq
|
מציין שהשולח מבקש סנכרון מונה של הודעות. |
kWeaveHeaderFlag_SourceNodeId
|
מציין שמזהה הצומת של המקור נמצא בכותרת ההודעה של Weave. |
kWeaveHeaderFlag_TunneledData
|
מציין שהמטען הייעודי (payload) של הודעת Weave הוא חבילת IP משורשרת. |
56@
@56
הגדרות של שדות ביט למזהי IEEE EUI-64.
מאפיינים | |
---|---|
kEUI64_IG_Group
|
ערך ביט אישי/קבוצתי שמציין מזהה EUI-64 של כתובת קבוצה. |
kEUI64_IG_Individual
|
ערך ביט אישי/קבוצתי שמציין מזהה EUI-64 של כתובת בודדת. |
kEUI64_IG_Mask
|
Bitmask לביט של המשתמש הפרטי/קבוצה (I/G) בתוך מזהה של EUI-64. הערך 0 מציין שהמזהה הוא כתובת בודדת. הערך 1 מציין שהמזהה הוא כתובת של קבוצה. |
kEUI64_UL_Local
|
ערך ביט אוניברסלי/מקומי שמציין מזהה EUI-64 שמנוהל באופן מקומי. |
kEUI64_UL_Mask
|
Bitmask לביט אוניברסלי/מקומי (U/L) בתוך מזהה EUI-64. הערך 0 מציין שהמזהה מנוהל באופן אוניברסלי (גלובלי). הערך 1 מציין שהמזהה מנוהל באופן מקומי. |
kEUI64_UL_Unversal
|
ערך ביט אוניברסלי/מקומי שמציין מזהה EUI-64 המנוהל באופן אוניברסלי. |
57@
@57
טווחים מיוחדים של מזהים של צומתי Weave.
מאפיינים | |
---|---|
kMaxAlwaysLocalWeaveNodeId
|
מזהים של צמתים עם הטלת שפחות מהערך הזה או שווים לו, נחשבים מקומיים לצורך בדיקות נוחות. |
WeaveEncryptionType
WeaveEncryptionType
סוגי ההצפנה של הודעת Weave.
מאפיינים | |
---|---|
kWeaveEncryptionType_AES128CTRSHA1
|
ההודעה הוצפנה באמצעות הצפנת AES-128-CTR עם תקינות ההודעה HMAC-SHA-1. |
kWeaveEncryptionType_None
|
ההודעה לא מוצפנת. |
WeaveExchangeFlags
WeaveExchangeFlags
ביטים של דגל הכותרת של Weave Exchange.
מאפיינים | |
---|---|
kWeaveExchangeFlag_AckId
|
הגדרה מתי ההודעה הנוכחית היא אישור להודעה שהתקבלה בעבר. |
kWeaveExchangeFlag_Initiator
|
ההגדרה קובעת מתי ההודעה הנוכחית תישלח על ידי יוזם ההחלפה. |
kWeaveExchangeFlag_NeedsAck
|
מגדירים מתי ההודעה הנוכחית מבקשת אישור מהנמען. |
WeaveExchangeVersion
WeaveExchangeVersion
גרסת הכותרת של Weave Exchange.
WeaveMessageFlags
WeaveMessageFlags
סימונים המשויכים להודעת Weave נכנסת או יוצאת.
הערכים שמוגדרים כאן מיועדים לשימוש בשדה WeaveMessageInfo.Flags.
מאפיינים | |
---|---|
kWeaveMessageFlag_DefaultMulticastSourceAddress
|
מציין שצריך להשתמש בברירת המחדל של כתובת המקור של IPv6 כששולחים הודעות של IPv6 עם Multicast. |
kWeaveMessageFlag_DelaySend
|
מציין שיש עיכוב בשליחת ההודעה. |
kWeaveMessageFlag_DestNodeId
|
מציין שמזהה צומת היעד נמצא בכותרת ההודעה של Weave. |
kWeaveMessageFlag_DuplicateMessage
|
מציין שההודעה היא כפילות של הודעה שהתקבלה בעבר. |
kWeaveMessageFlag_FromInitiator
|
מציין שמקור ההודעה הוא יוזם ההחלפה של Weave. |
kWeaveMessageFlag_MessageEncoded
|
מציין שההודעה של Weave כבר מקודדת. |
kWeaveMessageFlag_MsgCounterSyncReq
|
מציין שהשולח מבקש סנכרון מונה של הודעות מהעמיתים. |
kWeaveMessageFlag_MulticastFromLinkLocal
|
כינוי שהוצא משימוש עבור |
kWeaveMessageFlag_PeerGroupMsgIdNotSynchronized
|
מציין שמונה ההודעות של מפתח הקבוצה של האפליקציה להשוואה לא מסונכרן. |
kWeaveMessageFlag_PeerRequestedAck
|
מציין ששולח ההודעה ביקש אישור. |
kWeaveMessageFlag_RetainBuffer
|
מציין שאין לפנות את מאגר הנתונים הזמני של ההודעות אחרי השליחה. |
kWeaveMessageFlag_ReuseMessageId
|
מציין שצריך לעשות שימוש חוזר במזהה ההודעה הקיים. |
kWeaveMessageFlag_ReuseSourceId
|
מציין שצריך לעשות שימוש חוזר במזהה של צומת המקור הקיים. |
kWeaveMessageFlag_SourceNodeId
|
מציין שמזהה הצומת של המקור נמצא בכותרת ההודעה של Weave. |
kWeaveMessageFlag_TunneledData
|
מציין שהמטען הייעודי (payload) של הודעת Weave הוא חבילת IP משורשרת. |
kWeaveMessageFlag_ViaEphemeralUDPPort
|
מציין שההודעה נשלחת או מתקבלת דרך יציאת ה-UDP הזמנית המקומית. |
WeaveMessageVersion
WeaveMessageVersion
גרסת הפורמט של Weave Message.
גרסת Weave תבחר את הגרסה המתאימה של ההודעה בהתאם לפורמט המסגרת שנדרש עבור ההודעה של Weave. כברירת מחדל, גרסת ההודעה היא kWeaveMessageVersion_V1. לדוגמה, כשמשתמשים בהודעות אמינות ב-Weave, הגרסה היא kWeaveMessageVersion_V2.
מאפיינים | |
---|---|
kWeaveMessageVersion_Unspecified
|
גרסת ההודעה לא צוינה. |
kWeaveMessageVersion_V1
|
גרסה 1 של פורמט כותרת ההודעה. |
kWeaveMessageVersion_V2
|
גרסה 2 של הפורמט של כותרת ההודעה. |
WeaveSubnetId
WeaveSubnetId
ל-Weave יש כמה מספרי משנה שמורים של ממשקי רשת נפרדים במכשירים אופייניים.
המספרים האלה מוקצים כאן לקבועים סימבוליים. מספרי רשת המשנה האלה משמשים את Weave להגדרת כתובות IPv6 ULA בממשקים מתאימים.
מאפיינים | |
---|---|
kWeaveSubnetId_MobileDevice
|
מזהה רשת המשנה לכל המכשירים הניידים. |
kWeaveSubnetId_NotSpecified
|
שמור כערך לא צוין או ערך null. |
kWeaveSubnetId_PrimaryWiFi
|
מספר רשת המשנה של ממשק הרדיו של Wi-Fi. |
kWeaveSubnetId_Service
|
מזהה רשת המשנה של נקודות הקצה של שירות Nest. |
kWeaveSubnetId_ThreadAlarm
|
מספר רשת המשנה של ממשק הרדיו של התראת פרוטוקול Thread. |
kWeaveSubnetId_ThreadMesh
|
מזהה רשת המשנה של ממשק הרדיו של רשת פרוטוקול Thread. |
kWeaveSubnetId_WiFiAP
|
מספר רשת המשנה של ממשק ה-AP המקומי של Wi-Fi. |
WeaveVendorId
WeaveVendorId
Typedefs
FabricSecretRotationScheme
uint8_t FabricSecretRotationScheme
FabricSecretScope
uint8_t FabricSecretScope
מזהה את קטגוריית המכשירים שיכולים להיות בעלי סוד בדים ולהשתמש בהם.
WeaveAuthMode
uint16_t WeaveAuthMode
מזהה את אופן האימות של צומת של אפליקציה להשוואה.
הערך של WeaveAuthMode מתאר את האמצעים שבהם צומת של אפליקציה עבר אימות או אמור להיות מאומת במהלך חילופי הודעות של Weave. בהקשר של התחלת התהליך, אפליקציות משתמשות ב-WeaveAuthMode כדי לבטא את מצב אימות האפליקציות הרצוי לפלטפורמת Exchange, וכך להורות לשכבות האבטחה וההעברת הודעות של Weave להגיע למצב הרצוי או להיכשל בתקשורת. בהקשר של תגובה, WeaveAuthMode מזהה את האופן שבו הצומת המבקש (העמית) אומת, וכך מאפשר לאפליקציה שמגיבה לאכוף בקרות גישה על סמך המידע הזה.
ה-WeaveAuthMode שהוקצתה להודעת Weave נכנסת קשורה לאופי של המפתח ששימש להצפנת ההודעה הזו. ה-WeaveAuthMode נגזר מהמנגנון שבאמצעותו נוצר המפתח ומהקריטריונים ששימשו לאימות הזהות של הצדדים הקשורים בזמן יצירת המפתח.
WeaveAuthMode כוללת קבוצה של ערכים מוגדרים מראש שמתארים מצבי אימות נפוצים. הפרטים האלה מפורטים לפי מנגנון ההסכם המרכזי (CASE, PASE, GroupKey וכו'). מפתחים יכולים להרחיב את WeaveAuthMode על ידי הגדרת מצבים ספציפיים לאפליקציה, שבאמצעותם הם יכולים לחבר למפתחות הצפנה ספציפיים.
WeaveEncryptionKey
union nl::Weave::WeaveEncryptionKey WeaveEncryptionKey
WeaveEncryptionType
enum nl::Weave::WeaveEncryptionType WeaveEncryptionType
סוגי ההצפנה של הודעת Weave.
WeaveExchangeFlags
enum nl::Weave::WeaveExchangeFlags WeaveExchangeFlags
ביטים של דגל הכותרת של Weave Exchange.
WeaveExchangeVersion
enum nl::Weave::WeaveExchangeVersion WeaveExchangeVersion
גרסת הכותרת של Weave Exchange.
WeaveMessageFlags
enum nl::Weave::WeaveMessageFlags WeaveMessageFlags
סימונים המשויכים להודעת Weave נכנסת או יוצאת.
הערכים שמוגדרים כאן מיועדים לשימוש בשדה WeaveMessageInfo.Flags.
WeaveMessageHeader
struct WeaveMessageInfo WeaveMessageHeader
WeaveMessageVersion
enum nl::Weave::WeaveMessageVersion WeaveMessageVersion
גרסת הפורמט של Weave Message.
גרסת Weave תבחר את הגרסה המתאימה של ההודעה בהתאם לפורמט המסגרת שנדרש עבור ההודעה של Weave. כברירת מחדל, גרסת ההודעה היא kWeaveMessageVersion_V1. לדוגמה, כשמשתמשים בהודעות אמינות ב-Weave, הגרסה היא kWeaveMessageVersion_V2.
WeaveSubnetId
enum nl::Weave::WeaveSubnetId WeaveSubnetId
ל-Weave יש כמה מספרי משנה שמורים של ממשקי רשת נפרדים במכשירים אופייניים.
המספרים האלה מוקצים כאן לקבועים סימבוליים. מספרי רשת המשנה האלה משמשים את Weave להגדרת כתובות IPv6 ULA בממשקים מתאימים.
משתנים
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 }
מגף מפתחות המשמש לנגזרת מפתחות הצפנה של הודעות Weave.
הערך הזה מייצג את 4 הבייטים הראשונים של SHA-1 HASH של Nest Weave Message EK and AK לביטוי.
פונקציות
AppGroupMasterKeyIdFromAuthMode
uint8_t AppGroupMasterKeyIdFromAuthMode( WeaveAuthMode authMode )
הפונקציה מחזירה את מזהה מפתח המאסטר של קבוצת האפליקציות שמשויך למצב האימות.
CASEAuthMode
WeaveAuthMode CASEAuthMode( uint8_t certType )
מחזירה מצב אימות CASE תואם לסוג אישור נתון.
CertTypeFromAuthMode
uint8_t CertTypeFromAuthMode( WeaveAuthMode authMode )
מחזירה את מקור הסיסמה עבור מצב האימות הנתון.
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 )
בהינתן שגיאת Weave, הפונקציה מחזירה מחרוזת C עם סיום קריא לאנשים (NULL), שמתארת את השגיאה.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
true אם מחרוזת תיאור נכתבה במאגר הנתונים הזמני.
|
||||||
החזרות |
false אם השגיאה שסופקה לא הייתה שגיאת Weave.
|
GenerateWeaveNodeId
NL_DLL_EXPORT WEAVE_ERROR GenerateWeaveNodeId( uint64_t & nodeId )
יצירת מזהה צומת אקראי של Weave.
הפונקציה הזו יוצרת מזהה צומת Weave ייחודי של 64 ביט. הפונקציה הזו משתמשת במקור נתונים אקראי חזק מבחינה קריפטוגרפית כדי להבטיח שהערך שנוצר יהיה ייחודי. שימו לב שביט 57 של מזהה צומת Weave שנוצר מוגדר ל-1 כדי לציין שמזהה צומת Weave שנוצר הוא ייחודי באופן מקומי (לא גלובלי) ייחודי.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
מוחזר ערכים |
|
GetFibonacciForIndex
uint32_t GetFibonacciForIndex( uint32_t index )
הפונקציה הזו יוצרת מספר פיבונאצ'י 32-ביט עבור אינדקס נתון של 32 ביט.
פרטים | |
---|---|
החזרות |
מספר פיבונאצ'י לא חתום בגודל 32 ביט.
|
GetMessageName
const char * GetMessageName( uint32_t profileId, uint8_t msgType )
GetProfileName
const char * GetProfileName( uint32_t profileId )
GetRandU16
uint16_t GetRandU16( void )
הפונקציה הזו יוצרת מספר אקראי לא חתום באורך 16 ביט.
פרטים | |
---|---|
החזרות |
מספר שלם אקראי לא חתום באורך 16 ביט.
|
GetRandU32
uint32_t GetRandU32( void )
הפונקציה הזו יוצרת מספר אקראי לא חתום בגודל 32 סיביות.
פרטים | |
---|---|
החזרות |
מספר שלם אקראי לא חתום באורך 32 ביט.
|
GetRandU64
uint64_t GetRandU64( void )
הפונקציה הזו יוצרת מספר אקראי לא חתום בגודל 64 ביט.
פרטים | |
---|---|
החזרות |
מספר שלם אקראי לא חתום באורך 64 ביט.
|
GetRandU8
uint8_t GetRandU8( void )
הפונקציה הזו יוצרת מספר אקראי לא חתום באורך 8 ביט.
פרטים | |
---|---|
החזרות |
מספר שלם אקראי לא חתום באורך 8 ביט.
|
GetVendorName
const char * GetVendorName( uint16_t vendorId )
GroupKeyAuthMode
WeaveAuthMode GroupKeyAuthMode( uint32_t keyId )
הפונקציה מחזירה את מצב האימות של מפתח קבוצה תואם למזהה מפתח נתון.
IPv6InterfaceIdToWeaveNodeId
uint64_t IPv6InterfaceIdToWeaveNodeId( uint64_t interfaceId )
המרה של מזהה ממשק כתובות של IPv6 למזהה צומת של Weave.
מטעמי נוחות לבצע בדיקה, מזהי צמתים שפחות מ- #kMaxOnlyLocalWeaveNodeId (65535) נחשבים כ'מקומיים' והביט האוניברסלי/מקומי שלהם מוגדר לאפס. התכונה הזו מפשטת את הייצוג במחרוזת של כתובות IPv6 המתאימות. לדוגמה, ערך ULA למזהה הצומת 10
יהיה FD00:0
:1:1::A.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
המזהה הממופה של הצומת Weave של 64 ביט.
|
IsCASEAuthMode
bool IsCASEAuthMode( WeaveAuthMode authMode )
הערך הוא True אם מצב האימות מבוסס על פרוטוקול Weave CASE.
IsCertAuthMode
bool IsCertAuthMode( WeaveAuthMode authMode )
הערך הוא True אם מצב האימות מבוסס על החזקה של מפתח פרטי שמשויך לאישור.
IsGroupKeyAuthMode
bool IsGroupKeyAuthMode( WeaveAuthMode authMode )
הערך הוא True אם מצב האימות מבוסס על החזקה של מפתח קבוצה משותף.
IsPASEAuthMode
bool IsPASEAuthMode( WeaveAuthMode authMode )
הערך הוא True אם מצב האימות מבוסס על פרוטוקול Weave PASE.
IsPasswordAuthMode
bool IsPasswordAuthMode( WeaveAuthMode authMode )
הערך הוא True אם מצב האימות מבוסס על החזקה של סיסמה משותפת.
IsTAKEAuthMode
bool IsTAKEAuthMode( WeaveAuthMode authMode )
הערך יהיה True אם מצב האימות מבוסס על פרוטוקול Weave TAKE.
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 )
מחזירה מצב אימות PASE תואם למקור סיסמה נתון.
PasswordSourceFromAuthMode
uint8_t PasswordSourceFromAuthMode( WeaveAuthMode authMode )
מחזירה את מקור הסיסמה עבור מצב האימות הנתון.
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 )
המרה של מזהה מבד של Weave למזהה גלובלי של IPv6 ULA.
המזהה הגלובלי של ULA לכתובת בד הוא 40 הביטים התחתונים של מזהה הבד של 64 ביט.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
של המזהה הגלובלי הממופה של IPv6.
|
WeaveMessageSourceToStr
void WeaveMessageSourceToStr( char *buf, uint32_t bufSize, const WeaveMessageInfo *msgInfo )
הוצא משימוש צריך להשתמש בפונקציה WeaveMessageLayer::GetPeerDescription() במקום זאת.
WeaveNodeAddrToStr
void WeaveNodeAddrToStr( char *buf, uint32_t bufSize, uint64_t nodeId, const IPAddress *addr, uint16_t port, WeaveConnection *con )
הוצא משימוש צריך להשתמש בפונקציה WeaveMessageLayer::GetPeerDescription() במקום זאת.
WeaveNodeIdToIPv6InterfaceId
uint64_t WeaveNodeIdToIPv6InterfaceId( uint64_t nodeId )
המרה של מזהה צומת של Weave למזהה ממשק כתובות של IPv6.
מזהי צומתי Weve הם מזהים אוניברסליים/מקומיים של EUI-64, אשר לפי RFC-3513 מומרים למזהי ממשק, על ידי היפוך הביט האוניברסלי/מקומי (ב-ביט 57 ה-LSB סופר כ-0).
מטעמי נוחות לבצע בדיקה, מזהי צמתים שפחות מ- #kMaxOnlyLocalWeaveNodeId (65535) נחשבים כ'מקומיים' והביט האוניברסלי/מקומי שלהם מוגדר לאפס. התכונה הזו מפשטת את הייצוג במחרוזת של כתובות IPv6 המתאימות. לדוגמה, ערך ULA למזהה הצומת 10
יהיה FD00:0
:1:1::A.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
מזהה הממשק של IPv6.
|
מקסימלי
const _T & max( const _T & a, const _T & b )
דקה
const _T & min( const _T & a, const _T & b )