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

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

מיישם את הלוגיקה העיקרית של אובייקט פרוטוקול הקצאת אישורי Weave.

סיכום

בנייה

WeaveCertProvEngine(void)

סוגים ציבוריים

@246{
  kReqType_GetInitialOpDeviceCert = 0,
  kReqType_RotateOpDeviceCert = 1
}
טיפוסים בני מנייה (enum)
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
הפונקציה הזו היא הקריאה החוזרת של האפליקציה שמופעלת באירועי Certificate Certification Engine 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
מחזירה מצביע לאובייקט בעל הגישה לאימות (attestation) של היצרן שמוגדר כרגע באובייקט 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
מגדירה את פונקציית הקריאה החוזרת של אירוע ה-API באובייקט WeaveCertProvEngine.
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
מגדיר את אובייקט בעל הגישה לאימות (attestation) של היצרן באובייקט 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 credentials API.

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

פרמטרים של פלט לאירוע Weave Certificate credentials API.

סוגים ציבוריים

246@

 @246
מאפיינים
kReqType_GetInitialOpDeviceCert

סוג הבקשה 'קבלת אישור' הוא השגת אישור תפעולי ראשוני.

kReqType_RotateOpDeviceCert

סוג הבקשה 'קבלת אישור' הוא לבצע רוטציה של אישור התפעול הנוכחי.

EventCallback

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

הפונקציה הזו היא הקריאה החוזרת של האפליקציה שמופעלת באירועי Certificate Certification Engine API.

פרטים
פרמטרים
[in] appState
מצביע אל פרטי מצב בהגדרת האפליקציה שמשויכים לאובייקט המנוע.
[in] eventType
מזהה האירוע שהועבר על ידי הקריאה החוזרת של האירוע.
[in] inParam
הפניה לפרמטרים של קלט מסוג אירוע שמועברים על-ידי הקריאה החוזרת של האירוע (callback).
[in] outParam
הפניה לפרמטרים של אירוע פלט שהועברו על ידי הקריאה החוזרת של האירוע (callback).

EventType

 EventType
מאפיינים
kEvent_CommunicationError

אירעה שגיאת תקשורת במהלך שליחת GetCertificateRequest או המתנה לתגובה.

kEvent_PrepareAuthorizeInfo

האפליקציה מבקשת להכין את המטען הייעודי (payload) בשביל 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, ה-method שולחת בקשה לאפליקציה באמצעות הפונקציות WeaveNodeOpAuthDelegate ו-WeaveNodeMfrAttestDelegate והאירוע PrepareAuthorizeInfo API, כדי להכין את המטען הייעודי (payload) של ההודעה.

פרטים
פרמטרים
[in] msgBuf
מצביע אל האובייקט PacketBuffer שמחזיק את ההודעה GetCertificateRequest.
[in] reqType
קבלת סוג של בקשה לאישור.
[in] doMfrAttest
דגל בוליאני שמציין אם הבקשה צריכה לכלול נתוני אימות (attestation) של היצרן.
מוחזר ערכים
WEAVE_NO_ERROR
אם GetCertificateRequest נוצרה בהצלחה.

GetBinding

Binding * GetBinding(
  void
) const 

מחזירה מצביע לאובייקט Binding המשויך ל-WeaveCertProvEngine.

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

מחזירה מצביע לפונקציית הקריאה החוזרת של אירוע ה-API שמוגדרת כרגע באובייקט WeaveCertProvEngine.

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

מחזירה מצביע לאובייקט בעל הגישה לאימות (attestation) של היצרן שמוגדר כרגע באובייקט 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
מצביע לאובייקט הענקת גישה לאימות (attestation) של יצרן, שישמש ליצירה ולחתימה של בקשה באמצעות פרטי הכניסה שהוקצו על ידי היצרן של הצומת.
[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
)

מגדיר את אובייקט הקישור באובייקט WeaveCertProvEngine.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

מגדירה את פונקציית הקריאה החוזרת של אירוע ה-API באובייקט WeaveCertProvEngine.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

מגדיר את אובייקט בעל הגישה לאימות (attestation) של היצרן באובייקט 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
דגל בוליאני שמציין אם הפרוטוקול צריך לכלול את נתוני האימות (attestation) של היצרן.
מוחזר ערכים
WEAVE_NO_ERROR
אם הפונקציה StartCertificateProvisioning() עובדה בהצלחה.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)