nl::Weave::Profiles::Security::CertProvisioning::WeaveNodeMfrAttestDelegate

Esta es una clase abstracta.

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

Interfaz abstracta a la que se delegan las acciones específicas de la plataforma durante la certificación del fabricante del nodo de Weave.

Resumen

Funciones públicas

EncodeMAInfo(TLVWriter & writer)=0
virtual WEAVE_ERROR
Codifica la información de certificación del fabricante de Weave para el nodo local.
GenerateAndEncodeMASig(const uint8_t *data, uint16_t dataLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Genera y codifica la firma de certificación del fabricante con la clave privada de certificación del fabricante del nodo local.

Funciones públicas

EncodeMAInfo

virtual WEAVE_ERROR EncodeMAInfo(
  TLVWriter & writer
)=0

Codifica la información de certificación del fabricante de Weave para el nodo local.

Cuando se invoca, la implementación debe escribir una estructura que contenga la información que se utiliza para la certificación del fabricante del nodo. La información de certificación del fabricante debe escribirse en forma de estructura TLV para el escritor de TLV proporcionado y con la etiqueta específica del perfil de seguridad.

GenerateAndEncodeMASig

virtual WEAVE_ERROR GenerateAndEncodeMASig(
  const uint8_t *data,
  uint16_t dataLen,
  TLVWriter & writer
)=0

Genera y codifica la firma de certificación del fabricante con la clave privada de certificación del fabricante del nodo local.

Cuando se invocan, las implementaciones deben procesar una firma en el valor de hash dado mediante la clave privada de certificación del fabricante del nodo.

En primer lugar, el valor enumerado que identifica el algoritmo de firma de certificación del fabricante se debe escribir en el formato de un número entero no registrado al escritor TLV proporcionado con la siguiente etiqueta: Los valores enumerados de kTag_GetCertReqMsg_MfrAttestSigAlgo Legal se toman del espacio de nombres de la constante kOID_SigAlgo_*.

Luego, la firma generada se debe escribir en la forma de una estructura ECDSASignature, RSASignature, HMACSignature o personalizado al escritor TLV proporcionado con una de las siguientes etiquetas de etiqueta de seguridad personalizada kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrAttestSig_RSA con etiqueta personalizada kTag_GetgCertReqM

Nota: En los casos en que la clave privada de la curva elíptica correspondiente del nodo se mantenga en un búfer local, la función de utilidad GenerateAndEncodeWeaveECDSASignature() puede ser útil para implementar este método.