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.

nl :: Dệt :: Hồ sơ :: Bảo vệ:: CertProvisrating :: 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 lược

Người xây dựng và Người phá hủy

WeaveCertProvEngine (void)

Các 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 của ứ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 *
Một con trỏ đến dữ liệu dành riêng cho ứng dụng.

Chức năng công cộng

AbortCertificateProvisioning (void)
void
Dừ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ề một con trỏ đến các ràng buộc đối tượng liên quan đến việc WeaveCertProvEngine .
GetEventCallback (void) const
Trả về một con trỏ đến các API chức năng sự kiện callback hiện cấu hình trên WeaveCertProvEngine đối tượng.
GetMfrAttestDelegate (void) const
Trả về một con trỏ đến các đối tượng delegate nhà sản xuất xác nhận hiện cấu hình trên WeaveCertProvEngine đối tượng.
GetOpAuthDelegate (void) const
Trả về một con trỏ đến đối tượng xác thực đại biểu hoạt động hiện cấu hình trên WeaveCertProvEngine đối tượng.
GetReqType (void) const
uint8_t
Truy xuất loại yêu cầu hiện tại.
GetState (void) const
Lấy trạng thái hiện tại của WeaveCertProvEngine đối tượng.
Init ( Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
Khởi tạo một WeaveCertProvEngine đối tượng để chuẩn bị cho việc gửi nhận được tin nhắn yêu cầu chứng chỉ.
ProcessGetCertificateResponse ( PacketBuffer *msgBuf)
Xử lý thông báo GetCertificateResponse.
SetBinding ( Binding *binding)
void
Thiết lập đối tượng bắt buộc đối với các WeaveCertProvEngine đối tượng.
SetEventCallback ( EventCallback eventCallback)
void
Thiết lập chức năng gọi lại sự kiện API trên WeaveCertProvEngine đối tượng.
SetMfrAttestDelegate ( WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
Thiết lập đối tượng delegate nhà sản xuất xác nhận trên WeaveCertProvEngine đối tượng.
SetOpAuthDelegate ( WeaveNodeOpAuthDelegate *opAuthDelegate)
void
Thiết lập đối tượng xác thực đại biểu hoạt động trên WeaveCertProvEngine đối tượng.
Shutdown (void)
void
Shutdown một trước khởi WeaveCertProvEngine đối tượng.
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 :: An ninh :: CertProvisioning :: WeaveCertProvEngine :: InEventParam

Nhập thông số cho sự kiện API cấp phép chứng chỉ Weave.

nl :: Weave :: Profiles :: An ninh :: CertProvisioning :: WeaveCertProvEngine :: OutEventParam

Xuất thông số cho sự kiện API cấp phép chứng chỉ Weave.

Các loại công khai

@ 246

 @246
Tính chất
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 Nhận chứng chỉ là để thay đổi 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 của ứ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ỉ.

Chi tiết
Thông số
[in] appState
Một 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 engine.
[in] eventType
ID sự kiện được chuyển bởi lệnh gọi lại sự kiện.
[in] inParam
Tham chiếu các tham số sự kiện đầu vào được chuyển bởi lệnh gọi lại sự kiện.
[in] outParam
Tham chiếu các tham số sự kiện đầu ra được truyền bởi lệnh gọi lại sự kiện.

Loại sự kiện

 EventType
Tính chất
kEvent_CommunicationError

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

kEvent_PrepareAuthorizeInfo

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

kEvent_ResponseReceived

Một thông báo GetCertificateResponse đã được nhận từ ngang hàng.

Tiểu bang

 State
Tính chất
kState_Idle

Đối tượng động cơ không hoạt động.

kState_NotInitialized

Đối tượng động cơ không được khởi tạo.

kState_PreparingBinding

Đối tượng động cơ đang chờ ràng buộc sẵn sàng.

kState_RequestInProgress

Thông báo GetCertificateRequest đã đượ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

Một con trỏ đến dữ liệu dành riêng cho ứng dụng.

Chức năng công cộng

AbortCertificateProvisrating

void AbortCertificateProvisioning(
  void
)

Dừng mọi trao đổi GetCertificate đang diễn ra.

GenerateGetCertificateRequest

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

Tạo thông báo GetCertificateRequest.

Phương pháp này tạo ra cấu trúc Weave GetCertificateRequest mã hóa trong các Weave TLV định dạng.

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

Chi tiết
Thông số
[in] msgBuf
Một con trỏ đến đối tượng PacketBuffer đang 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ó 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ả lại
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 các ràng buộc đối tượng liên quan đến việc WeaveCertProvEngine .

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

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

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

Trả về một con trỏ đến các đối tượng delegate nhà sản xuất xác nhận hiện cấu hình trên WeaveCertProvEngine đối tượng.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

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

GetReqType

uint8_t GetReqType(
  void
) const 

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

GetState

State GetState(
  void
) const 

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

Trong đó

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

Khởi tạo một WeaveCertProvEngine đối tượng để chuẩn bị cho việc gửi nhận được tin nhắn yêu cầu chứng chỉ.

Chi tiết
Thông số
[in] binding
Một Ràng buộc đối tượng đó sẽ được sử dụng để thiết lập truyền thông với nút đồng đẳng.
[in] opAuthDelegate
Một con trỏ đến một đối tượng ủy quyền xác thực hoạt động sẽ được sử dụng để xây dựng và ký bằng cách sử dụng thông tin xác thực hoạt động của nút.
[in] mfrAttestDelegate
Một con trỏ đến đối tượng ủy quyền chứng thực của nhà sản xuất sẽ được sử dụng để xây dựng và ký yêu cầu bằng thông tin xác thực do nhà sản xuất cung cấp.
[in] eventCallback
Một con trỏ tới một hàm sẽ được gọi bởi các WeaveCertProvEngine đối tượng để cung cấp các sự kiện API cho ứng dụng.
[in] appState
Một con trỏ đến một đối tượng do ứng dụng xác định sẽ được chuyển trở lại ứng dụng bất cứ khi nào một sự kiện API xảy ra.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

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

Phương pháp này xử lý cấu trúc Weave GetCertificateResponse mã hóa trong các Weave TLV định dạng.

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

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

Chi tiết
Thông số
[in] msgBuf
Một con trỏ đến đối tượng PacketBuffer đang giữ thông báo GetCertificateResponse.
Giá trị trả lại
WEAVE_NO_ERROR
Nếu thông báo GetCertificateResponse được xử lý thành công.

SetBinding

void SetBinding(
  Binding *binding
)

Thiết lập đối tượng bắt buộc đối với các WeaveCertProvEngine đối tượng.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Thiết lập chức năng gọi lại sự kiện API trên WeaveCertProvEngine đối tượng.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

Thiết lập đối tượng delegate nhà sản xuất xác nhận trên WeaveCertProvEngine đối tượng.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

Thiết lập đối tượng xác thực đại biểu hoạt động trên WeaveCertProvEngine đối tượng.

Tắt

void Shutdown(
  void
)

Shutdown một trước khởi WeaveCertProvEngine đối tượng.

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

StartCertificateProvisrating

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 đến dịch vụ CA. Nếu và khi nhận được thông báo GetCertificateResponse tương ứng, nó sẽ được gửi tới ứng dụng thông qua sự kiện API ResponseReceive.

Nếu Binding đối tượng không ở trạng thái sẵn sàng khi phương pháp này được gọi là, một yêu cầu sẽ được thực hiện để Binding :: RequestPrepare () phương pháp để bắt đầu chuẩn bị theo yêu cầu. Thao tác yêu cầu sau đó sẽ đợi cho đến khi quá trình này hoàn tất. Bất kỳ cuộc gọi đến StartCertificateProvisioning () trong khi có một yêu cầu trước đó trong quá trình sẽ bị bỏ qua.

Chi tiết
Thông 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ả lại
WEAVE_NO_ERROR
Nếu StartCertificateProvisioning () đã được xử lý thành công.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)