Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

nl::Weave::Profiles::Bảo mật::Chứng chỉ cung cấp::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 chứng chỉ Weave.

Tóm tắt

Hàm dựng và hàm dựng

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

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
Ngừng mọi hoạt động trao đổi GetCertificate đang diễn ra.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
Tạo thông báo GetCertificateRequest.
GetBinding(void) const
Trả về con trỏ đến đối tượng Binding (Liên kết) với WeaveCertProvEngine.
GetEventCallback(void) const
Trả về 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ề 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ề con trỏ đến đối tượng ủy 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 nhận 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 gọi lại 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::CertCấp phép::WeaveCertProvEngine::InEventParam

Thông số đầu vào cho sự kiện API Cung cấp chứng chỉ Weave.

nl::Weave::Profiles::Security::CertCấp phép::WeaveCertProvEngine::OutEventParam

Các thông số đầu ra cho sự kiện API cung cấp chứng chỉ Weave.

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à để có được 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.

Sự kiện gọi lại

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ỉ.

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

Loại sự kiện

 EventType
Thuộc tính
kEvent_CommunicationError

Đã xảy ra lỗi kết nối khi gửi GetCertificateRequest hoặc đang chờ phản hồi.

kEvent_PrepareAuthorizeInfo

Ứng dụng được yêu cầu chuẩn bị trọng tải 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ụ không hoạt động.

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

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

Thuộc tính công khai

Trạng thái ứng dụng

void * AppState

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

Hàm công khai

Cấp phép Phá chứng chỉ

void AbortCertificateProvisioning(
  void
)

Ngừng mọi hoạt động trao đổi GetCertificate đang diễn ra.

Tạo GetCertificateRequest

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 GetCertificateRequest được mã hóa ở định dạng Weave TLV.

Khi tạo thông báo GetCertificateRequest, phương thức này sẽ gửi một yêu cầu đến ứng dụng, thông qua các hàm WeaveNodeOpAuthDelegateWeaveNodeMfrAttestDelegate và sự kiện APIChuẩn cấp thông tin, để chuẩn bị phần tải trọng của thông báo.

Thông tin chi tiết
Các tham số
[in] msgBuf
Con trỏ trỏ đến đối tượng PacketBuffer, giữ thông báo GetCertificateRequest.
[in] reqType
Nhận loại yêu cầu chứng chỉ.
[in] doMfrAttest
Cờ boolean cho biết liệu yêu cầu có 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
Đã tạo thành công GetCertificateRequest.

GetBinding

Binding * GetBinding(
  void
) const 

Trả về con trỏ đến đối tượng Binding (Liên kết) với WeaveCertProvEngine.

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Trả về 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ề 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.

Nhận ủy quyền

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

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

Nhận GetqqType

uint8_t GetReqType(
  void
) const 

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

Nhận trạng thái

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ỉ.

Thông tin chi tiết
Các tham số
[in] binding
Đối tượng Binding 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ỏ trỏ đến một đố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 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 sẽ được dùng để tạo và ký yêu cầu bằng cách sử dụng thông tin đăng nhập do nhà sản xuất nút cung cấp.
[in] eventCallback
Con trỏ 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ỏ trỏ đến một đối tượng do ứng dụng xác định và sẽ được chuyển trở lại ứng dụng mỗi khi một sự kiện API xảy ra.

Phản hồi quy trình lấy chứng chỉ

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ã hóa ở định dạng Weave TLV.

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

Nếu việc xử lý thông báo GetCertificateResponse không thành công, phương thức này sẽ 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ỏ trỏ đến đối tượng PacketBuffer, giữ thông báo GetCertificateResponse.
Giá trị trả về
WEAVE_NO_ERROR
Liệu thông báo GetCertificateResponse có được xử lý thành công hay không.

Liên kết set

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 gọi lại 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 đó.

Cấp phép chứng chỉ bắt đầu

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 bắt đầu quá trình gửi thông báo GetCertificateRequest cho dịch vụ CA. Nếu và khi nhận được thông báo GetCertificateResponse tương ứng, thông báo đó 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ì yêu cầu sẽ được gửi đến phương thức Binding::RequestChuẩn() để bắt đầu chuẩn bị theo yêu cầu. Hoạt động yêu cầu sau đó sẽ chờ cho đến khi quá trình này hoàn tất. Mọi lệnh gọi đến StartCertificateSupplying() trong khi có một yêu cầu trước đó trong quá trình 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 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 StartCertificateSupplying() được xử lý thành công.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)