En Google, luchamos por la equidad racial de la comunidad negra. Más información

nl :: Tejido:: Perfiles: Seguridad:: Aprovisionamiento de certificados: WeaveCertProvEngine

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

Implementa la lógica central del objeto de protocolo Weave Certificate Provisioning.

Resumen

Constructores y Destructores

WeaveCertProvEngine (void)

Tipos públicos

@246 {
kReqType_GetInitialOpDeviceCert = 0,
kReqType_RotateOpDeviceCert = 1
}
enumeración
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
}
enumeración
State {
kState_NotInitialized = 0,
kState_Idle = 1,
kState_PreparingBinding = 2,
kState_RequestInProgress = 3
}
enumeración

Atributos públicos

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

Funciones publicas

AbortCertificateProvisioning (void)
void
Detiene cualquier intercambio de GetCertificate en curso.
GenerateGetCertificateRequest ( PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
Genere el mensaje GetCertificateRequest.
GetBinding (void) const
Devuelve un puntero a la encuadernación objeto asociado al WeaveCertProvEngine .
GetEventCallback (void) const
Devuelve un puntero a la función de devolución de llamada API evento configurado actualmente en el WeaveCertProvEngine objeto.
GetMfrAttestDelegate (void) const
Devuelve un puntero al objeto delegado fabricante certificado configurado actualmente en el WeaveCertProvEngine objeto.
GetOpAuthDelegate (void) const
Devuelve un puntero al objeto delegado de autentificación operacional configurado actualmente en el WeaveCertProvEngine objeto.
GetReqType (void) const
uint8_t
Recupera el tipo de solicitud actual.
GetState (void) const
Recuperar el estado actual de la WeaveCertProvEngine objeto.
Init ( Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
Inicializar un WeaveCertProvEngine objeto en la preparación para el envío de conocer el mensaje de solicitud de certificado.
ProcessGetCertificateResponse ( PacketBuffer *msgBuf)
Procesar el mensaje GetCertificateResponse.
SetBinding ( Binding *binding)
void
Establece el objeto de enlace en el WeaveCertProvEngine objeto.
SetEventCallback ( EventCallback eventCallback)
void
Establece la función de devolución de llamada API en el caso WeaveCertProvEngine objeto.
SetMfrAttestDelegate ( WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
Establece el objeto delegado fabricante certificado en el WeaveCertProvEngine objeto.
SetOpAuthDelegate ( WeaveNodeOpAuthDelegate *opAuthDelegate)
void
Establece el objeto delegado de autentificación operativo en el WeaveCertProvEngine objeto.
Shutdown (void)
void
Shutdown una inicializado previamente WeaveCertProvEngine objeto.
StartCertificateProvisioning (uint8_t reqType, bool doMfrAttest)
Inicie el Protocolo de aprovisionamiento de certificados.

Estructuras

nl :: Armadura :: Perfiles :: Seguridad :: :: CertProvisioning WeaveCertProvEngine :: InEventParam

Introduzca parámetros para el evento de la API de aprovisionamiento de certificados de Weave.

nl :: Armadura :: Perfiles :: Seguridad :: :: CertProvisioning WeaveCertProvEngine :: OutEventParam

Parámetros de salida para el evento de la API de aprovisionamiento de certificados de Weave.

Tipos públicos

@ 246

 @246
Propiedades
kReqType_GetInitialOpDeviceCert

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

kReqType_RotateOpDeviceCert

El tipo de solicitud Obtener certificado es 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 a la información de estado definida por la aplicación asociada con el objeto del motor.
[in] eventType
ID de evento pasado por la devolución de llamada del evento.
[in] inParam
Referencia de los parámetros del evento de entrada pasados ​​por la devolución de llamada del evento.
[in] outParam
Referencia de los parámetros del evento de salida pasados ​​por la devolución de llamada del evento.

Tipo de evento

 EventType
Propiedades
kEvent_CommunicationError

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

kEvent_PrepareAuthorizeInfo

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

kEvent_ResponseReceived

Se recibió un mensaje GetCertificateResponse del par.

Expresar

 State
Propiedades
kState_Idle

El objeto motor está inactivo.

kState_NotInitialized

El objeto del motor no está inicializado.

kState_PreparingBinding

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

kState_RequestInProgress

Se ha enviado un mensaje GetCertificateRequest y el objeto del motor está esperando una respuesta.

Atributos públicos

AppState

void * AppState

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

Funciones publicas

AbortCertificateProvisioning

void AbortCertificateProvisioning(
  void
)

Detiene cualquier intercambio de GetCertificate en curso.

GenerateGetCertificateRequest

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

Genere el mensaje GetCertificateRequest.

Este método genera la estructura de la armadura de GetCertificateRequest codificado en la armadura de TLV formato.

Cuando se forma el mensaje GetCertificateRequest, el método realiza una solicitud a la aplicación, a través de WeaveNodeOpAuthDelegate y WeaveNodeMfrAttestDelegate funciones y el evento API 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
Obtenga el tipo de solicitud de certificado.
[in] doMfrAttest
Una bandera booleana que indica si la solicitud debe incluir datos de certificación del fabricante.
Valores devueltos
WEAVE_NO_ERROR
Si GetCertificateRequest se generó correctamente.

GetBinding

Binding * GetBinding(
  void
) const 

Devuelve un puntero a la encuadernación objeto asociado al WeaveCertProvEngine .

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

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

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

Devuelve un puntero al objeto delegado fabricante certificado configurado actualmente en el WeaveCertProvEngine objeto.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

Devuelve un puntero al objeto delegado de autentificación operacional configurado actualmente en el WeaveCertProvEngine objeto.

GetReqType

uint8_t GetReqType(
  void
) const 

Recupera el tipo de solicitud actual.

GetState

State GetState(
  void
) const 

Recuperar el estado actual de la WeaveCertProvEngine objeto.

En eso

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

Inicializar un WeaveCertProvEngine objeto en la preparación para el envío de conocer el mensaje de solicitud de certificado.

Detalles
Parámetros
[in] binding
A Encuadernación objeto que se utiliza para establecer la comunicación con el nodo par.
[in] opAuthDelegate
Un puntero a un objeto delegado de autenticación operativa que se utilizará para construir y firmar utilizando las credenciales operativas del nodo.
[in] mfrAttestDelegate
Un puntero a un objeto delegado de atestación del fabricante que se utilizará para construir y firmar la solicitud utilizando las credenciales proporcionadas por el fabricante del nodo.
[in] eventCallback
Un puntero a una función que será llamada por el WeaveCertProvEngine objeto de entregar sucesos de API a la aplicación.
[in] appState
Un puntero a un objeto definido por la aplicación que se devolverá a la aplicación cada vez que se produzca un evento de API.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

Procesar el mensaje GetCertificateResponse.

Este método procesa la estructura de la armadura de GetCertificateResponse codificado en la armadura de TLV formato.

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 API ResponseReceived, para entregar el resultado.

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

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

SetBinding

void SetBinding(
  Binding *binding
)

Establece el objeto de enlace en el WeaveCertProvEngine objeto.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Establece la función de devolución de llamada API en el caso WeaveCertProvEngine objeto.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

Establece el objeto delegado fabricante certificado en el WeaveCertProvEngine objeto.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

Establece el objeto delegado de autentificación operativo en el WeaveCertProvEngine objeto.

Cerrar

void Shutdown(
  void
)

Shutdown una inicializado previamente WeaveCertProvEngine objeto.

Tenga en cuenta que este método sólo se puede llamar si el Init () método ha sido llamado con anterioridad.

StartCertificateProvisioning

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

Inicie 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 enviará a la aplicación a través del evento de API ResponseReceived.

Si el Binding objeto no está en el estado Preparado cuando se llama a este método, se hará una petición a Encuadernación :: RequestPrepare () método para iniciar la preparación bajo demanda. La operación de solicitud estará esperando hasta que se complete este proceso. Cualquier llamada a StartCertificateProvisioning () mientras que hay se tendrá en cuenta una solicitud previa en proceso.

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

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)