تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

nl::Weave::الملفات الشخصية::الأمان::CertCert::WeaveCertProvEngine

#include <src/lib/profiles/security/WeaveCertProvisioning.h>

تنفيذ المنطق الأساسي لكائن بروتوكول توفير شهادات مصادقة Weave.

ملخّص

الماكينات والتصاميم

WeaveCertProvEngine(void)

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

@246{
  kReqType_GetInitialOpDeviceCert = 0,
  kReqType_RotateOpDeviceCert = 1
}
تعداد
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
هذه الدالة هي استدعاء التطبيق الذي يتم استدعاؤه على أحداث واجهة برمجة تطبيقات محرك توفير الشهادات.
EventType{
  kEvent_PrepareAuthorizeInfo = 1,
  kEvent_ResponseReceived = 2,
  kEvent_CommunicationError = 3
}
تعداد
State{
  kState_NotInitialized = 0,
  kState_Idle = 1,
  kState_PreparingBinding = 2,
  kState_RequestInProgress = 3
}
تعداد

السمات العلنية

AppState
void *
مؤشر إلى البيانات الخاصة بالتطبيق.

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

AbortCertificateProvisioning(void)
void
إيقاف أي تبادل لـ GetCertificate قيد التقدم.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
أنشئ رسالة GetCertificateRequest.
GetBinding(void) const
عرض مؤشر لكائن الربط المرتبط بـ WeaveCertProvEngine.
GetEventCallback(void) const
عرض مؤشر إلى دالة رد الاتصال من واجهة برمجة التطبيقات التي تم ضبطها حاليًا في العنصر WeaveCertProvEngine.
GetMfrAttestDelegate(void) const
عرض مؤشر إلى كائن تفويض المصادقة على الشركة المصنّعة الذي تم إعداده حاليًا على الكائن WeaveCertProvEngine.
GetOpAuthDelegate(void) const
عرض مؤشر إلى كائن تفويض التشغيل التشغيلي الذي تم إعداده حاليًا على الكائن WeaveCertProvEngine.
GetReqType(void) const
uint8_t
استرداد نوع الطلب الحالي
GetState(void) const
يمكنك استرداد الحالة الحالية للكائن WeaveCertProvEngine.
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
عليك إعداد الكائن WeaveCertProvEngine استعدادًا لإرسال رسالة طلب الحصول على الشهادة.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
معالجة رسالة GetCertificateResponse.
SetBinding(Binding *binding)
void
لضبط العنصر المرتبط على الكائن WeaveCertProvEngine.
SetEventCallback(EventCallback eventCallback)
void
لضبط دالة رد اتصال واجهة برمجة التطبيقات على العنصر WeaveCertProvEngine.
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
تُحدِّد عنصر تفويض المصادقة على الشركة المصنّعة على الكائن WeaveCertProvEngine.
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
void
لضبط عنصر تفويض المصادقة التشغيلية على الكائن WeaveCertProvEngine.
Shutdown(void)
void
يجب إيقاف الكائن WeaveCertProvEngine الذي تم إعداده مسبقًا.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
بدء بروتوكول توفير الشهادات.

البنى

nl::Weave::الملفات الشخصية::الأمان::شهادة اعتماد::WeaveCertProvEngine::InEventParam

معلمات الإدخال إلى حدث واجهة برمجة التطبيقات لإدارة حسابات شهادة Weave لإدارة الحسابات.

nl::Weave::الملفات الشخصية::الأمان::الشهادات::WeaveCertProvEngine::OutEventParam

معلَمات الإخراج إلى حدث واجهة برمجة التطبيقات لإدارة حسابات شهادة Weave لإدارة الحسابات.

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

@246

 @246
أماكن إقامة
kReqType_GetInitialOpDeviceCert

نوع طلب الحصول على الشهادة هو الحصول على شهادة التشغيل الأولية.

kReqType_RotateOpDeviceCert

نوع طلب الحصول على الشهادة هو تدوير الشهادة التشغيلية الحالية.

استدعاء الحدث

void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)

هذه الدالة هي استدعاء التطبيق الذي يتم استدعاؤه على أحداث واجهة برمجة تطبيقات محرك توفير الشهادات.

التفاصيل
المَعلمات
[in] appState
مؤشر إلى معلومات الحالة المحدّدة للتطبيق المرتبطة بكائن المحرك.
[in] eventType
تم تمرير معرّف الحدث من خلال استدعاء الحدث.
[in] inParam
مرجع معلمات أحداث الإدخال التي تم تمريرها بواسطة استدعاء الحدث.
[in] outParam
مرجع معلمات أحداث الإخراج التي تم تمريرها بواسطة استدعاء الحدث.

نوع الحدث

 EventType
أماكن إقامة
kEvent_CommunicationError

حدث خطأ في الاتصال أثناء إرسال GetCertificateRequest أو في انتظار رد.

kEvent_PrepareAuthorizeInfo

ويُطلب من التطبيق تحضير حمولة طلب الحصول على الشهادة.

kEvent_ResponseReceived

تم استلام رسالة GetCertificateResponse من الزملاء.

الولاية

 State
أماكن إقامة
kState_Idle

عنصر المحرك غير نشِط.

kState_NotInitialized

لم يتم إعداد كائن المحرك.

kState_PreparingBinding

كائن المحرك في انتظار أن يصبح الربط جاهزًا.

kState_RequestInProgress

تم إرسال رسالة GetCertificateRequest وأن كائن المحرك في انتظار الرد.

السمات العلنية

حالة التطبيق

void * AppState

مؤشر إلى البيانات الخاصة بالتطبيق.

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

إلغاء الشهادات

void AbortCertificateProvisioning(
  void
)

إيقاف أي تبادل لـ GetCertificate قيد التقدم.

إنشاء طلب شهادة

WEAVE_ERROR GenerateGetCertificateRequest(
  PacketBuffer *msgBuf,
  uint8_t reqType,
  bool doMfrAttest
)

أنشئ رسالة GetCertificateRequest.

تنشئ هذه الطريقة بنية Weave GetCertificateRequest مشفّرة بتنسيق Weave TLV.

عند إنشاء رسالة GetCertificateRequest، ترسل الطريقة طلبًا إلى التطبيق، من خلال وظيفتَي WeaveNodeOpAuthتفويض وWeaveNodeMfrAttestDelegate وحدث SetupAuthorizeInfo API، لإعداد الحمولة من الرسالة.

التفاصيل
المَعلمات
[in] msgBuf
مؤشر إلى الكائن PacketBuffer الذي يحتوي على الرسالة GetCertificateRequest.
[in] reqType
يمكنك الحصول على نوع طلب الشهادة.
[in] doMfrAttest
علامة منطقية تشير إلى ما إذا كان الطلب يجب أن يتضمّن بيانات مصادقة الشركة المصنّعة
قيم الإرجاع
WEAVE_NO_ERROR
في حال تم إنشاء GetCertificateRequest بنجاح.

الحصول على رابط

Binding * GetBinding(
  void
) const 

عرض مؤشر لكائن الربط المرتبط بـ WeaveCertProvEngine.

استدعاء GetEvent

EventCallback GetEventCallback(
  void
) const 

عرض مؤشر إلى دالة رد الاتصال من واجهة برمجة التطبيقات التي تم ضبطها حاليًا في العنصر WeaveCertProvEngine.

الحصول على التفويض

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

عرض مؤشر إلى كائن تفويض المصادقة على الشركة المصنّعة الذي تم إعداده حاليًا على الكائن WeaveCertProvEngine.

الحصول على تفويض

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

عرض مؤشر إلى كائن تفويض التشغيل التشغيلي الذي تم إعداده حاليًا على الكائن WeaveCertProvEngine.

GetReqType

uint8_t GetReqType(
  void
) const 

استرداد نوع الطلب الحالي

الحصول على الحالة

State GetState(
  void
) const 

يمكنك استرداد الحالة الحالية للكائن WeaveCertProvEngine.

Init

WEAVE_ERROR Init(
  Binding *binding,
  WeaveNodeOpAuthDelegate *opAuthDelegate,
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate,
  EventCallback eventCallback,
  void *appState
)

عليك إعداد الكائن WeaveCertProvEngine استعدادًا لإرسال رسالة طلب الحصول على الشهادة.

التفاصيل
المَعلمات
[in] binding
كائن ربط سيتم استخدامه لإنشاء اتصال بعقدة نظير.
[in] opAuthDelegate
مؤشر إلى كائن تفويض تشغيلي سيتم استخدامه لإنشاء توقيع وتوقيعه باستخدام بيانات اعتماد التشغيلية للعقدة.
[in] mfrAttestDelegate
مؤشر إلى تفويض الشركة المصنّعة للمفوّض الذي سيتم استخدامه لإنشاء الطلب وتوقيعه باستخدام بيانات الاعتماد التي قدمتها الشركة المصنّعة للعقدة.
[in] eventCallback
مؤشر إلى دالة سيتم استدعاءها من خلال الكائن WeaveCertProvEngine لتسليم أحداث واجهة برمجة التطبيقات إلى التطبيق.
[in] appState
مؤشر إلى عنصر محدّد للتطبيق سيتم تمريره إلى التطبيق عند وقوع حدث واجهة برمجة تطبيقات.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

معالجة رسالة GetCertificateResponse.

تعالج هذه الطريقة بنية Weave GetCertificateResponse مشفّرة بتنسيق Weave TLV.

عند اكتمال معالجة رسالة GetCertificateResponse بنجاح، تجري الطريقة طلبًا إلى التطبيق، من خلال حدث واجهة برمجة التطبيقات ResponseReceived API، لعرض النتيجة.

إذا تعذّرت معالجة رسالة GetCertificateResponse، تجري الطريقة طلبًا إلى التطبيق، من خلال حدث ConnectionError API، للإبلاغ عن الخطأ.

التفاصيل
المَعلمات
[in] msgBuf
إشارة إلى كائن PacketBuffer الذي يحتوي على رسالة GetCertificateResponse.
قيم الإرجاع
WEAVE_NO_ERROR
إذا تمت معالجة رسالة GetCertificateResponse بنجاح.

تجميع العنصر

void SetBinding(
  Binding *binding
)

لضبط العنصر المرتبط على الكائن WeaveCertProvEngine.

SetCallCallback

void SetEventCallback(
  EventCallback eventCallback
)

لضبط دالة رد اتصال واجهة برمجة التطبيقات على العنصر WeaveCertProvEngine.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

تُحدِّد عنصر تفويض المصادقة على الشركة المصنّعة على الكائن WeaveCertProvEngine.

SetOpAuthتفويض

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

لضبط عنصر تفويض المصادقة التشغيلية على الكائن WeaveCertProvEngine.

إيقاف التشغيل

void Shutdown(
  void
)

يجب إيقاف الكائن WeaveCertProvEngine الذي تم إعداده مسبقًا.

يُرجى العِلم أنه لا يمكن استدعاء هذه الطريقة إلا إذا تم استدعاء طريقة Init() في السابق.

بدء توفير الشهادات

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

بدء بروتوكول توفير الشهادات.

تبدأ هذه الطريقة عملية إرسال رسالة GetCertificateRequest إلى خدمة CA. وفي حال استلام رسالة GetCertificateResponse المقابلة ووقت تسليمها، سيتم تسليمها إلى التطبيق من خلال حدث واجهة برمجة التطبيقات ResponseReceived API.

وفي حال لم يكن كائن الربط بالحالة "جاهز" عند استدعاء هذه الطريقة، سيتم إرسال طلب إلى طريقة تغليف::RequestSetup() لبدء التحضير عند الطلب. وستكون عملية الطلب في انتظارك حتى اكتمال هذه العملية. وسيتم تجاهل أي طلب إلى StartCertificatetssg() أثناء وجود طلب سابق قيد المعالجة.

التفاصيل
المَعلمات
[in] reqType
يمكنك الحصول على نوع طلب الشهادة.
[in] doMfrAttest
علامة منطقية تشير إلى ما إذا كان يجب أن يتضمن البروتوكول بيانات مصادقة الشركة المصنّعة أم لا
قيم الإرجاع
WEAVE_NO_ERROR
إذا تمت معالجة StartCertificatetssg() بنجاح.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)