ไม่มี:: สาน:: โปรไฟล์:: ความปลอดภัย:: การจัดสรรใบรับรอง:: WeaveCertProvEngine

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

ใช้ตรรกะหลักของอ็อบเจ็กต์โปรโตคอลการจัดเตรียมใบรับรองการทอ

สรุป

ตัวสร้างและตัวทำลาย

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
กลับชี้ไปที่ การผูก วัตถุที่เกี่ยวข้องกับ 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
ชุดวัตถุผลผูกพันกับ 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 :: สาน :: โปรไฟล์ :: การรักษาความปลอดภัย :: CertProvisioning :: WeaveCertProvEngine :: InEventParam

ป้อนพารามิเตอร์ไปยังเหตุการณ์ API การจัดเตรียมใบรับรองสาน

NL :: สาน :: โปรไฟล์ :: การรักษาความปลอดภัย :: CertProvisioning :: WeaveCertProvEngine :: OutEventParam

พารามิเตอร์เอาต์พุตไปยังเหตุการณ์ API การจัดเตรียมใบรับรอง Weave

ประเภทสาธารณะ

@246

 @246
คุณสมบัติ
kReqType_GetInitialOpDeviceCert

ประเภทคำขอรับใบรับรองคือการขอรับใบรับรองการปฏิบัติงานเบื้องต้น

kReqType_RotateOpDeviceCert

ประเภทคำขอรับใบรับรองคือการหมุนเวียนใบรับรองการปฏิบัติงานปัจจุบัน

EventCallback

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

ฟังก์ชันนี้เป็นการเรียกกลับของแอปพลิเคชันที่เรียกใช้ในเหตุการณ์ API ของ Certificate Provisioning Engine

รายละเอียด
พารามิเตอร์
[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

วิธีการนี้สร้างโครงสร้างสาน GetCertificateRequest เข้ารหัสในสาน TLV รูปแบบ

เมื่อขึ้นรูปข้อความ GetCertificateRequest วิธีการที่ทำให้การร้องขอไปยังโปรแกรมประยุกต์ที่ผ่าน WeaveNodeOpAuthDelegate และ WeaveNodeMfrAttestDelegate ฟังก์ชั่นและเหตุการณ์ PrepareAuthorizeInfo API เพื่อเตรียมความพร้อมน้ำหนักบรรทุกของข้อความ

รายละเอียด
พารามิเตอร์
[in] msgBuf
ตัวชี้ไปยังอ็อบเจ็กต์ PacketBuffer ที่ถือข้อความ GetCertificateRequest
[in] reqType
รับประเภทคำขอใบรับรอง
[in] doMfrAttest
ค่าสถานะบูลีนที่ระบุว่าคำขอควรมีข้อมูลการรับรองจากผู้ผลิตหรือไม่
ส่งกลับค่า
WEAVE_NO_ERROR
หากสร้าง GetCertificateRequest สำเร็จ

รับผูก

Binding * GetBinding(
  void
) const 

กลับชี้ไปที่ การผูก วัตถุที่เกี่ยวข้องกับ WeaveCertProvEngine

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

ส่งกลับชี้ไปยัง API ฟังก์ชั่นการเรียกกลับเหตุการณ์กำหนดค่าในปัจจุบันใน 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 วัตถุ

ในนั้น

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

เริ่มต้น WeaveCertProvEngine วัตถุในการเตรียมการสำหรับการส่งได้รับข้อความร้องขอใบรับรอง

รายละเอียด
พารามิเตอร์
[in] binding
ผูก วัตถุที่จะนำมาใช้เพื่อสร้างการสื่อสารกับโหนดเพียร์
[in] opAuthDelegate
ตัวชี้ไปยังออบเจ็กต์ผู้รับมอบสิทธิ์ในการปฏิบัติงานที่จะใช้ในการสร้างและเซ็นชื่อโดยใช้ข้อมูลประจำตัวในการทำงานของโหนด
[in] mfrAttestDelegate
ตัวชี้ไปยังอ็อบเจ็กต์ผู้รับมอบสิทธิ์การรับรองผู้ผลิตที่จะใช้ในการสร้างและลงนามคำขอโดยใช้ข้อมูลประจำตัวที่จัดเตรียมโดยผู้ผลิตของโหนด
[in] eventCallback
ตัวชี้ไปยังฟังก์ชั่นที่จะถูกเรียกโดย WeaveCertProvEngine วัตถุส่งกิจกรรม API เพื่อการประยุกต์ใช้
[in] appState
ตัวชี้ไปยังออบเจ็กต์ที่กำหนดโดยแอปพลิเคชันซึ่งจะถูกส่งกลับไปยังแอปพลิเคชันทุกครั้งที่มีเหตุการณ์ API เกิดขึ้น

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

ประมวลผลข้อความ GetCertificateResponse

กระบวนการวิธีการโครงสร้างสาน GetCertificateResponse นี้เข้ารหัสในสาน 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
)

ชุดวัตถุผู้รับมอบสิทธิ์ผู้ผลิตรับรองบน 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

ถ้า ผูก วัตถุไม่ได้อยู่ในสถานะพร้อมเมื่อวิธีการนี้เรียกว่าการร้องขอจะทำเพื่อ ผูก :: RequestPrepare () วิธีการที่จะเริ่มต้นการเตรียมความพร้อมตามความต้องการ การดำเนินการขอจะรอจนกว่ากระบวนการนี้จะเสร็จสมบูรณ์ โทรไป StartCertificateProvisioning () ในขณะที่มีการร้องขอก่อนหน้านี้ในกระบวนการจะถูกละเว้น

รายละเอียด
พารามิเตอร์
[in] reqType
รับประเภทคำขอใบรับรอง
[in] doMfrAttest
แฟล็กบูลีนที่ระบุว่าโปรโตคอลควรมีข้อมูลการรับรองจากผู้ผลิตหรือไม่
ส่งกลับค่า
WEAVE_NO_ERROR
หาก StartCertificateProvisioning () ได้รับการดำเนินการเรียบร้อยแล้ว

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)