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 dell'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 invocata, l'implementazione deve scrivere una struttura contenente le informazioni utilizzate per l'attestazione del produttore del nodo. Le informazioni di attestazione del produttore devono essere scritte sotto forma di struttura TLV per lo scrittore 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.
Quando vengono 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 di firma dell'attestazione del produttore deve essere scritto sotto forma di numero intero non firmato nello scrittore TLV fornito utilizzando il seguente tag: I valori enumerati legali di kTag_GetCertReqMsg_MfrAttestSigAlgo sono presi dallo spazio dei nomi delle costanti kOID_SigAlgo_*
La firma generata deve quindi essere scritta sotto forma di ECDSASignature, RSASignature, HMACSignature o struttura personalizzata per lo scrittore TLV fornito utilizzando uno dei seguenti tag: kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrAttestSig_RSA kTag_GetCertReqMsg_MfrAttestSig_HMAC tag specifico del profilo di sicurezza personalizzato
Nota: nei casi in cui la chiave privata della curva ellittica corrispondente del nodo sia memorizzata in un buffer locale, la funzione di utilità GenerateAndEncodeWeaveECDSASignature() può essere utile per implementare questo metodo.