nl:: Weave
ملخّص
تحديدات النوع |
|
---|---|
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 مُغلقة فارغة يمكن للمستخدمين قراءتها ووصف الخطأ.
|
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
صحيح إذا كان وضع المصادقة يستند إلى بروتوكول Weave CASE.
|
IsCertAuthMode(WeaveAuthMode authMode)
|
bool
صحيح إذا كان وضع المصادقة يستند إلى امتلاك مفتاح خاص مرتبط بشهادة.
|
IsGroupKeyAuthMode(WeaveAuthMode authMode)
|
bool
صحيح إذا كان وضع المصادقة يستند إلى امتلاك مفتاح مجموعة مشترك.
|
IsPASEAuthMode(WeaveAuthMode authMode)
|
bool
صحيح إذا كان وضع المصادقة يستند إلى بروتوكول Weave PASE.
|
IsPasswordAuthMode(WeaveAuthMode authMode)
|
bool
صحيح إذا كان وضع المصادقة يستند إلى امتلاك كلمة مرور مشتركة.
|
IsTAKEAuthMode(WeaveAuthMode authMode)
|
bool
صحيح إذا كان وضع المصادقة يستند إلى بروتوكول 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 إلى معرّف ULA العام لبروتوكول IPv6.
|
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. |
nl:: |
|
nl:: |
يشير ذلك المصطلح إلى فئة لإدارة عدّاد يتزايد بصورة رتيبة كقيمة عددية. |
nl:: |
يشير ذلك المصطلح إلى فئة لإدارة العدّاد كقيمة عدد صحيح تهدف إلى مواصلة عمليات إعادة التشغيل. |
nl:: |
تعريف فئة Weave Connection. |
nl:: |
يشير ذلك المصطلح إلى تعريف الفئة WeaveConnectionTunnel التي تدير زوجًا من TCPEndPoints التي تم إقران WeaveConnections الأصلي بها، وتعيد WeaveMessageLayer توجيه جميع عمليات إغلاق الاتصال والبيانات. |
nl:: |
|
nl:: |
يحدد هذا الملف الشخصي في Weave ونوع الرسالة لرسالة Weave معينة ضمن ExchangeContext. |
nl:: |
تُستخدَم هذه الفئة لإدارة ExchangeContexts مع عُقد Weave الأخرى. |
nl:: |
بيان إعادة التوجيه إلى WeaveFabricState. |
nl:: |
تعريف معرِّف Weave Key. |
nl:: |
تمثّل هذه السمة تعريف الفئة WeaveMessageLayer التي تدير الاتصال بعُقد Weave الأخرى. |
nl:: |
يحتوي على معلومات حول مفتاح تشفير رسالة Weave. |
nl:: |
ذاكرة التخزين المؤقت لمفاتيح تشفير رسائل Weave. |
nl:: |
|
nl:: |
كائن أساسي شائع لتنفيذ خوادم (خوادم) المجيبين غير المرغوب فيها في Weave Profile والتي تضم التحقق من صحة الطلبات التي تمت مصادقتها وإرسال تقارير الحالة، وتوفر مساحة تخزين مشتركة في عضو البيانات لحالة النسيج ومدير تبادل. |
nl:: |
يشير ذلك المصطلح إلى فئة أساسية شائعة لتنفيذ كائنات تفويض خادم Weave. |
nl:: |
يحتوي على معلومات حول مفتاح جلسة Weave. |
nl:: |
تنقل حالة الاتصال اللازمة لإرسال/استلام الرسائل مع عقدة أخرى. |
الهياكل |
|
---|---|
nl:: |
|
nl:: |
إعدادات WRMP. |
nl:: |
معلومات عن رسالة Weave التي تجري عملية إرسالها أو استلامها. |
الاتحادات |
|
---|---|
nl:: |
مساحات الاسم |
|
---|---|
nl:: |
تشتمل مساحة الاسم هذه على جميع الواجهات في Weave للتعامل مع صياغة الجملة المجرّدة الأولى (ASN.1). |
nl:: |
تشمل مساحة الاسم هذه جميع الواجهات داخل Weave لدعم التشفير المشترك. |
nl:: |
|
nl:: |
|
nl:: |
توفر مساحة الاسم هذه دوال لما يلي: |
nl:: |
تشمل مساحة الاسم هذه جميع الواجهات داخل Weave لدعم التسجيل المشترك. |
nl:: |
|
nl:: |
تشمل مساحة الاسم هذه جميع الواجهات المتوفرة ضمن الملفات الشخصية على Weave في Weave، وكل من الواجهة Common ومورِّد Nest Labs. |
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
|
nl:: |
تعريفات للعمل باستخدام البيانات المرمّزة بتنسيق Weave TLV: |
nl:: |
تشمل مساحة الاسم هذه واجهات لـ عنوان Weave ووحدة التوجيه، وهي وحدة محمولة لإعداد عناوين ومسارات Weave IP. |
عمليات التعداد
@21
@21
أماكن إقامة | |
---|---|
kFlagAckPending
|
إذا كان من المتوقع الرد على رسالة يتم إرسالها. |
kFlagAutoReleaseConnection
|
يمكنك رفع إصبعك عن مفتاح تشفير الرسائل تلقائيًا عند إخلاء سياق التبادل. |
kFlagAutoReleaseKey
|
عند ضبطها، تشير إلى أنّه تم تلقّي رسالة واحدة على الأقل من زميل في سياق التبادل هذا. |
kFlagAutoRequestAck
|
تم ربط هذا السياق برابط WeaveConnection. |
kFlagConnectionClosed
|
هذا السياق هو بداية عملية التبادل. |
kFlagDropAck
|
عند ضبط السياسة، يمكنك طلب إقرار تلقائيًا عند إرسال رسالة عبر بروتوكول UDP. |
kFlagMsgRcvdFromPeer
|
عند ضبطها، تشير إلى أنّ رسالة واحدة على الأقل تم استلامها في عملية التبادل هذه تطلب إقرارًا. يقرأ التطبيق هذه العلامة لتحديد ما إذا كان يحتاج إلى طلب إعلام باستلام رسالة الرد التي يوشك على إرسالها. يمكن أن تشير هذه العلامة أيضًا إلى ما إذا كان التطبيق المشابهة يستخدم WRMP. |
kFlagPeerRequestedAck
|
وعند ضبطها، تشير إلى أن هناك إقرارًا في انتظار إعادته. |
kFlagResponseExpected
|
داخلي وتصحيح الأخطاء فقط: عند الضبط، لا ترسل طبقة التبادل إقرارًا. |
kFlagUseEphemeralUDPPort
|
إطلاق WeaveConnection المرتبط تلقائيًا عند إتاحة سياق التبادل |
@36
@36
@37
@37
@38
@38
أماكن إقامة | |
---|---|
kFabricIdDefaultForTest
|
معرّف القماش التلقائي، والذي يجب استخدامه لأغراض الاختبار فقط. |
@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
|
تمت مصادقة النظير باستخدام Take مع مفتاح تعريف رمز مميز. |
kWeaveAuthMode_Unauthenticated
|
لم تتم مصادقة النظير. |
@43
@43
أماكن إقامة | |
---|---|
kTestKey_AES128CTRSHA1_DataKeyByte
|
يشير ذلك المصطلح إلى قيمة بايت تنشئ مفتاح تشفير يُستخدم للاختبار فقط. |
kTestKey_AES128CTRSHA1_IntegrityKeyByte
|
يشير ذلك المصطلح إلى قيمة بايت تنشئ مفتاح التكامل. ويتم استخدامه للاختبار فقط. |
@44
@44
حجم متنوّع مفتاح تطبيق تشفير رسائل Weave
@45
@45
@53
@53
@54
@54
أماكن إقامة | |
---|---|
kWeavePeerDescription_MaxLength
|
الحد الأقصى لطول السلسلة (بما في ذلك الحرف NUL) الذي يعرضه WeaveMessageLayer::GetPeerDescription(). |
@55
@55
التعريفات المتعلقة برأس رسالة Weave المشفرة.
أماكن إقامة | |
---|---|
kWeaveHeaderFlag_DestNodeId
|
يشير إلى أن رقم تعريف عقدة الوجهة موجود في رأس رسالة Weave. |
kWeaveHeaderFlag_MsgCounterSyncReq
|
يشير إلى أن المرسل يطلب مزامنة عدّاد الرسائل. |
kWeaveHeaderFlag_SourceNodeId
|
يشير إلى أن رقم تعريف عقدة المصدر موجود في رأس رسالة Weave. |
kWeaveHeaderFlag_TunneledData
|
يشير إلى أن حمولة رسالة 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
|
قناع بت للبتّ العام/المحلي (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. |
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
|
يشير إلى أن حمولة رسالة 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
|
محجوزة كقيمة غير محدّدة أو فارغة |
kWeaveSubnetId_PrimaryWiFi
|
رقم الشبكة الفرعية لواجهة لاسلكية WiFi. |
kWeaveSubnetId_Service
|
معرّف الشبكة الفرعية لنقاط نهاية خدمة Nest |
kWeaveSubnetId_ThreadAlarm
|
رقم الشبكة الفرعية لواجهة الراديو لتنبيه سلسلة المحادثات |
kWeaveSubnetId_ThreadMesh
|
معرّف الشبكة الفرعية لواجهة الراديو المتداخلة Thread. |
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 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 مُغلقة فارغة يمكن للمستخدمين قراءتها ووصف الخطأ.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
المرتجعات |
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.
لتسهيل عملية الاختبار، تُعتبر معرّفات العُقد الأقل أو المساوية لـ #kMaxLocalWeaveNodeId (65535) "محلية"، ويتم ضبط وحدة البت العامة/المحلية لها على صفر. وهذا يبسط تمثيل السلسلة لعناوين IPv6 المقابلة. على سبيل المثال، تكون قيمة ULA لمعرّف العُقدة 10
هي FD00:0
:1:1::A.
التفاصيل | |||
---|---|---|---|
المَعلمات |
|
||
المرتجعات |
معرف عقدة Weave 64 بت المعين.
|
IsCASEAuthMode
bool IsCASEAuthMode( WeaveAuthMode authMode )
صحيح إذا كان وضع المصادقة يستند إلى بروتوكول Weave CASE.
IsCertAuthMode
bool IsCertAuthMode( WeaveAuthMode authMode )
صحيح إذا كان وضع المصادقة يستند إلى امتلاك مفتاح خاص مرتبط بشهادة.
IsGroupKeyAuthMode
bool IsGroupKeyAuthMode( WeaveAuthMode authMode )
صحيح إذا كان وضع المصادقة يستند إلى امتلاك مفتاح مجموعة مشترك.
IsPASEAuthMode
bool IsPASEAuthMode( WeaveAuthMode authMode )
صحيح إذا كان وضع المصادقة يستند إلى بروتوكول Weave PASE.
IsPasswordAuthMode
bool IsPasswordAuthMode( WeaveAuthMode authMode )
صحيح إذا كان وضع المصادقة يستند إلى امتلاك كلمة مرور مشتركة.
IsTAKEAuthMode
bool IsTAKEAuthMode( WeaveAuthMode authMode )
صحيح إذا كان وضع المصادقة يستند إلى بروتوكول 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 إلى معرّف ULA العام لبروتوكول IPv6.
معرف 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).
لتسهيل عملية الاختبار، تُعتبر معرّفات العُقد الأقل أو المساوية لـ #kMaxLocalWeaveNodeId (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 )