nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine

#include <src/lib/profiles/security/WeaveCertProvisioning.h>

Реализует основную логику объекта протокола Weave Certificate Provisioning.

Сводка

Конструкторы и деструкторы

WeaveCertProvEngine(void)

Общедоступные типы

@246{
  kReqType_GetInitialOpDeviceCert = 0,
  kReqType_RotateOpDeviceCert = 1
}
enum : перечисление
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
Эта функция является обратным вызовом приложения, который вызывается при событиях Certificate Provisioning Engine API.
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 : перечисление

Общедоступные атрибуты

AppState
void *
Указатель на данные, относящиеся к приложению.

Общественные функции

AbortCertificateProvisioning(void)
void
Останавливает любой выполняющийся обмен GetCertificate.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
Сгенерируйте сообщение GetCertificateRequest.
GetBinding(void) const
Возвращает указатель на объект 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::Profiles::Security::CertProvisioning::WeaveCertProvEngine::InEventParam

Входные параметры для события Weave Certificate Provisioning API.

nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine::OutEventParam

Выходные параметры для события 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.

Сведения
Параметры
[in] appState
Указатель на информацию о состоянии, определенную приложением и связанную с объектом движка.
[in] eventType
Идентификатор события, переданный обратным вызовом события.
[in] inParam
Справочные материалы по параметрам входных событий, передаваемых обратным вызовом события.
[in] outParam
Справочные материалы по параметрам выходных событий, передаваемых обратным вызовом события.

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, чтобы подготовить полезную нагрузку сообщения.

Сведения
Параметры
[in] msgBuf
Указатель на объект PacketBuffer, содержащий сообщение GetCertificateRequest.
[in] reqType
Получить тип запроса на сертификат.
[in] doMfrAttest
Логический флаг, указывающий, должен ли запрос включать данные подтверждения производителя.
Возвращаемые значения
WEAVE_NO_ERROR
Если GetCertificateRequest был успешно сгенерирован.

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 

Получить текущий тип запроса.

GetState

State GetState(
  void
) const 

Получите текущее состояние объекта WeaveCertProvEngine.

Init

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

Инициализируйте объект WeaveCertProvEngine, чтобы подготовиться к отправке запроса на получение сертификата.

Сведения
Параметры
[in] binding
Объект Binding, который будет использоваться для установления связи с одноранговым узлом.
[in] opAuthDelegate
Указатель на объект делегата операционной аутентификации, который будет использоваться для создания и подписания с помощью операционных учетных данных узла.
[in] mfrAttestDelegate
Указатель на объект делегата подтверждения производителя, который будет использоваться для создания и подписания запроса с использованием учетных данных, предоставленных производителем узла.
[in] eventCallback
Указатель на функцию, которая будет вызываться объектом WeaveCertProvEngine для доставки событий API в приложение.
[in] appState
Указатель на объект, определенный приложением, который будет передаваться обратно в приложение при каждом возникновении события API.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

Обработка сообщения GetCertificateResponse.

Этот метод обрабатывает структуру Weave GetCertificateResponse, закодированную в формате TLV.

Когда обработка сообщения GetCertificateResponse успешно завершена, метод вызывает приложение через событие ResponseReceived API, чтобы передать результат.

Если обработка сообщения GetCertificateResponse завершается неудачно, метод вызывает приложение через событие CommunicationError API, чтобы сообщить об ошибке.

Сведения
Параметры
[in] msgBuf
Указатель на объект PacketBuffer, содержащий сообщение GetCertificateResponse.
Возвращаемые значения
WEAVE_NO_ERROR
Если сообщение GetCertificateResponse было успешно обработано.

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(), сделанный во время обработки предыдущего запроса, будет игнорироваться.

Сведения
Параметры
[in] reqType
Получить тип запроса на сертификат.
[in] doMfrAttest
Логический флаг, указывающий, должен ли протокол включать данные подтверждения производителя.
Возвращаемые значения
WEAVE_NO_ERROR
Если метод StartCertificateProvisioning() был обработан успешно.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)