nl::Weave::Profiles::Security::CertProvisioning::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
يعرض مؤشرًا إلى الكائن Binding المرتبط بـ 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::Profiles::Security::CertProvisioning::WeaveCertProvEngine::InEventParam

أدخِل المَعلمات في حدث Weave Certificate Provisioning API.

nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine::OutEventParam

إخراج المَعلمات إلى حدث Weave Certificate Provisioning API

الأنواع المتاحة للجميع

‎@246

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

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

kReqType_RotateOpDeviceCert

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

EventCallback

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

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

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

EventType

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

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

kEvent_PrepareAuthorizeInfo

ويُطلب من التطبيق تحضير حمولة البيانات الخاصة بـ GetCertificateRequest.

kEvent_ResponseReceived

تم تلقّي رسالة GetCertificateResponse (الحصول على الشهادة) من التطبيق المشابه.

الحالة

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

عنصر المحرّك في وضع الخمول.

kState_NotInitialized

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

kState_PreparingBinding

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

kState_RequestInProgress

تم إرسال رسالة GetCertificateRequest وعنصر المحرّك في انتظار تلقّي ردّ.

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

AppState

void * AppState

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

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

AbortCertificateProvisioning

void AbortCertificateProvisioning(
  void
)

يوقف أي عملية تبادل GetCertificate قيد التقدّم.

GenerateGetCertificateRequest

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

أنشئ رسالة GetCertificateRequest.

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

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

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

GetBinding

Binding * GetBinding(
  void
) const 

يعرض مؤشرًا إلى الكائن Binding المرتبط بـ WeaveCertProvEngine.

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

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

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

تعرِض هذه السمة مؤشرًا إلى عنصر المفوَّض لشهادة المورّد الذي تم ضبطه حاليًا في عنصر WeaveCertProvEngine.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

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

GetReqType

uint8_t GetReqType(
  void
) const 

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

GetState

State GetState(
  void
) const 

استرداد الحالة الحالية للعنصر WeaveCertProvEngine

Init

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

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

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

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

رسالة GetCertificateResponse الخاصة بالعملية.

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

عند اكتمال معالجة رسالة GetCertificateResponse بنجاح، تُجري الطريقة استدعاءً للتطبيق، عبر حدث ResponseReceived API، لعرض النتيجة.

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

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

SetBinding

void SetBinding(
  Binding *binding
)

تُستخدَم لضبط عنصر الربط على عنصر WeaveCertProvEngine.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

تضبط دالة استدعاء حدث واجهة برمجة التطبيقات في الكائن WeaveCertProvEngine.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

تُستخدَم لضبط عنصر التفويض الخاص بشهادة المُصنّع على عنصر WeaveCertProvEngine.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

تُستخدَم لضبط عنصر المفوّض للمصادقة التشغيلية في عنصر WeaveCertProvEngine.

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

void Shutdown(
  void
)

أوقِف عنصر WeaveCertProvEngine الذي تم إعداده مسبقًا.

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

StartCertificateProvisioning

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

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

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

إذا لم يكن عنصر Binding في الحالة "جاهز" عند استدعاء هذه الطريقة، سيتم تقديم طلب إلى طريقة Binding::RequestPrepare()‎ لبدء الإعداد عند الطلب. ستنتظر عملية الطلب بعد ذلك إلى أن تكتمل هذه العملية. سيتم تجاهل أيّ طلب StartCertificateProvisioning()‎ أثناء وجود طلب سابق قيد المعالجة.

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

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)