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

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

Triển khai logic cốt lõi của đối tượng giao thức cấp phép chứng chỉ Weave.

Tóm tắt

Hàm khởi tạo và phá huỷ

WeaveCertProvEngine(void)

Loại công khai

@246{
  kReqType_GetInitialOpDeviceCert = 0,
  kReqType_RotateOpDeviceCert = 1
}
enum
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
Hàm này là lệnh gọi lại ứng dụng được gọi trong các sự kiện API Công cụ cấp phép chứng chỉ.
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

Các thuộc tính công khai

AppState
void *
Con trỏ trỏ đến dữ liệu dành riêng cho ứng dụng.

Hàm công khai

AbortCertificateProvisioning(void)
void
Dừng bất kỳ trao đổi GetCertificate nào đang diễn ra.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
Tạo thông báo GetCertificateRequest.
GetBinding(void) const
Trả về một con trỏ đến đối tượng Binding liên kết với WeaveCertProvEngine.
GetEventCallback(void) const
Trả về một con trỏ đến hàm callback sự kiện API hiện được định cấu hình trên đối tượng WeaveCertProvEngine.
GetMfrAttestDelegate(void) const
Trả về một con trỏ đến đối tượng uỷ quyền chứng thực của nhà sản xuất hiện được định cấu hình trên đối tượng WeaveCertProvEngine.
GetOpAuthDelegate(void) const
Trả về một con trỏ đến đối tượng uỷ quyền xác thực hoạt động hiện được định cấu hình trên đối tượng WeaveCertProvEngine.
GetReqType(void) const
uint8_t
Truy xuất loại yêu cầu hiện tại.
GetState(void) const
Truy xuất trạng thái hiện tại của đối tượng WeaveCertProvEngine.
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
Khởi động đối tượng WeaveCertProvEngine để chuẩn bị gửi thông báo yêu cầu lấy chứng chỉ.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
Xử lý thông báo GetCertificateResponse.
SetBinding(Binding *binding)
void
Đặt đối tượng liên kết trên đối tượng WeaveCertProvEngine.
SetEventCallback(EventCallback eventCallback)
void
Đặt hàm callback sự kiện API trên đối tượng WeaveCertProvEngine.
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
Đặt đối tượng uỷ quyền chứng thực của nhà sản xuất trên đối tượng WeaveCertProvEngine.
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
void
Đặt đối tượng uỷ quyền xác thực hoạt động trên đối tượng WeaveCertProvEngine.
Shutdown(void)
void
Tắt đối tượng WeaveCertProvEngine đã khởi tạo trước đó.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
Bắt đầu Giao thức cấp phép chứng chỉ.

Cấu trúc

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

Các tham số đầu vào cho sự kiện Weave Certificate Cấp API.

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

Xuất các tham số cho sự kiện Weave Certificate licensing API.

Loại công khai

@246

 @246
Thuộc tính
kReqType_GetInitialOpDeviceCert

Loại yêu cầu Nhận chứng chỉ là để lấy chứng chỉ hoạt động ban đầu.

kReqType_RotateOpDeviceCert

Loại yêu cầu Lấy chứng chỉ là để xoay vòng chứng chỉ hoạt động hiện tại.

EventCallback

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

Hàm này là lệnh gọi lại ứng dụng được gọi trong các sự kiện API Công cụ cấp phép chứng chỉ.

Chi tiết
Tham số
[in] appState
Con trỏ trỏ đến thông tin trạng thái do ứng dụng xác định được liên kết với đối tượng công cụ.
[in] eventType
Mã sự kiện bị lệnh gọi lại sự kiện truyền.
[in] inParam
Tham chiếu đến các thông số sự kiện đầu vào được lệnh gọi lại sự kiện truyền.
[in] outParam
Tham chiếu đến các thông số sự kiện đầu ra được lệnh gọi lại sự kiện truyền.

EventType

 EventType
Thuộc tính
kEvent_CommunicationError

Đã xảy ra lỗi liên lạc khi gửi GetCertificateRequest hoặc chờ phản hồi.

kEvent_PrepareAuthorizeInfo

Bạn cần yêu cầu ứng dụng này để chuẩn bị tải trọng cho GetCertificateRequest.

kEvent_ResponseReceived

Đã nhận được thông báo GetCertificateResponse từ ứng dụng ngang hàng.

Tiểu bang

 State
Thuộc tính
kState_Idle

Đối tượng công cụ ở trạng thái rảnh.

kState_NotInitialized

Đối tượng công cụ chưa được khởi chạy.

kState_PreparingBinding

Đối tượng công cụ đang chờ liên kết sẵn sàng.

kState_RequestInProgress

Đã gửi một thông báo GetCertificateRequest và đối tượng công cụ đang chờ phản hồi.

Các thuộc tính công khai

AppState

void * AppState

Con trỏ trỏ đến dữ liệu dành riêng cho ứng dụng.

Hàm công khai

AbortCertificateProvisioning

void AbortCertificateProvisioning(
  void
)

Dừng bất kỳ trao đổi GetCertificate nào đang diễn ra.

GenerateGetCertificateRequest

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

Tạo thông báo GetCertificateRequest.

Phương thức này tạo cấu trúc Weave GetCertificateRequest được mã hoá theo định dạng TLV của Weave.

Khi hình thành thông báo GetCertificateRequest, phương thức này sẽ gửi yêu cầu đến ứng dụng, thông qua các hàm WeaveNodeOpAuthDelegateWeaveNodeMfrAttestDelegate cũng như sự kiện API PrepareAuthorizeInfo để chuẩn bị tải trọng của thông báo.

Chi tiết
Tham số
[in] msgBuf
Con trỏ trỏ đến đối tượng PacketBuffer đang chứa thông báo GetCertificateRequest.
[in] reqType
Nhận loại yêu cầu chứng chỉ.
[in] doMfrAttest
Một cờ boolean cho biết liệu yêu cầu có nên bao gồm dữ liệu chứng thực của nhà sản xuất hay không.
Giá trị trả về
WEAVE_NO_ERROR
Nếu GetCertificateRequest đã được tạo thành công.

GetBinding

Binding * GetBinding(
  void
) const 

Trả về một con trỏ đến đối tượng Binding liên kết với WeaveCertProvEngine.

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Trả về một con trỏ đến hàm callback sự kiện API hiện được định cấu hình trên đối tượng WeaveCertProvEngine.

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

Trả về một con trỏ đến đối tượng uỷ quyền chứng thực của nhà sản xuất hiện được định cấu hình trên đối tượng WeaveCertProvEngine.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

Trả về một con trỏ đến đối tượng uỷ quyền xác thực hoạt động hiện được định cấu hình trên đối tượng WeaveCertProvEngine.

GetReqType

uint8_t GetReqType(
  void
) const 

Truy xuất loại yêu cầu hiện tại.

GetState

State GetState(
  void
) const 

Truy xuất trạng thái hiện tại của đối tượng WeaveCertProvEngine.

Init

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

Khởi động đối tượng WeaveCertProvEngine để chuẩn bị gửi thông báo yêu cầu nhận chứng chỉ.

Chi tiết
Tham số
[in] binding
Đối tượng Binding (Liên kết) được dùng để thiết lập hoạt động giao tiếp với nút ngang hàng.
[in] opAuthDelegate
Con trỏ trỏ đến đối tượng uỷ quyền xác thực hoạt động. Đối tượng này sẽ được dùng để tạo và ký bằng thông tin xác thực hoạt động của nút.
[in] mfrAttestDelegate
Con trỏ trỏ đến đối tượng uỷ quyền chứng thực của nhà sản xuất. Đối tượng này sẽ dùng để tạo và ký yêu cầu bằng thông tin xác thực do nhà sản xuất cấp phép của nút.
[in] eventCallback
Con trỏ trỏ đến một hàm sẽ được đối tượng WeaveCertProvEngine gọi để gửi các sự kiện API đến ứng dụng.
[in] appState
Con trỏ trỏ đến một đối tượng do ứng dụng xác định và sẽ được trả về cho ứng dụng mỗi khi có sự kiện API xảy ra.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

Xử lý thông báo GetCertificateResponse.

Phương thức này xử lý cấu trúc Weave GetCertificateResponse được mã hoá theo định dạng TLV của Weave.

Khi quá trình xử lý thông báo GetCertificateResponse hoàn tất thành công, phương thức này sẽ thực hiện lệnh gọi đến ứng dụng thông qua sự kiện API ResponseReceived để cung cấp kết quả.

Nếu việc xử lý thông báo GetCertificateResponse không thành công, thì phương thức này sẽ thực hiện lệnh gọi đến ứng dụng thông qua sự kiện CommunicationError API để báo cáo lỗi.

Chi tiết
Tham số
[in] msgBuf
Con trỏ trỏ đến đối tượng PacketBuffer đang chứa thông báo GetCertificateResponse.
Giá trị trả về
WEAVE_NO_ERROR
Nếu thông báo GetCertificateResponse được xử lý thành công hay không.

SetBinding

void SetBinding(
  Binding *binding
)

Đặt đối tượng liên kết trên đối tượng WeaveCertProvEngine.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Đặt hàm callback sự kiện API trên đối tượng WeaveCertProvEngine.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

Đặt đối tượng uỷ quyền chứng thực của nhà sản xuất trên đối tượng WeaveCertProvEngine.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

Đặt đối tượng uỷ quyền xác thực hoạt động trên đối tượng WeaveCertProvEngine.

Tắt

void Shutdown(
  void
)

Tắt đối tượng WeaveCertProvEngine đã khởi tạo trước đó.

Lưu ý rằng phương thức này chỉ có thể được gọi nếu phương thức Init() đã được gọi trước đó.

StartCertificateProvisioning

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

Bắt đầu Giao thức cấp phép chứng chỉ.

Phương thức này sẽ bắt đầu quá trình gửi thông báo GetCertificateRequest đến dịch vụ CA. Nếu nhận được một thông báo GetCertificateResponse tương ứng, thì thông báo đó sẽ được gửi đến ứng dụng thông qua sự kiện ResponseReceived API.

Nếu đối tượng Binding không ở trạng thái Sẵn sàng khi phương thức này được gọi, thì một yêu cầu sẽ được gửi đến phương thức Binding::RequestPrepare() để bắt đầu quá trình chuẩn bị theo yêu cầu. Sau đó, thao tác yêu cầu sẽ đợi cho đến khi quá trình này hoàn tất. Mọi lệnh gọi đến StartCertificateProvisioning() khi có một yêu cầu trước đó đang trong quá trình xử lý sẽ bị bỏ qua.

Chi tiết
Tham số
[in] reqType
Nhận loại yêu cầu chứng chỉ.
[in] doMfrAttest
Một cờ boolean cho biết liệu giao thức có nên bao gồm dữ liệu chứng thực của nhà sản xuất hay không.
Giá trị trả về
WEAVE_NO_ERROR
Nếu StartCertificateProvisioning() đã được xử lý thành công.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)