จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

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) ประเภทการพิมพ์
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
ตั้งค่าออบเจ็กต์การเชื่อมโยงในออบเจ็กต์ 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::โปรไฟล์::ความปลอดภัย:การรับรองการจัดสรร:WeaveCertProvEngine::InEventParam

ป้อนพารามิเตอร์ให้กับเหตุการณ์ Weave Certificate Provisioning API

nl::Weave::โปรไฟล์::ความปลอดภัย:การรับรองการจัดสรร:WeaveCertProvEngine::OutEventParam

พารามิเตอร์เอาต์พุตไปที่เหตุการณ์ Weave Certificate Provisioning API

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

@246

 @246
พร็อพเพอร์ตี้
kReqType_GetInitialOpDeviceCert

ประเภทคําขอ "รับใบรับรอง" คือการขอรับใบรับรองการดําเนินการเริ่มต้น

kReqType_RotateOpDeviceCert

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

โค้ดเรียกกลับของเหตุการณ์

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 แล้ว และออบเจ็กต์เครื่องมือกําลังรอการตอบกลับ

แอตทริบิวต์สาธารณะ

สถานะแอป

void * AppState

ชี้ไปที่ข้อมูลเฉพาะแอปพลิเคชัน

ฟังก์ชันสาธารณะ

การจัดสรรใบรับรองการทําแท้ง

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 เรียบร้อยแล้ว

รับการเชื่อมโยง

Binding * GetBinding(
  void
) const 

แสดงผลตัวชี้ไปยังออบเจ็กต์ Binding ที่เชื่อมโยงกับ WeaveCertProvEngine

การเรียกกลับเหตุการณ์ Get

EventCallback GetEventCallback(
  void
) const 

แสดงผลตัวชี้ไปยังฟังก์ชันเรียกกลับเหตุการณ์ API ที่กําหนดค่าไว้ในออบเจ็กต์ WeaveCertProvEngine ในขณะนี้

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

แสดงผลตัวชี้ไปยังออบเจ็กต์การมอบสิทธิ์เอกสารรับรองของผู้ผลิตที่กําหนดค่าไว้บนออบเจ็กต์ WeaveCertProvEngine ในขณะนี้

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

แสดงผลตัวชี้ไปยังออบเจ็กต์การมอบสิทธิ์การตรวจสอบสิทธิ์การดําเนินการที่กําหนดค่าในออบเจ็กต์ WeaveCertProvEngine ในขณะนี้

ประเภท GetReq

uint8_t GetReqType(
  void
) const 

เรียกดูประเภทคําขอปัจจุบัน

รับสถานะ

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 เกิดขึ้น

การตอบกลับใบรับรองกระบวนการ

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

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

วิธีนี้ประมวลผลโครงสร้าง WeCertificate ของ Weave ที่เข้ารหัสในรูปแบบ Weave TLV

เมื่อประมวลผลข้อความ GetCertificateResponse เสร็จเรียบร้อยแล้ว เมธอดจะทําการเรียกแอปพลิเคชันผ่านเหตุการณ์ ResponseReceived API เพื่อส่งผลลัพธ์

หากประมวลผลข้อความ GetCertificateResponse ไม่สําเร็จ เมธอดนี้จะเรียกใช้แอปพลิเคชันผ่านเหตุการณ์ CommunicationError API เพื่อรายงานข้อผิดพลาด

รายละเอียด
พารามิเตอร์
[in] msgBuf
ตัวชี้ไปยังออบเจ็กต์ PacketBuffer ซึ่งเก็บรักษาข้อความ GetCertificateResponse
มูลค่าการคืนสินค้า
WEAVE_NO_ERROR
ประมวลผลข้อความ GetCertificateResponse สําเร็จหรือไม่

การเชื่อมโยงการเชื่อมโยง

void SetBinding(
  Binding *binding
)

ตั้งค่าออบเจ็กต์การเชื่อมโยงในออบเจ็กต์ WeaveCertProvEngine

ตั้งค่าการเรียกกลับเหตุการณ์

void SetEventCallback(
  EventCallback eventCallback
)

ตั้งค่าฟังก์ชันเรียกกลับเหตุการณ์ของ API บนออบเจ็กต์ WeaveCertProvEngine

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

ตั้งค่าออบเจ็กต์การมอบสิทธิ์ของผู้ผลิตที่รับรองไว้ในออบเจ็กต์ WeaveCertProvEngine

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

ตั้งค่าออบเจ็กต์การมอบสิทธิ์การตรวจสอบสิทธิ์การดําเนินการในออบเจ็กต์ WeaveCertProvEngine

ปิดการทำงาน

void Shutdown(
  void
)

ปิดออบเจ็กต์ WeaveCertProvEngine ที่เริ่มต้นไว้ก่อนหน้านี้

โปรดทราบว่าจะมีการเรียกเมธอดนี้หากมีการเรียกเมธอด Init() ก่อนหน้านี้เท่านั้น

เริ่มต้นใบรับรอง

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

เริ่มโปรโตคอลการจัดสรรใบรับรอง

การดําเนินการนี้จะเริ่มต้นกระบวนการส่งข้อความ GetCertificateRequest ไปยังบริการ CA หากได้รับข้อความ GetCertificateResponse ที่เกี่ยวข้องแล้ว ระบบจะส่งข้อความนั้นไปยังแอปพลิเคชันผ่านเหตุการณ์ ResponseReceived API

หากออบเจ็กต์ Binding ไม่อยู่ในสถานะพร้อมเมื่อมีการเรียกใช้เมธอดนี้ ระบบจะส่งคําขอไปยังเมธอด Binding::RequestReady() เพื่อเริ่มการเตรียมแบบออนดีมานด์ จากนั้นคําขอจะรอจนกว่าขั้นตอนนี้เสร็จสมบูรณ์ ระบบจะไม่สนใจการเรียกใช้ StartCertificateProvisioning() ขณะที่มีคําขอก่อนหน้านี้ที่ดําเนินการอยู่

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

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)