nl:: Weave:: Profiles:: Security:: CertProvisioning:: WeaveCertProvEngine
#include <src/lib/profiles/security/WeaveCertProvisioning.h>
Реализует основную логику объекта протокола Weave Certificate Provisioning.
Сводка
Конструкторы и деструкторы |
|
|---|---|
WeaveCertProvEngine(void)
|
Общедоступные типы |
|
|---|---|
@246{
|
enum : перечисление |
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
Эта функция является обратным вызовом приложения, который вызывается при событиях Certificate Provisioning Engine API. |
EventType{
|
enum : перечисление |
State{
|
enum : перечисление |
Общедоступные атрибуты |
|
|---|---|
AppState
|
void *
Указатель на данные, относящиеся к приложению.
|
Общественные функции |
|
|---|---|
AbortCertificateProvisioning(void)
|
void
Останавливает любой выполняющийся обмен GetCertificate.
|
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
|
Сгенерируйте сообщение GetCertificateRequest.
|
GetBinding(void) const
|
Binding *
Возвращает указатель на объект Binding, связанный с WeaveCertProvEngine.
|
GetEventCallback(void) const
|
Возвращает указатель на функцию обратного вызова события API, настроенную в объекте WeaveCertProvEngine.
|
GetMfrAttestDelegate(void) const
|
Возвращает указатель на объект делегата аттестации производителя, настроенный в объекте WeaveCertProvEngine.
|
GetOpAuthDelegate(void) const
|
Возвращает указатель на объект делегата операционной аутентификации, настроенный в объекте WeaveCertProvEngine.
|
GetReqType(void) const
|
uint8_t
Получить текущий тип запроса.
|
GetState(void) const
|
Получите текущее состояние объекта WeaveCertProvEngine.
|
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
|
Инициализируйте объект WeaveCertProvEngine, чтобы подготовиться к отправке запроса на получение сертификата.
|
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
|
Обработка сообщения GetCertificateResponse.
|
SetBinding(Binding *binding)
|
void
Задает объект привязки для объекта WeaveCertProvEngine.
|
SetEventCallback(EventCallback eventCallback)
|
void
Задает функцию обратного вызова для события API в объекте WeaveCertProvEngine.
|
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
|
void
Задает объект делегата подтверждения производителя для объекта WeaveCertProvEngine.
|
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
|
void
Задает объект делегата аутентификации для объекта WeaveCertProvEngine.
|
Shutdown(void)
|
void
Завершите работу ранее инициализированного объекта WeaveCertProvEngine.
|
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
|
Запустить протокол инициализации сертификатов.
|
Структуры |
|
|---|---|
|
nl:: |
Входные параметры для события Weave Certificate Provisioning API. |
|
nl:: |
Выходные параметры для события Weave Certificate Provisioning API. |
Общедоступные типы
@246
@246
| Свойства | |
|---|---|
kReqType_GetInitialOpDeviceCert
|
Тип запроса "Получить сертификат" используется для получения первоначального рабочего сертификата. |
kReqType_RotateOpDeviceCert
|
Тип запроса Get Certificate (Получить сертификат) используется для ротации текущего рабочего сертификата. |
EventCallback
void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
Эта функция является обратным вызовом приложения, который вызывается при событиях Certificate Provisioning Engine API.
| Сведения | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| Параметры |
|
||||||||
EventType
EventType
| Свойства | |
|---|---|
kEvent_CommunicationError
|
При отправке запроса GetCertificateRequest или ожидании ответа произошла ошибка связи. |
kEvent_PrepareAuthorizeInfo
|
Приложение должно подготовить полезную нагрузку для GetCertificateRequest. |
kEvent_ResponseReceived
|
От узла получено сообщение GetCertificateResponse. |
Штат
State
| Свойства | |
|---|---|
kState_Idle
|
Объект поисковой системы неактивен. |
kState_NotInitialized
|
Объект системы не инициализирован. |
kState_PreparingBinding
|
Объект механизма ожидает готовности привязки. |
kState_RequestInProgress
|
Сообщение GetCertificateRequest отправлено, и объект механизма ожидает ответа. |
Общедоступные атрибуты
AppState
void * AppState
Указатель на данные, относящиеся к приложению.
Общественные функции
AbortCertificateProvisioning
void AbortCertificateProvisioning( void )
Останавливает любой выполняющийся обмен GetCertificate.
GenerateGetCertificateRequest
WEAVE_ERROR GenerateGetCertificateRequest( PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest )
Сгенерируйте сообщение GetCertificateRequest.
Этот метод генерирует структуру Weave GetCertificateRequest, закодированную в формате Weave TLV.
При формировании сообщения GetCertificateRequest метод отправляет запрос в приложение через функции WeaveNodeOpAuthDelegate и WeaveNodeMfrAttestDelegate, а также событие PrepareAuthorizeInfo API, чтобы подготовить полезную нагрузку сообщения.
| Сведения | |||||||
|---|---|---|---|---|---|---|---|
| Параметры |
|
||||||
| Возвращаемые значения |
|
||||||
GetBinding
Binding * GetBinding( void ) const
Возвращает указатель на объект Binding, связанный с WeaveCertProvEngine.
GetEventCallback
EventCallback GetEventCallback( void ) const
Возвращает указатель на функцию обратного вызова события API, настроенную в объекте WeaveCertProvEngine.
GetMfrAttestDelegate
WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate( void ) const
Возвращает указатель на объект делегата подтверждения производителя, настроенный в объекте WeaveCertProvEngine.
GetOpAuthDelegate
WeaveNodeOpAuthDelegate * GetOpAuthDelegate( void ) const
Возвращает указатель на объект делегата операционной аутентификации, настроенный в объекте WeaveCertProvEngine.
GetReqType
uint8_t GetReqType( void ) const
Получить текущий тип запроса.
Init
WEAVE_ERROR Init( Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState )
Инициализируйте объект WeaveCertProvEngine, чтобы подготовиться к отправке запроса на получение сертификата.
| Сведения | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Параметры |
|
||||||||||
ProcessGetCertificateResponse
WEAVE_ERROR ProcessGetCertificateResponse( PacketBuffer *msgBuf )
Обработка сообщения GetCertificateResponse.
Этот метод обрабатывает структуру Weave GetCertificateResponse, закодированную в формате TLV.
Когда обработка сообщения GetCertificateResponse успешно завершена, метод вызывает приложение через событие ResponseReceived API, чтобы передать результат.
Если обработка сообщения GetCertificateResponse завершается неудачно, метод вызывает приложение через событие CommunicationError API, чтобы сообщить об ошибке.
| Сведения | |||
|---|---|---|---|
| Параметры |
|
||
| Возвращаемые значения |
|
||
SetBinding
void SetBinding( Binding *binding )
Задает объект привязки для объекта WeaveCertProvEngine.
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
Задает функцию обратного вызова для события API в объекте WeaveCertProvEngine.
SetMfrAttestDelegate
void SetMfrAttestDelegate( WeaveNodeMfrAttestDelegate *mfrAttestDelegate )
Задает объект делегата подтверждения производителя для объекта WeaveCertProvEngine.
SetOpAuthDelegate
void SetOpAuthDelegate( WeaveNodeOpAuthDelegate *opAuthDelegate )
Задает объект делегата аутентификации для объекта WeaveCertProvEngine.
Завершение работы
void Shutdown( void )
Завершите работу ранее инициализированного объекта WeaveCertProvEngine.
Обратите внимание, что этот метод можно вызвать, только если ранее был вызван метод Init().
StartCertificateProvisioning
WEAVE_ERROR StartCertificateProvisioning( uint8_t reqType, bool doMfrAttest )
Запустить протокол инициализации сертификатов.
Этот метод инициирует отправку сообщения GetCertificateRequest в сервис ЦС. Если и когда будет получено соответствующее сообщение GetCertificateResponse, оно будет доставлено в приложение через событие ResponseReceived API.
Если объект Binding не находится в состоянии готовности при вызове этого метода, будет отправлен запрос к методу Binding::RequestPrepare(), чтобы инициировать подготовку по запросу. Запрошенная операция будет ожидать завершения этого процесса. Любой вызов StartCertificateProvisioning(), сделанный во время обработки предыдущего запроса, будет игнорироваться.
| Сведения | |||||
|---|---|---|---|---|---|
| Параметры |
|
||||
| Возвращаемые значения |
|
||||
WeaveCertProvEngine
WeaveCertProvEngine( void )