nl:: Weave:: Profiles:: Security:: CertProvisioning:: WeaveNodeMfrAttestDelegate
Esta es una clase abstracta.
#include <src/lib/profiles/security/WeaveCertProvisioning.h>
Es una interfaz abstracta a la que se delegan acciones específicas de la plataforma durante la certificación del fabricante del nodo Weave.
Resumen
Funciones públicas |
|
---|---|
EncodeMAInfo(TLVWriter & writer)=0
|
virtual WEAVE_ERROR
Encodificación de 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
Generar y codificar 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 invoque, la implementación debe escribir una estructura que contenga la información que se usa para la certificación del fabricante del nodo. La información de la certificación del fabricante debe escribirse en forma de una estructura TLV en el escritor de TLV proporcionado 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 calcular una firma para el valor de hash determinado usando la clave privada de certificación del fabricante del nodo.
Primero, el valor enumerado que identifica el algoritmo de firma de certificación del fabricante se debe escribir en forma de número entero sin firmar en el escritor de TLV proporcionado con la siguiente etiqueta: kTag_GetCertReqMsg_MfrAttestSigAlgo Los valores enumerados legales se toman del espacio de nombres de constantes kOID_SigAlgo_*.
Luego, la firma generada se debe escribir en forma de ECDSASignature, RSASignature, HMACSignature o estructura personalizada en el escritor de TLV proporcionado con una de las siguientes etiquetas: kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrAttestSig_RSA kTag_GetCertReqMsg_MfrAttestSig_HMAC etiqueta específica del perfil de seguridad personalizado
Nota: En los casos en que la clave privada de la curva elíptica correspondiente del nodo se mantiene en un búfer local, la función de utilidad GenerateAndEncodeWeaveECDSASignature() puede ser útil para implementar este método.