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 cung cấp chứng chỉ Weave.

Tóm tắt

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

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(*
Chức năng này là lệnh gọi lại ứng dụng được gọi trên các sự kiện API của 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

Thuộc tính công khai

AppState
void *
Con trỏ tới 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 GetChứng nhận nào đang diễn ra.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
Tạo thông báo Get CertificateRequest.
GetBinding(void) const
Trả về một con trỏ đến đối tượng Binding được 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 nhận yêu cầu chứng chỉ.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
Xử lý thông báo Get CertificateResponse.
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)
Khởi động Giao thức cấp phép chứng chỉ.

Cấu trúc

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

Tham số đầu vào cho sự kiện API cấp phép chứng chỉ Weave.

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

Thông số đầu ra thành sự kiện API Cấp phép chứng chỉ Weave.

Loại công khai

@246

 @246
Thuộc tính
kReqType_GetInitialOpDeviceCert

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

kReqType_RotateOpDeviceCert

Loại yêu cầu Nhận 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)

Chức năng này là lệnh gọi lại ứng dụng được gọi trên các sự kiện API của Công cụ cấp phép chứng chỉ.

Thông tin chi tiết
Các tham số
[in] appState
Con 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 được lệnh gọi lại sự kiện chuyển qua.
[in] inParam
Mã tham chiếu các thông số sự kiện đầu vào được lệnh gọi lại sự kiện chuyển đến.
[in] outParam
Mã tham chiếu các thông số sự kiện đầu ra được lệnh gọi lại sự kiện chuyển đến.

EventType

 EventType
Thuộc tính
kEvent_CommunicationError

Đã xảy ra lỗi giao tiếp khi gửi GetcertificationRequest hoặc chờ phản hồi.

kEvent_PrepareAuthorizeInfo

Ứng dụng này được yêu cầu để chuẩn bị tải trọng cho GetcertificationRequest.

kEvent_ResponseReceived

Ứng dụng ngang hàng đã nhận được một thông báo Get CertificateResponse.

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 tạo.

kState_PreparingBinding

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

kState_RequestInProgress

Thông báo Get CertificateRequest đã được gửi và đối tượng công cụ đang chờ phản hồi.

Thuộc tính công khai

AppState

void * AppState

Con trỏ tới 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 GetChứng nhận nào đang diễn ra.

GenerateGetCertificateRequest

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

Tạo thông báo Get CertificateRequest.

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

Khi tạo 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 và sự kiện API PrepareAuthorizedInfo, để chuẩn bị tải trọng của thông báo.

Thông tin chi tiết
Các tham số
[in] msgBuf
Con trỏ đến đối tượng PacketBuffer đang chứa thông báo GetcertificationRequest.
[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 GetcertificationRequest được tạo thành công.

GetBinding

Binding * GetBinding(
  void
) const 

Trả về một con trỏ đến đối tượng Binding được 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.

Bắt đầu

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 nhận yêu cầu chứng chỉ.

Thông tin chi tiết
Các tham số
[in] binding
Đối tượng Binding (Liên kết) sẽ được dùng để thiết lập hoạt động giao tiếp với nút ngang hàng.
[in] opAuthDelegate
Con trỏ đến đối tượng uỷ quyền xác thực hoạt động 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ỏ tới đối tượng uỷ quyền chứng thực của nhà sản xuất sẽ được dùng để xây dựng và ký yêu cầu bằng thông tin xác thực được nhà sản xuất cấp phép của nút.
[in] eventCallback
Con trỏ đến một hàm sẽ được đối tượng WeaveCertProvEngine gọi để phân phối các sự kiện API đến ứng dụng.
[in] appState
Con trỏ đến một đối tượng do ứng dụng xác định 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 Get CertificateResponse.

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

Khi quá trình xử lý thông báo Get CertificateResponse 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 ResponseReceived API để cung cấp kết quả.

Nếu không xử lý được thông báo Get CertificateResponse, 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 CommunicationError để báo cáo lỗi.

Thông tin chi tiết
Các tham số
[in] msgBuf
Con trỏ đến đối tượng PacketBuffer đang chứa thông báo Get CertificateResponse.
Giá trị trả về
WEAVE_NO_ERROR
Nếu thông báo Get CertificateResponse được xử lý thành cô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 bạn chỉ có thể gọi phương thức này nếu phương thức Init() đã được gọi trước đó.

StartCertificateProvisioning

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

Khởi động Giao thức cấp phép chứng chỉ.

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

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ì hệ thống sẽ gửi yêu cầu đến phương thức Binding::Request Prepare() để bắt đầu quá trình chuẩn bị theo yêu cầu. Sau đó, thao tác yêu cầu sẽ chờ cho đến khi quá trình này hoàn tất. Mọi lệnh gọi đến StartCertificateProvisioning() trong khi có một yêu cầu trước đó đang được xử lý đều sẽ bị bỏ qua.

Thông tin chi tiết
Các tham số
[in] reqType
Nhận loại yêu cầu chứng chỉ.
[in] doMfrAttest
Cờ boolean cho biết giao thức có cầ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
Trường hợp StartCertificateProvisioning() được xử lý thành công.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)