En Google, luchamos por la equidad racial de la comunidad negra. Más información
Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

nl::Weave::Perfiles::Seguridad::CertProvisioning::WeaveCertProvEngine

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

Implementa la lógica central del objeto del protocolo de aprovisionamiento de certificados de Weave.

Resumen

Constructores y destructores

WeaveCertProvEngine(void)

Tipos públicos

@246{
  kReqType_GetInitialOpDeviceCert = 0,
  kReqType_RotateOpDeviceCert = 1
}
Enum
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
Esta función es la devolución de llamada de la aplicación que se invoca en los eventos de la API del motor de aprovisionamiento de certificados.
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

Atributos públicos

AppState
void *
Un puntero para datos específicos de la aplicación.

Funciones públicas

AbortCertificateProvisioning(void)
void
Detiene cualquier intercambio de GetCertificate en curso.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
Genera un mensaje GetCertificateRequest.
GetBinding(void) const
Muestra un puntero al objeto Binding asociado con WeaveCertProvEngine.
GetEventCallback(void) const
Muestra un puntero a la función de devolución de llamada de evento de la API configurada actualmente en el objeto WeaveCertProvEngine.
GetMfrAttestDelegate(void) const
Muestra un puntero al objeto delegado del certificado de fabricante configurado actualmente en el objeto WeaveCertProvEngine.
GetOpAuthDelegate(void) const
Muestra un puntero para el objeto delegado de autenticación operativa actualmente configurado en el objeto WeaveCertProvEngine.
GetReqType(void) const
uint8_t
Recupera el tipo de solicitud actual.
GetState(void) const
Recupera el estado actual del objeto WeaveCertProvEngine.
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
Inicializa un objeto WeaveCertProvEngine como preparación para enviar el mensaje de solicitud de obtención.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
Procesar el mensaje GetCertificateResponse
SetBinding(Binding *binding)
void
Configura el objeto de vinculación en el objeto WeaveCertProvEngine.
SetEventCallback(EventCallback eventCallback)
void
Configura la función de devolución de llamada de eventos de la API en el objeto WeaveCertProvEngine.
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
Configura el objeto delegado del certificado de fabricante en el objeto WeaveCertProvEngine.
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
void
Configura el objeto delegado de autenticación operativa en el objeto WeaveCertProvEngine.
Shutdown(void)
void
Cierra un objeto WeaveCertProvEngine inicializado con anterioridad.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
Inicia el protocolo de aprovisionamiento de certificados.

Structs

nl::Weave::Perfiles::Seguridad::CertProvisioning::WeaveCertProvEngine::InEventParam

Parámetros de entrada para el evento de la API de Weave Certificate Provisioning.

nl::Weave::Perfiles::Seguridad::CertProvisioning::WeaveCertProvEngine::OutEventParam

Los parámetros de salida para el evento de la API de Weave Certificate Provisioning.

Tipos públicos

@246

 @246
Propiedades
kReqType_GetInitialOpDeviceCert

El tipo de solicitud Obtener certificado es para obtener el certificado operativo inicial.

kReqType_RotateOpDeviceCert

El tipo de solicitud Obtener certificado consiste en rotar el certificado operativo actual.

EventCallback

void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)

Esta función es la devolución de llamada de la aplicación que se invoca en los eventos de la API del motor de aprovisionamiento de certificados.

Detalles
Parámetros
[in] appState
Un puntero para la información de estado definida por la aplicación asociada con el objeto de motor.
[in] eventType
ID del evento que pasó la devolución de llamada del evento.
[in] inParam
Referencia de los parámetros de eventos de entrada que pasa la devolución de llamada de eventos.
[in] outParam
Referencia de los parámetros de eventos de salida que pasa la devolución de llamada de eventos.

Tipo de evento

 EventType
Propiedades
kEvent_CommunicationError

Se produjo un error de comunicación al enviar una GetCertificateRequest o al esperar una respuesta.

kEvent_PrepareAuthorizeInfo

Se solicita a la aplicación que prepare la carga útil para la GetCertificateRequest.

kEvent_ResponseReceived

Se recibió un mensaje GetCertificateResponse del par.

State

 State
Propiedades
kState_Idle

El objeto del motor está inactivo.

kState_NotInitialized

No se inicializó el objeto de motor.

kState_PreparingBinding

El objeto del motor está esperando que la vinculación esté lista.

kState_RequestInProgress

Se envió un mensaje GetCertificateRequest y el objeto del motor está esperando una respuesta.

Atributos públicos

Estado de la aplicación

void * AppState

Un puntero para datos específicos de la aplicación.

Funciones públicas

AbortCertificateProvisioning

void AbortCertificateProvisioning(
  void
)

Detiene cualquier intercambio de GetCertificate en curso.

GenerateGetCertificateRequest

WEAVE_ERROR GenerateGetCertificateRequest(
  PacketBuffer *msgBuf,
  uint8_t reqType,
  bool doMfrAttest
)

Genera un mensaje GetCertificateRequest.

Este método genera la estructura GetCertificateRequest de Weave codificada en el formato TLV de Weave.

Cuando se forma el mensaje GetCertificateRequest, el método realiza una solicitud a la aplicación a través de las funciones WeaveNodeOpAuthDelegate y WeaveNodeMfrAttestDelegate y el evento de la API de PrepareAuthorizeInfo para preparar la carga útil del mensaje.

Detalles
Parámetros
[in] msgBuf
Un puntero al objeto PacketBuffer que contiene el mensaje GetCertificateRequest.
[in] reqType
Obtiene el tipo de solicitud de certificado.
[in] doMfrAttest
Una marca booleana que indica si la solicitud debe incluir datos de certificación del fabricante.
Valores de retorno
WEAVE_NO_ERROR
Si GetCertificateRequest se generó correctamente.

GetBinding

Binding * GetBinding(
  void
) const 

Muestra un puntero al objeto Binding asociado con WeaveCertProvEngine.

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Muestra un puntero a la función de devolución de llamada de evento de la API configurada actualmente en el objeto WeaveCertProvEngine.

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

Muestra un puntero al objeto delegado del certificado de fabricante configurado actualmente en el objeto WeaveCertProvEngine.

ObtenerOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

Muestra un puntero para el objeto delegado de autenticación operativa actualmente configurado en el objeto WeaveCertProvEngine.

GetReqType.

uint8_t GetReqType(
  void
) const 

Recupera el tipo de solicitud actual.

GetState

State GetState(
  void
) const 

Recupera el estado actual del objeto WeaveCertProvEngine.

Init

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

Inicializa un objeto WeaveCertProvEngine como preparación para enviar el mensaje de solicitud de obtención.

Detalles
Parámetros
[in] binding
Un objeto Binding que se usará para establecer comunicación con el nodo de intercambio de tráfico.
[in] opAuthDelegate
Un puntero a un objeto delegado de autenticación operativa que se usará para construir y firmar con las credenciales operativas del nodo.
[in] mfrAttestDelegate
Un puntero a un objeto delegado de certificación del fabricante que se usará para crear y firmar una solicitud con las credenciales aprovisionadas por el fabricante del nodo.
[in] eventCallback
Un puntero para una función que llamará el objeto WeaveCertProvEngine a fin de entregar eventos de API a la aplicación.
[in] appState
Un puntero para un objeto definido por la aplicación que se pasará a la aplicación cada vez que se produzca un evento de la API.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

Procesar el mensaje GetCertificateResponse

Este método procesa la estructura de GetCertificateResponse de Weave codificada en formato TLV de Weave.

Cuando el procesamiento del mensaje GetCertificateResponse se completa correctamente, el método realiza una llamada a la aplicación a través del evento de la API de ResponseReceived para entregar el resultado.

Si falla el procesamiento del mensaje GetCertificateResponse, el método realiza una llamada a la aplicación a través del evento de la API CommunicationError para informar el error.

Detalles
Parámetros
[in] msgBuf
Un puntero al objeto PacketBuffer que contiene el mensaje GetCertificateResponse.
Valores de retorno
WEAVE_NO_ERROR
Si el mensaje GetCertificateResponse se procesó correctamente.

SetBinding

void SetBinding(
  Binding *binding
)

Configura el objeto de vinculación en el objeto WeaveCertProvEngine.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Configura la función de devolución de llamada de eventos de la API en el objeto WeaveCertProvEngine.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

Configura el objeto delegado del certificado de fabricante en el objeto WeaveCertProvEngine.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

Configura el objeto delegado de autenticación operativa en el objeto WeaveCertProvEngine.

Cierre

void Shutdown(
  void
)

Cierra un objeto WeaveCertProvEngine inicializado con anterioridad.

Ten en cuenta que solo se puede llamar a este método si se llamó al método Init() anteriormente.

StartCertificateProvisioning

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

Inicia el protocolo de aprovisionamiento de certificados.

Este método inicia el proceso de envío de un mensaje GetCertificateRequest al servicio de CA. Si se recibe un mensaje GetCertificateResponse correspondiente, se entregará a la aplicación a través del evento de la API de ResponseReceived.

Si el objeto Binding no está en estado Ready cuando se llama a este método, se realizará una solicitud al método Binding::RequestPrepare() para iniciar la preparación a pedido. La operación de solicitud esperará hasta que se complete este proceso. Se ignorará cualquier llamada a StartCertificateProvisioning() cuando haya una solicitud en curso.

Detalles
Parámetros
[in] reqType
Obtiene el tipo de solicitud de certificado.
[in] doMfrAttest
Una marca booleana que indica si el protocolo debe incluir datos de certificación del fabricante.
Valores de retorno
WEAVE_NO_ERROR
Si StartCertificateProvisioning() se procesó correctamente.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)