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 du nœud 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 d'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 dans le rédacteur TLV fourni, à l'aide de la balise spécifique du 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 d'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 d'attestation du fabricant doit être écrite sous la forme d'un entier non sigmatisé dans l'éditeur TLV fourni à l'aide de la balise suivante: kTag_GetCertReqMsg_MfrAttestSigAlgo Legal les valeurs énumérées légales 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 ECDSASignature, RSASignature, HMACSignature ou d'une structure personnalisée sur le rédacteur TLV fourni à l'aide de l'une des balises suivantes: kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrAttestSig_RSA balise profil security_GetCertReqMsg

Remarque: Si la clé privée de la 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.