nl:: Weave
סיכום
ספירות |
|
---|---|
@21{
|
טיפוסים בני מנייה (enum) |
@36
|
טיפוסים בני מנייה (enum) |
@37
|
טיפוסים בני מנייה (enum) |
@38{
|
טיפוסים בני מנייה (enum) |
@39{
|
טיפוסים בני מנייה (enum) משמש לזיהוי המטרה או היישום של האישור. |
@40
|
טיפוסים בני מנייה (enum) משמש לזיהוי המקור של הסיסמה שנעשה בה שימוש בפרוטוקול אימות מבוסס-סיסמה (למשל, |
@41{
|
טיפוסים בני מנייה (enum) |
@42{
|
טיפוסים בני מנייה (enum) |
@43{
|
טיפוסים בני מנייה (enum) |
@44
|
טיפוסים בני מנייה (enum) גודל משנה מפתח של אפליקציה להצפנת הודעות Weaves. |
@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. |
WeaveSubnetId{
|
טיפוסים בני מנייה (enum) ל-Weave יש כמה מספרי תת-רשת שמורים לממשקי רשת ייחודיים במכשירים טיפוסיים. |
WeaveVendorId
|
טיפוסים בני מנייה (enum) |
ערכי דף |
|
---|---|
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. |
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
הפונקציה הזו יוצרת מספר Fibonacci של 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 Takeout.
|
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 ללא דרישה, שכוללים תיקוף של בקשות מאומתות ושליחה של דוחות סטטוס ומספקים אחסון משותף של חברי נתונים למצב מארג ולמנהל Exchange. |
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:: |
הגדרות לעבודה עם נתונים שמקודדים בפורמט TLV של Weave. |
nl:: |
מרחב השמות הזה כולל ממשקים ל-Weave address ולמודול הניתוב, מודול נייד להגדרת כתובות IP ונתיבים ב-Weave. |
ספירות
@21
@21
תכונות | |
---|---|
kFlagAckPending
|
אם צפויה תגובה להודעה שנשלחת. |
kFlagAutoReleaseConnection
|
שחרור אוטומטי של המפתח להצפנת ההודעה כשההקשר של ההחלפה מתפנה. |
kFlagAutoReleaseKey
|
כשהוא מוגדר, המשמעות היא שהתקבלה לפחות הודעה אחת מהעמיתים בהקשר הזה של חילופי ההודעות. |
kFlagAutoRequestAck
|
ההקשר הזה שויך ל-WeaveConnection. |
kFlagConnectionClosed
|
ההקשר הזה הוא שיזם ההחלפה. |
kFlagDropAck
|
אם המדיניות מוגדרת, היא מבקשת אישור באופן אוטומטי בכל פעם שהודעה נשלחת דרך UDP. |
kFlagMsgRcvdFromPeer
|
כשהוא מוגדר, המשמעות היא שלפחות הודעה אחת שהתקבלה בחילופי ההודעות הזו ביקשה אישור. האפליקציה קוראת את הדגל הזה כדי להחליט אם היא צריכה לבקש אישור להודעת התגובה שהיא עומדת לשלוח. הדגל הזה יכול גם לציין אם עמית משתמש ב-WRMP. |
kFlagPeerRequestedAck
|
כשהוא מוגדר, המשמעות היא שיש אישור שממתין לשליחה בחזרה. |
kFlagResponseExpected
|
פנימי וניפוי באגים בלבד: לאחר ההגדרה, שכבת ה-Exchange לא תשלח אישור. |
kFlagUseEphemeralUDPPort
|
שחרור אוטומטי של WeaveConnection כאשר ההקשר של ה-Exchange יתפנה. |
@36
@36
@37
@37
@39
@39
משמש לזיהוי המטרה או היישום של האישור.
סוג אישור הוא תווית שמתארת מטרה או יישום של אישור. סוגי אישורים לא נלקחים כמאפיינים של האישורים המתאימים, אלא נגזרים ממבנה האישור ו/או מההקשר שבו נעשה בו שימוש. מספור סוגי האישורים כולל קבוצה של ערכים מוגדרים מראש לתיאור אפליקציות אישורים נפוצות. מפתחים יכולים גם להרחיב את טווח הערכים של סוגי אישורים עם סוגים ספציפיים ליישום המתארים אישורים מותאמים אישית או אישורים עם מאפייני אבטחה ייחודיים.
סוגי אישורים משמשים בעיקר ביישום של מדיניות בקרת גישה, כאשר הגישה לתכונות של אפליקציות מושפעת מסוג האישור שהמגיש מציג.
תכונות | |
---|---|
kCertType_AccessToken
|
אישור של אסימון גישה ל-Weave. |
kCertType_AppDefinedBase
|
לסוגי אישורים ספציפיים לאפליקציה צריכים להיות ערכים >= הערך הזה. |
kCertType_CA
|
אישור CA. |
kCertType_Device
|
אישור מכשיר Weave. |
kCertType_FirmwareSigning
|
אישור חתימה של קושחה של Weave. |
kCertType_General
|
האישור הוא מסוג כללי או לא ספציפי. |
kCertType_Max
|
סוגי אישורים לא יכולים להיות גדולים מהערך הזה. |
kCertType_NotSpecified
|
סוג האישור לא צוין. |
kCertType_ServiceEndpoint
|
אישור של נקודת הקצה של שירות Weave. |
@40
@40
משמש לזיהוי המקור של הסיסמה שנעשה בה שימוש בפרוטוקול אימות מבוסס-סיסמה (למשל,
Weave 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
|
העמית ביצע אימות באמצעות Takeing עם מפתח זיהוי אסימון. |
kWeaveAuthMode_Unauthenticated
|
העמית לא מאומת. |
@43
@43
תכונות | |
---|---|
kTestKey_AES128CTRSHA1_DataKeyByte
|
ערך בייט שיוצר את מפתח ההצפנה, ומשמש לבדיקה בלבד. |
kTestKey_AES128CTRSHA1_IntegrityKeyByte
|
ערך בייט שיוצר מפתח תקינות ומשמש לבדיקה בלבד. |
@44
@44
גודל משנה מפתח של אפליקציה להצפנת הודעות Weaves.
@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
|
מסכת סיביות לביט של יחיד/קבוצתי (I/G) בתוך מזהה EUI-64. ערך של 0 מציין שהמזהה הוא כתובת יחידה. הערך 1 מציין שהמזהה הוא כתובת של קבוצה. |
kEUI64_UL_Local
|
ערך ביט אוניברסלי/מקומי שמציין מזהה EUI-64 שמנוהל באופן מקומי. |
kEUI64_UL_Mask
|
מסיכת סיביות עבור הביט Universal/מקומי (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.
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
|
שמורים כערך שלא צוין או שהוא ריק. |
kWeaveSubnetId_PrimaryWiFi
|
מספר תת-רשת של ממשק רדיו Wi-Fi. |
kWeaveSubnetId_Service
|
מזהה תת-הרשת של נקודות הקצה של שירות Nest. |
kWeaveSubnetId_ThreadAlarm
|
מספר תת-רשת של ממשק הרדיו של התראת השרשור. |
kWeaveSubnetId_ThreadMesh
|
מזהה תת-הרשת של ממשק הרדיו של Thread mesh. |
kWeaveSubnetId_WiFiAP
|
מספר תת-רשת של ממשק Wi-Fi AP מקומי. |
WeaveVendorId
WeaveVendorId
ערכי דף
FabricSecretRotationScheme
uint8_t FabricSecretRotationScheme
FabricSecretScope
uint8_t FabricSecretScope
ההגדרה קובעת את הקטגוריה של מכשירים שניתן להשתמש בהם בסוד בד.
WeaveAuthMode
uint16_t WeaveAuthMode
מזהה את אופן האימות של צומת עמית.
WeaveAuthMode מתאר את האמצעים שבהם צומת עמית עבר או אמור לעבור אימות במהלך חילופי הודעות ב-Weave. בהקשר של התחלת תהליך, אפליקציות משתמשות ב-WeaveAuthMode כדי לבטא מצב אימות רצוי בין רשתות שכנות לצורך תכתובת, ובכך להנחות את שכבות האבטחה והעברת ההודעות של 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.
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 )
הפונקציה הזו יוצרת מספר Fibonacci של 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 סיביות.
פרטים | |
---|---|
החזרות |
מספר שלם אקראי לא חתום (unsigned integer) של 16 סיביות.
|
GetRandU32
uint32_t GetRandU32( void )
הפונקציה יוצרת מספר אקראי לא חתום של 32 סיביות.
פרטים | |
---|---|
החזרות |
מספר שלם אקראי לא חתום (unsigned integer) של 32 סיביות.
|
GetRandU64
uint64_t GetRandU64( void )
הפונקציה יוצרת מספר אקראי לא חתום של 64 סיביות.
פרטים | |
---|---|
החזרות |
מספר שלם אקראי לא חתום (unsigned integer) של 64 סיביות.
|
GetRandU8
uint8_t GetRandU8( void )
הפונקציה יוצרת מספר אקראי לא חתום של 8 סיביות.
פרטים | |
---|---|
החזרות |
מספר שלם אקראי לא חתום (unsigned integer) של 8 סיביות.
|
GetVendorName
const char * GetVendorName( uint16_t vendorId )
GroupKeyAuthMode
WeaveAuthMode GroupKeyAuthMode( uint32_t keyId )
מחזירה מצב אימות של מפתח קבוצה תואם עבור מזהה מפתח נתון.
IPv6InterfaceIdToWeaveNodeId
uint64_t IPv6InterfaceIdToWeaveNodeId( uint64_t interfaceId )
המרת מזהה ממשק כתובת IPv6 למזהה צומת Weave.
לנוחות הבדיקה, מזהי צמתים שקטנים או שווים ל- #kMaxתמידLocalWeaveNodeId (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 Takeout.
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.
מזהי צומתי Weave הם מזהים אוניברסליים/מקומיים מסוג EUI-64. לפי RFC-3513, המערכת ממירה את הביט האוניברסלי/המקומי (בגרסת 57 ל-LSB נספרות 0 בתור 0).
לנוחות הבדיקה, מזהי צמתים שקטנים או שווים ל- #kMaxתמידLocalWeaveNodeId (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 )