nl:: Weave:: Profiles:: Security:: CertProvisioning:: WeaveNodeMfrAttestDelegate
Questa è una classe astratta.
#include <src/lib/profiles/security/WeaveCertProvisioning.h>
Interfaccia astratta a cui vengono delegati le 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 di Weave per il nodo locale.
|
GenerateAndEncodeMASig(const uint8_t *data, uint16_t dataLen, TLVWriter & writer)=0
|
virtual WEAVE_ERROR
Genera e codifica la firma dell'attestazione del produttore utilizzando la chiave privata di attestazione del nodo locale.
|
Funzioni pubbliche
EncodeMAInfo
virtual WEAVE_ERROR EncodeMAInfo( TLVWriter & writer )=0
Codifica le informazioni di attestazione del produttore di Weave per il nodo locale.
Se 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 dell'attestazione del produttore utilizzando la chiave privata di attestazione del nodo locale.
Se richiamato, 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 di firma dell'attestazione del produttore deve essere scritto sotto forma di numero intero non associato nell'autore TLV fornito utilizzando il seguente tag: kTag_GetCertReqMsg_MfrAttestSigAlgo I valori enumerati legali vengono presi dallo spazio dei nomi costante kOID_SigAlgo_*.
La firma generata deve quindi essere scritta sotto forma di ECDSASignature, RSASignature, HMACSignature o struttura personalizzata per l'autore TLV fornito utilizzando uno dei seguenti tag: kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrAttestSig_RSA ktestTag_GetRefrMACAttestSig_RSA
Nota: nei casi in cui la chiave privata della curva ellittica corrispondente al nodo si trova in un buffer locale, la funzione di utilità GenerateAndEncodeWeaveECDSASignature() può essere utile per implementare questo metodo.