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ỏ 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ề 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:: |
Các tham số đầu vào cho sự kiện Weave Certificate Cấp API. |
nl:: |
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ố |
|
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 WeaveNodeOpAuthDelegate và WeaveNodeMfrAttestDelegate 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ố |
|
||||||
Giá trị trả về |
|
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ố |
|
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ố |
|
||
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 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ố |
|
||||
Giá trị trả về |
|
WeaveCertProvEngine
WeaveCertProvEngine( void )