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

Questa è una classe astratta.

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

Interfaccia astratta a cui vengono delegate azioni specifiche della piattaforma durante l'attestazione del produttore del nodo Weave.

Riepilogo

Funzioni pubbliche

EncodeMAInfo(TLVWriter & writer)=0
virtual WEAVE_ERROR
Codifica le informazioni di attestazione del produttore Weave per il nodo locale.
GenerateAndEncodeMASig(const uint8_t *data, uint16_t dataLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Genera e codifica la firma di attestazione del produttore del nodo locale utilizzando la chiave privata di attestazione del produttore del nodo locale.

Funzioni pubbliche

EncodeMAInfo

virtual WEAVE_ERROR EncodeMAInfo(
  TLVWriter & writer
)=0

Codifica le informazioni di attestazione del produttore Weave per il nodo locale.

Quando viene richiamata, l'implementazione deve scrivere una struttura contenente informazioni utilizzate per l'attestazione del produttore del nodo. Le informazioni di attestazione del produttore devono essere scritte sotto forma di struttura TLV per l'autore TLV fornito utilizzando il tag specifico del profilo Sicurezza.

GenerateAndEncodeMASig

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

Genera e codifica la firma di attestazione del produttore del nodo locale utilizzando la chiave privata di attestazione del produttore del nodo locale.

Quando richiamate, le implementazioni devono calcolare una firma sul valore hash specificato utilizzando la chiave privata di attestazione del produttore del nodo.

Innanzitutto, il valore enumerato che identifica l'algoritmo della firma di attestazione del produttore deve essere scritto sotto forma di numero intero non associato allo scrittore TLV fornito utilizzando il seguente tag: kTag_GetCertReqMsg_MfrAttestSigAlgo Legal. I valori enumerati vengono presi dallo spazio dei nomi costante kOID_SigAlgo_*.

La firma generata deve quindi essere scritta sotto forma di ECDSASignature, RSASignature, HMACSignature o in una struttura personalizzata al writer TLV fornito, utilizzando uno dei seguenti tag: kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrAttestSig_RSA kTagsMAC_GetMCertReq custom tag specifico

Nota: nei casi in cui la chiave privata Elliptic Curve corrispondente del nodo si trovi in un buffer locale, la funzione di utilità GenerateAndEncodeWeaveECDSASignature() può essere utile per l'implementazione di questo metodo.