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

Il s'agit d'une classe abstraite.

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

Interface abstraite à laquelle des actions spécifiques à la plate-forme sont déléguées lors de l'attestation du fabricant de nœuds Weave.

Résumé

Fonctions publiques

EncodeMAInfo(TLVWriter & writer)=0
virtual WEAVE_ERROR
Encodez les informations d'attestation du fabricant Weave pour le nœud local.
GenerateAndEncodeMASig(const uint8_t *data, uint16_t dataLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Générez et encodez la signature de l'attestation du fabricant à l'aide de la clé privée d'attestation du fabricant du nœud local.

Fonctions publiques

EncodeMAInfo

virtual WEAVE_ERROR EncodeMAInfo(
  TLVWriter & writer
)=0

Encodez les informations d'attestation du fabricant Weave pour le nœud local.

Lorsqu'elle est appelée, l'implémentation doit écrire une structure contenant les informations utilisées pour l'attestation du fabricant du nœud. Les informations d'attestation du fabricant doivent être écrites sous la forme d'une structure TLV pour le rédacteur TLV fourni, à l'aide de la balise spécifique au profil de sécurité.

GenerateAndEncodeMASig

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

Générez et encodez la signature de l'attestation du fabricant à l'aide de la clé privée d'attestation du fabricant du nœud local.

Lorsqu'elles sont appelées, les implémentations doivent calculer une signature sur la valeur de hachage donnée à l'aide de la clé privée d'attestation du fabricant du nœud.

Tout d'abord, la valeur énumérée identifiant l'algorithme de signature de l'attestation du fabricant doit être écrite sous la forme d'un entier non signé pour le rédacteur TLV fourni, avec la balise suivante: kTag_GetCertReqMsg_MfrAttestSigAlgo Les valeurs énumérées juridiques sont extraites de l'espace de noms constant kOID_SigAlgo_*.

La signature générée doit ensuite être écrite sous la forme d'une structure ECDSASignature, RSASignature, HMACSignature ou d'une structure personnalisée pour le rédacteur TLV fourni à l'aide de l'une des balises suivantes: kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrAttestSig_RSA kTag_GetCertCertReqMsg security profile

Remarque: si la clé privée à courbe elliptique correspondante du nœud est conservée dans un tampon local, la fonction utilitaire GenerateAndEncodeWeaveECDSASignature() peut s'avérer utile pour implémenter cette méthode.