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{
|
enum |
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
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{
|
enum |
State{
|
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
|
Binding *
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:: |
Tham số đầu vào cho sự kiện API cấp phép chứng chỉ Weave. |
nl:: |
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ố |
|
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 WeaveNodeOpAuthDelegate và WeaveNodeMfrAttestDelegate 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ố |
|
||||||
Giá trị trả về |
|
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ố |
|
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ố |
|
||
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 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ố |
|
||||
Giá trị trả về |
|
WeaveCertProvEngine
WeaveCertProvEngine( void )