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{
|
enum |
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
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{
|
enum |
State{
|
enum |
Các thuộc tính công khai |
|
---|---|
AppState
|
void *
Con 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
|
Binding *
Trả về con trỏ đến đối tượng Binding (Liên kết) được liên kết với WeaveCertProvEngine.
|
GetEventCallback(void) const
|
Trả về con trỏ đến hàm gọi lại 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 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 chạy đối tượng WeaveCertProvEngine để chuẩn bị gửi thông báo yêu cầu cấp 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 chạy 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:: |
Các tham số đầu vào cho sự kiện API Cấp chứng chỉ Weave. |
nl:: |
Các tham số đầu ra cho sự kiện API 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 Get Certificate (Lấy chứng chỉ) là để lấy chứng chỉ hoạt động ban đầu. |
kReqType_RotateOpDeviceCert
|
Loại yêu cầu Get Certificate (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)
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 | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
|
EventType
EventType
Thuộc tính | |
---|---|
kEvent_CommunicationError
|
Đã xảy ra lỗi giao tiếp trong 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
|
Đã 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ụ đang ở 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
|
Thông báo GetCertificateRequest đã được gửi 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ỏ đến dữ liệu dành riêng cho ứng dụng.
Hàm công khai
AbortCertificateProvisioning
void AbortCertificateProvisioning( void )
Dừng mọi quá trình 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 thức này tạo cấu trúc Weave GetCertificateRequest được mã hoá ở định dạng TLV của Weave.
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 WeaveNodeOpAuthDelegate và WeaveNodeMfrAttestDelegate cũng như sự kiện API PrepareAuthorizeInfo để chuẩn bị tải trọng của thông báo.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Giá trị trả về |
|
GetBinding
Binding * GetBinding( void ) const
Trả về con trỏ đến đối tượng Binding (Liên kết) được liên kết với WeaveCertProvEngine.
GetEventCallback
EventCallback GetEventCallback( void ) const
Trả về con trỏ đến hàm gọi lại 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.
Khởi động
WEAVE_ERROR Init( Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState )
Khởi chạy đối tượng WeaveCertProvEngine để chuẩn bị gửi thông báo yêu cầu cấp chứng chỉ.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
|
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á ở định dạng TLV của Weave.
Khi xử lý xong thông báo GetCertificateResponse, phương thức này sẽ gọi đến ứng dụng thông qua sự kiện ResponseReceived API để phân phối 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 API CommunicationError để báo cáo lỗi.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Giá trị trả về |
|
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 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 chạy trước đó.
Xin 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 )
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 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 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() trong khi có một yêu cầu trước đó đang được xử lý sẽ bị bỏ qua.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
WeaveCertProvEngine
WeaveCertProvEngine( void )