nl :: نسج:: WeaveSecurityManager

ملخص

البنائين والمدمرين

WeaveSecurityManager (void)

الأنواع العامة

KeyErrorMsgRcvdFunct )(uint16_t keyId, uint8_t encType, uint32_t messageId, uint64_t peerNodeId, WEAVE_ERROR keyErr) typedef
void(*
نوع وظيفة معالجة رسالة الخطأ الرئيسية.
KeyExportCompleteFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen) typedef
void(*
نوع بروتوكول تصدير مفتاح وظيفة معالجة كاملة.
KeyExportErrorFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport) typedef
void(*
نوع وظيفة معالجة خطأ بروتوكول التصدير الرئيسي.
SessionErrorFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, uint64_t peerNodeId, StatusReport *statusReport) typedef
void(*
SessionEstablishedFunct )(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType) typedef
void(*
State تعداد

السمات العامة

CASEUseKnownECDHKey
bool
ExchangeManager
FabricState
IdleSessionTimeout
uint32_t
InitiatorAllowedCASEConfigs
uint8_t
InitiatorAllowedCASECurves
uint8_t
InitiatorAllowedKeyExportConfigs
uint8_t
InitiatorCASEConfig
uint32_t
InitiatorCASECurveId
uint32_t
InitiatorKeyExportConfig
uint8_t
OnKeyErrorMsgRcvd
وظيفة رد الخطأ الرئيسية.
OnSessionError
SessionErrorFunct
OnSessionEstablished
SessionEstablishedFunct
ResponderAllowedCASEConfigs
uint8_t
ResponderAllowedCASECurves
uint8_t
ResponderAllowedKeyExportConfigs
uint8_t
SessionEstablishTimeout
uint32_t
State
uint8_t
mCASEEngine
mKeyExport
mPASEEngine
mStartKeyExport_OnComplete
بروتوكول تصدير المفتاح يكمل وظيفة رد الاتصال.
mStartKeyExport_OnError
وظيفة استدعاء خطأ بروتوكول تصدير المفتاح.
mStartKeyExport_ReqState
void *
mStartSecureSession_OnComplete
SessionEstablishedFunct
mStartSecureSession_OnError
SessionErrorFunct
mStartSecureSession_ReqState
void *
mTAKEEngine

الوظائف العامة

CancelSessionEstablishment (void *reqState)
إلغاء إنشاء جلسة قيد التنفيذ.
Init ( WeaveExchangeManager & aExchangeMgr, System::Layer & aSystemLayer)
IsKeyError ( WEAVE_ERROR err)
bool
للتحقق مما إذا كان رمز خطأ Weave المحدد أحد رموز الخطأ الرئيسية.
OnEncryptedMsgRcvd (uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)
void
ReleaseKey (uint64_t peerNodeId, uint16_t keyId)
void
قم بتحرير حجز مفتاح تشفير الرسالة.
ReserveKey (uint64_t peerNodeId, uint16_t keyId)
void
قم بإجراء حجز على مفتاح تشفير الرسائل.
SendKeyErrorMsg ( WeaveMessageInfo *rcvdMsgInfo, const IPPacketInfo *rcvdMsgPacketInfo, WeaveConnection *con, WEAVE_ERROR keyErr)
إرسال رسالة خطأ رئيسية.
SetCASEAuthDelegate ( WeaveCASEAuthDelegate *delegate)
void
SetKeyExportDelegate ( WeaveKeyExportDelegate *delegate)
void
SetTAKEAuthDelegate ( WeaveTAKEChallengerAuthDelegate *delegate)
void
SetTAKETokenAuthDelegate ( WeaveTAKETokenAuthDelegate *delegate)
void
Shutdown (void)
StartCASESession ( WeaveConnection *con, uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, WeaveCASEAuthDelegate *authDelegate, uint64_t terminatingNodeId)
يتم استدعاء هذه الطريقة لإنشاء جلسة CASE جديدة أو العثور على جلسة CASE موجودة.
StartKeyExport ( WeaveConnection *con, uint64_t peerNodeId, const IPAddress & peerAddr, uint16_t peerPort, uint32_t keyId, bool signMessage, void *reqState, KeyExportCompleteFunct onComplete, KeyExportErrorFunct onError, WeaveKeyExportDelegate *keyExportDelegate)
StartPASESession ( WeaveConnection *con, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, const uint8_t *pw, uint16_t pwLen)
يتم استدعاء هذه الطريقة لتأسيس جلسة PASE آمنة.
StartTAKESession ( WeaveConnection *con, WeaveAuthMode requestedAuthMode, void *reqState, SessionEstablishedFunct onComplete, SessionErrorFunct onError, bool encryptAuthPhase, bool encryptCommPhase, bool timeLimitedIK, bool sendChallengerId, WeaveTAKEChallengerAuthDelegate *authDelegate)
يتم استدعاء هذه الطريقة لتأسيس جلسة TAKE آمنة.

الأنواع العامة

KeyErrorMsgRcvdFunct

void(* KeyErrorMsgRcvdFunct)(uint16_t keyId, uint8_t encType, uint32_t messageId, uint64_t peerNodeId, WEAVE_ERROR keyErr)

نوع وظيفة معالجة رسالة الخطأ الرئيسية.

تفاصيل
المعلمات
[in] keyId
تسبب مفتاح التشفير في استجابة رسالة الخطأ الرئيسية من النظير.
[in] encType
نوع التشفير المرتبطة keyId.
[in] messageId
نتج عن معرف رسالة Weave استجابة الخطأ الرئيسية من النظير.
[in] peerNodeId
معرّف عقدة Weave التي أرسلت رسالة خطأ أساسية.
[in] keyErr
تم استلام رمز الخطأ من النظير.

KeyExportCompleteFunct

void(* KeyExportCompleteFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint32_t exportedKeyId, const uint8_t *exportedKey, uint16_t exportedKeyLen)

نوع بروتوكول تصدير مفتاح وظيفة معالجة كاملة.

تفاصيل
المعلمات
[in] sm
مؤشر إلى WeaveSecurityManager الكائن.
[in] con
مؤشر إلى WeaveConnection الكائن.
[in] reqState
مؤشر إلى حالة طالب تصدير المفتاح.
[in] keyId
معرف المفتاح الذي تم تصديره.
[in] exportedKey
مؤشر للمفتاح السري الذي تم تصديره.
[in] exportedKeyLen
مرجع لطول المفتاح السري الذي تم تصديره.

KeyExportErrorFunct

void(* KeyExportErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, StatusReport *statusReport)

نوع وظيفة معالجة خطأ بروتوكول التصدير الرئيسي.

تفاصيل
المعلمات
[in] sm
مؤشر إلى WeaveSecurityManager الكائن.
[in] con
مؤشر إلى WeaveConnection الكائن.
[in] reqState
مؤشر إلى حالة طالب تصدير المفتاح.
[in] localErr
تمت مصادفة WEAVE_ERROR أثناء بروتوكول تصدير المفتاح.
[in] statusReport
مؤشر إلى كائن StatusReport في حالة تلقي حالة خطأ من النظير.

SessionErrorFunct

void(* SessionErrorFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, WEAVE_ERROR localErr, uint64_t peerNodeId, StatusReport *statusReport)

تم تأسيس الجلسة

void(* SessionEstablishedFunct)(WeaveSecurityManager *sm, WeaveConnection *con, void *reqState, uint16_t sessionKeyId, uint64_t peerNodeId, uint8_t encType)

حالة

 State

السمات العامة

CASEUseKnownECDHKey

bool CASEUseKnownECDHKey

إكستشانج ماناجر

WeaveExchangeManager * ExchangeManager

FabricState

WeaveFabricState * FabricState

IdleSessionTimeout

uint32_t IdleSessionTimeout

البادئ المسموح به CASEC الأشكال

uint8_t InitiatorAllowedCASEConfigs

البادئ المسموح به CASEC المنحنيات

uint8_t InitiatorAllowedCASECurves

البادئ السماح KeyExportConfigs

uint8_t InitiatorAllowedKeyExportConfigs

البادئ

uint32_t InitiatorCASEConfig

البادئ CASECurveId

uint32_t InitiatorCASECurveId

بادئ KeyExportConfig

uint8_t InitiatorKeyExportConfig

OnKeyErrorMsgRcvd

KeyErrorMsgRcvdFunct OnKeyErrorMsgRcvd

وظيفة رد الخطأ الرئيسية.

يتم استدعاء هذه الوظيفة عند تلقي رسالة خطأ رئيسية.

OnSessionError. خطأ في الجلسة

SessionErrorFunct OnSessionError

تم تأسيسها

SessionEstablishedFunct OnSessionEstablished

ResponderAllowedCASEConfigs

uint8_t ResponderAllowedCASEConfigs

ResponderAllowedCASECurves

uint8_t ResponderAllowedCASECurves

ResponderAllowedKeyExportConfigs

uint8_t ResponderAllowedKeyExportConfigs

الجلسةتأسيس المهلة

uint32_t SessionEstablishTimeout

حالة

uint8_t State

محرك mCASEE

WeaveCASEEngine * mCASEEngine

mKeyExport

WeaveKeyExport * mKeyExport

محرك mPASEE

WeavePASEEngine * mPASEEngine

mStartKeyExport_OnComplete

KeyExportCompleteFunct mStartKeyExport_OnComplete

بروتوكول تصدير المفتاح يكمل وظيفة رد الاتصال.

يتم استدعاء هذه الوظيفة عند اكتمال عملية تصدير المفتاح السري.

mStartKeyExport_OnError

KeyExportErrorFunct mStartKeyExport_OnError

وظيفة استدعاء خطأ بروتوكول تصدير المفتاح.

يتم استدعاء هذه الوظيفة عند مواجهة خطأ أثناء عملية تصدير المفتاح.

mStartKeyExport_ReqState

void * mStartKeyExport_ReqState

mStartSecureSession_OnComplete

SessionEstablishedFunct mStartSecureSession_OnComplete

mStartSecureSession_OnError

SessionErrorFunct mStartSecureSession_OnError

mStartSecureSession_ReqState

void * mStartSecureSession_ReqState

محرك mTAKEE

WeaveTAKEEngine * mTAKEEngine

الوظائف العامة

إلغاء الدورة

WEAVE_ERROR CancelSessionEstablishment(
  void *reqState
)

إلغاء إنشاء جلسة قيد التنفيذ.

تفاصيل
المعلمات
[in] reqState
قيمة المؤشر التي تطابق القيمة التي قدمها التطبيق عند بدء الجلسة.
إرجاع القيم
WEAVE_NO_ERROR
إذا تم العثور على إنشاء جلسة جارية مطابقة وإلغاؤها.
WEAVE_ERROR_INCORRECT_STATE
إذا لم يكن هناك إنشاء جلسة قيد التقدم ، أو إذا لم تتطابق الجلسة قيد التقدم مع مؤشر حالة الطلب المقدم.

فيه

WEAVE_ERROR Init(
  WeaveExchangeManager & aExchangeMgr,
  System::Layer & aSystemLayer
)

IsKeyError

bool IsKeyError(
  WEAVE_ERROR err
)

للتحقق مما إذا كان رمز خطأ Weave المحدد أحد رموز الخطأ الرئيسية.

يتم استدعاء هذه الوظيفة لتحديد ما إذا كان يجب إرسال رسالة الخطأ الرئيسية إلى بادئ الرسالة التي فشلت في العثور على مفتاح صحيح أثناء فك التشفير.

تفاصيل
المعلمات
[in] err
رمز خطأ نسج.
إرجاع القيم
true
إذا كان رمز خطأ Weave المحدد هو خطأ رئيسي.
false
غير ذلك.

OnEncryptedMsgRcvd

void OnEncryptedMsgRcvd(
  uint16_t sessionKeyId,
  uint64_t peerNodeId,
  uint8_t encType
)

ReleaseKey

void ReleaseKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

قم بتحرير حجز مفتاح تشفير الرسالة.

حرر الحجوزات التي تم وضعها مسبقًا على مفتاح تشفير الرسائل.

لكل التحفظ وضعت على مفتاح معين، و ReleaseKey () يجب استدعاء الأسلوب لا يزيد عن مرة واحدة.

تقبل هذه الطريقة أي شكل من أشكال معرف المفتاح ، بما في ذلك لا شيء. يتم تجاهل معرفات المفاتيح التي لا تذكر مفاتيح فعلية.

تفاصيل
المعلمات
[in] peerNodeId
معرف عقدة Weave للنظير الذي شارك المفتاح معه.
[in] keyId
معرّف المفتاح الذي يجب تحرير حجزه.

ReserveKey

void ReserveKey(
  uint64_t peerNodeId,
  uint16_t keyId
)

قم بإجراء حجز على مفتاح تشفير الرسائل.

تُستخدم حجوزات المفاتيح للإشارة إلى أن مفتاحًا معينًا قيد الاستخدام ويجب الاحتفاظ به. لاحظ أن وضع الحجز على مفتاح لا يضمن أن المفتاح لن تتم إزالته بإجراء واضح مثل استقبال رسالة KeyError.

لكل التحفظ وضعت على مفتاح معين، مكالمة الموافق ReleaseKey () يجب أن يتم.

تقبل هذه الطريقة أي شكل من أشكال معرف المفتاح ، بما في ذلك لا شيء. يتم تجاهل معرفات المفاتيح التي لا تذكر مفاتيح فعلية.

تفاصيل
المعلمات
[in] peerNodeId
معرف عقدة Weave للنظير الذي شارك المفتاح معه.
[in] keyId
معرّف المفتاح المراد حجزه.

SendKeyErrorMsg

WEAVE_ERROR SendKeyErrorMsg(
  WeaveMessageInfo *rcvdMsgInfo,
  const IPPacketInfo *rcvdMsgPacketInfo,
  WeaveConnection *con,
  WEAVE_ERROR keyErr
)

إرسال رسالة خطأ رئيسية.

يتم استدعاء هذه الوظيفة عند استلام فشل فك تشفير رسالة Weave بسبب خطأ في المفتاح.

تفاصيل
المعلمات
[in] rcvdMsgInfo
مؤشر إلى معلومات الرسالة لرسالة Weave المستلمة.
[in] rcvdMsgPacketInfo
مؤشر إلى كائن IPPacketInfo لرسالة Weave المستلمة.
[in] con
مؤشر إلى WeaveConnection الكائن.
[in] keyErr
نسج رمز الخطأ الرئيسي.
إرجاع القيم
WEAVE_ERROR_NO_MEMORY
إذا تعذر تخصيص الذاكرة لسياق التبادل الجديد أو المخزن المؤقت للرسائل الجديدة.
WEAVE_ERROR_BUFFER_TOO_SMALL
إذا كان المخزن المؤقت صغيرًا جدًا
WEAVE_NO_ERROR
إذا نجحت الطريقة.

SetCASEAuthDelegate

void SetCASEAuthDelegate(
  WeaveCASEAuthDelegate *delegate
)

SetKeyExportDelegate

void SetKeyExportDelegate(
  WeaveKeyExportDelegate *delegate
)

SetTAKEAuth مندوب

void SetTAKEAuthDelegate(
  WeaveTAKEChallengerAuthDelegate *delegate
)

SetTAKETokenAuthDelegate

void SetTAKETokenAuthDelegate(
  WeaveTAKETokenAuthDelegate *delegate
)

اغلق

WEAVE_ERROR Shutdown(
  void
)

بدء القضايا الجلسة

WEAVE_ERROR StartCASESession(
  WeaveConnection *con,
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  WeaveAuthMode requestedAuthMode,
  void *reqState,
  SessionEstablishedFunct onComplete,
  SessionErrorFunct onError,
  WeaveCASEAuthDelegate *authDelegate,
  uint64_t terminatingNodeId
)

يتم استدعاء هذه الطريقة لإنشاء جلسة CASE جديدة أو العثور على جلسة CASE موجودة.

تفاصيل
المعلمات
[in] con
مؤشر إلى WeaveConnection الكائن.
[in] peerNodeId
معرف العقدة للنظير.
[in] peerAddr
عنوان IP لعقدة النظير.
[in] peerPort
منفذ عقدة النظير.
[in] requestedAuthMode
الوسائل المرغوبة التي يجب من خلالها المصادقة على النظير. يجب أن يكون هذا أحد أوضاع مصادقة CASE.
[in] reqState
مؤشر لحالة الطالب.
[in] onComplete
مؤشر إلى وظيفة رد الاتصال ، والتي سيتم استدعاؤها بمجرد إنشاء جلسة آمنة مطلوبة.
[in] onError
مؤشر إلى وظيفة رد الاتصال ، والتي سيتم استدعاؤها في حالة فشل إنشاء الجلسة المطلوبة.
[in] authDelegate
مؤشر إلى كائن مفوض مصادقة CASE.
[in] terminatingNodeId
معرّف العقدة لعقدة إنهاء الجلسة. عندما يختلف هذا الإدخال عن kNodeIdNotSpecified الذي يشير إلى أنه تم طلب جلسة آمنة مشتركة.
إرجاع القيم
WEAVE_NO_ERROR
عن النجاح.

StartKeyExport

WEAVE_ERROR StartKeyExport(
  WeaveConnection *con,
  uint64_t peerNodeId,
  const IPAddress & peerAddr,
  uint16_t peerPort,
  uint32_t keyId,
  bool signMessage,
  void *reqState,
  KeyExportCompleteFunct onComplete,
  KeyExportErrorFunct onError,
  WeaveKeyExportDelegate *keyExportDelegate
)

بدء الجلسة

WEAVE_ERROR StartPASESession(
  WeaveConnection *con,
  WeaveAuthMode requestedAuthMode,
  void *reqState,
  SessionEstablishedFunct onComplete,
  SessionErrorFunct onError,
  const uint8_t *pw,
  uint16_t pwLen
)

يتم استدعاء هذا الأسلوب لتأسيس جلسة PASE آمنة.

تفاصيل
المعلمات
[in] con
مؤشر إلى WeaveConnection الكائن.
[in] requestedAuthMode
الوسائل المرغوبة التي يجب من خلالها المصادقة على النظير. يجب أن يكون هذا أحد أوضاع مصادقة PASE.
[in] reqState
مؤشر لحالة الطالب.
[in] onComplete
مؤشر إلى وظيفة رد الاتصال ، والتي سيتم استدعاؤها بمجرد إنشاء جلسة آمنة مطلوبة.
[in] onError
مؤشر إلى وظيفة رد الاتصال ، والتي سيتم استدعاؤها في حالة فشل إنشاء الجلسة المطلوبة.
[in] pw
مؤشر إلى كلمة المرور السرية PASE.
[in] pwLen
طول كلمة المرور السرية PASE.
إرجاع القيم
WEAVE_NO_ERROR
عن النجاح.

ابدأ الجلسة

WEAVE_ERROR StartTAKESession(
  WeaveConnection *con,
  WeaveAuthMode requestedAuthMode,
  void *reqState,
  SessionEstablishedFunct onComplete,
  SessionErrorFunct onError,
  bool encryptAuthPhase,
  bool encryptCommPhase,
  bool timeLimitedIK,
  bool sendChallengerId,
  WeaveTAKEChallengerAuthDelegate *authDelegate
)

يتم استدعاء هذه الطريقة لإنشاء جلسة TAKE آمنة.

تفاصيل
المعلمات
[in] con
مؤشر إلى WeaveConnection الكائن.
[in] requestedAuthMode
الوسائل المرغوبة التي يجب من خلالها المصادقة على النظير. يجب أن يكون هذا أحد أوضاع مصادقة TAKE.
[in] reqState
مؤشر لحالة الطالب.
[in] onComplete
مؤشر إلى وظيفة رد الاتصال ، والتي سيتم استدعاؤها بمجرد إنشاء جلسة آمنة مطلوبة.
[in] onError
مؤشر إلى وظيفة رد الاتصال ، والتي سيتم استدعاؤها في حالة فشل إنشاء الجلسة المطلوبة.
[in] encryptAuthPhase
علامة منطقية تشير إلى ما إذا كان يجب تشفير مرحلة مصادقة البروتوكول.
[in] encryptCommPhase
علامة منطقية تشير إلى ما إذا كان يجب تشفير مرحلة اتصال البروتوكول.
[in] timeLimitedIK
علامة منطقية تشير إلى ما إذا كان مفتاح التعريف (IK) محدودًا بوقت.
[in] sendChallengerId
علامة منطقية تشير إلى ما إذا كان يجب تضمين تعريف المنافس في الرسالة. إذا لم يتم تضمينه ، يتم استخدام قيمة معرف عقدة Weave كمعرف منافس.
[in] authDelegate
مؤشر إلى كائن مفوض مصادقة منافس TAKE.
إرجاع القيم
WEAVE_NO_ERROR
عن النجاح.

WeaveSecurityManager

 WeaveSecurityManager(
  void
)