nl:: بافت:: پروفایل ها:: امنیت:: CertProvisioning:: WeaveCertProvEngine

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

منطق اصلی شیء پروتکل Weave Certificate Provisioning را پیاده سازی می کند.

خلاصه

سازندگان و ویرانگرها

WeaveCertProvEngine (void)

انواع عمومی

@246 {
kReqType_GetInitialOpDeviceCert = 0,
kReqType_RotateOpDeviceCert = 1
}
enum
EventCallback )(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
این تابع، فراخوانی برنامه است که در رویدادهای API موتور تامین گواهی فراخوانی می شود.
EventType {
kEvent_PrepareAuthorizeInfo = 1,
kEvent_ResponseReceived = 2,
kEvent_CommunicationError = 3
}
enum
State {
kState_NotInitialized = 0,
kState_Idle = 1,
kState_PreparingBinding = 2,
kState_RequestInProgress = 3
}
enum

صفات عمومی

AppState
void *
اشاره گر به داده های خاص برنامه.

توابع عمومی

AbortCertificateProvisioning (void)
void
هرگونه تبادل GetCertificate در حال انجام را متوقف می کند.
GenerateGetCertificateRequest ( PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
پیام GetCertificateRequest را ایجاد کنید.
GetBinding (void) const
یک اشاره گر به شی Binding مرتبط با WeaveCertProvEngine برمی گرداند.
GetEventCallback (void) const
یک اشاره گر را به تابع تماس رویداد API که در حال حاضر روی شی 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
شی binding را روی شی WeaveCertProvEngine تنظیم می کند.
SetEventCallback ( EventCallback eventCallback)
void
تابع تماس رویداد API را روی شی WeaveCertProvEngine تنظیم می کند.
SetMfrAttestDelegate ( WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
شئ نماینده گواهی سازنده را روی شی WeaveCertProvEngine تنظیم می کند.
SetOpAuthDelegate ( WeaveNodeOpAuthDelegate *opAuthDelegate)
void
شیء نمایندگی احراز هویت عملیاتی را روی شی WeaveCertProvEngine تنظیم می کند.
Shutdown (void)
void
یک شی WeaveCertProvEngine که قبلاً مقداردهی اولیه شده بود را خاموش کنید.
StartCertificateProvisioning (uint8_t reqType, bool doMfrAttest)
پروتکل تهیه گواهی را شروع کنید.

سازه ها

nl:: Weave:: پروفایل ها:: امنیت:: CertProvisioning:: WeaveCertProvine:: InEventParam

پارامترهای ورودی به رویداد API Weave Certificate Provisioning.

nl:: Weave:: پروفایل ها:: امنیت:: CertProvisioning:: WeaveCertProvine:: OutEventParam

پارامترهای خروجی به رویداد API تهیه گواهی Weave.

انواع عمومی

@246

 @246
خواص
kReqType_GetInitialOpDeviceCert

نوع درخواست دریافت گواهی برای دریافت گواهینامه عملیاتی اولیه است.

kReqType_RotateOpDeviceCert

نوع درخواست دریافت گواهی برای چرخاندن گواهینامه عملیاتی فعلی است.

رویداد Callback

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

این تابع، فراخوانی برنامه است که در رویدادهای API موتور تامین گواهی فراخوانی می شود.

جزئیات
پارامترها
[in] appState
یک اشاره گر به اطلاعات وضعیت تعریف شده توسط برنامه مرتبط با شی موتور.
[in] eventType
شناسه رویداد توسط پاسخ تماس رویداد ارسال شد.
[in] inParam
ارجاع پارامترهای رویداد ورودی که توسط پاسخ تماس رویداد ارسال شده است.
[in] outParam
مرجع پارامترهای رویداد خروجی که توسط پاسخ تماس رویداد ارسال شده است.

نوع رویداد

 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 را با فرمت Weave TLV کدگذاری می کند.

هنگام تشکیل پیام 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 

یک اشاره گر را به تابع تماس رویداد API که در حال حاضر روی شی WeaveCertProvEngine پیکربندی شده است، برمی گرداند.

GetMfrAttest Delegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

یک اشاره گر را به شیء نمایندگی تایید سازنده که در حال حاضر بر روی شی WeaveCertProvEngine پیکربندی شده است، برمی گرداند.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

یک اشاره گر را به شیء نمایندگی احراز هویت عملیاتی که در حال حاضر روی شی WeaveCertProvEngine پیکربندی شده است، برمی گرداند.

GetReqType

uint8_t GetReqType(
  void
) const 

نوع درخواست فعلی را بازیابی کنید.

GetState

State GetState(
  void
) const 

وضعیت فعلی شی WeaveCertProvEngine را بازیابی کنید.

شروع کنید

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

یک شی WeaveCertProvEngine را در آماده سازی برای ارسال پیام درخواست گواهی دریافت کنید.

جزئیات
پارامترها
[in] binding
یک شی Binding که برای برقراری ارتباط با گره همتا استفاده می شود.
[in] opAuthDelegate
یک اشاره گر به یک شی اعطای احراز هویت عملیاتی که برای ساخت و امضا با استفاده از اعتبار عملیاتی گره استفاده می شود.
[in] mfrAttestDelegate
یک اشاره گر به یک شی اعطای گواهی سازنده که برای ساخت و امضای درخواست با استفاده از اعتبارنامه های ارائه شده توسط سازنده گره استفاده می شود.
[in] eventCallback
اشاره گر به تابعی که توسط شی WeaveCertProvEngine فراخوانی می شود تا رویدادهای API را به برنامه تحویل دهد.
[in] appState
یک اشاره گر به یک شی تعریف شده توسط برنامه که هر زمان که یک رویداد API رخ دهد به برنامه بازگردانده می شود.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

پیام GetCertificateResponse را پردازش کنید.

این روش ساختار Weave GetCertificateResponse را که در قالب Weave TLV کدگذاری شده است پردازش می کند.

هنگامی که پردازش پیام GetCertificateResponse با موفقیت کامل شد، روش از طریق رویداد ResponseReceived API با برنامه تماس می گیرد تا نتیجه را ارائه دهد.

اگر پردازش پیام GetCertificateResponse با شکست مواجه شود، این روش از طریق رویداد CommunicationError API با برنامه تماس می گیرد تا خطا را گزارش کند.

جزئیات
پارامترها
[in] msgBuf
یک اشاره گر به شی PacketBuffer که پیام GetCertificateResponse را نگه می دارد.
ارزش های بازگشتی
WEAVE_NO_ERROR
اگر پیام GetCertificateResponse با موفقیت پردازش شد.

SetBinding

void SetBinding(
  Binding *binding
)

شی binding را روی شی WeaveCertProvEngine تنظیم می کند.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

تابع تماس رویداد API را روی شی 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 به سرویس CA را آغاز می کند. اگر پیام GetCertificateResponse مربوطه دریافت شود، از طریق رویداد ResponseReceived API به برنامه تحویل داده می شود.

اگر شی Binding هنگام فراخوانی این متد در حالت Ready نباشد، درخواستی به متد Binding::RequestPrepare () برای شروع آماده سازی بر اساس تقاضا ارسال می شود. سپس عملیات درخواست منتظر می ماند تا این فرآیند کامل شود. هر گونه فراخوانی به StartCertificateProvisioning() در حالی که درخواست قبلی در حال انجام است نادیده گرفته می شود.

جزئیات
پارامترها
[in] reqType
دریافت نوع درخواست گواهی
[in] doMfrAttest
یک پرچم بولین که نشان می دهد آیا پروتکل باید شامل داده های گواهی سازنده باشد یا خیر.
ارزش های بازگشتی
WEAVE_NO_ERROR
اگر StartCertificateProvisioning() با موفقیت پردازش شد.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)