nl::Weave::Profiles::Security::CertProvisioning::WeaveNodeOpAuthDelegate

Questa è una classe astratta.

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

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

Riepilogo

Funzioni pubbliche

EncodeOpCert(TLVWriter & writer, uint64_t tag)=0
virtual WEAVE_ERROR
Codifica operativa Weave per il nodo locale.
EncodeOpRelatedCerts(TLVWriter & writer, uint64_t tag)=0
virtual WEAVE_ERROR
Codifica l'array di certificati relativi al certificato operativo del nodo.
GenerateAndEncodeOpSig(const uint8_t *hash, uint8_t hashLen, TLVWriter & writer, uint64_t tag)=0
virtual WEAVE_ERROR
Genera e codifica la firma operativa utilizzando la chiave privata operativa del nodo locale.

Funzioni pubbliche

EncodeOpCert

virtual WEAVE_ERROR EncodeOpCert(
  TLVWriter & writer,
  uint64_t tag
)=0

Codifica operativa Weave per il nodo locale.

Quando viene richiamata, l'implementazione deve scrivere un certificato operativo del nodo locale. Il certificato operativo deve quindi essere scritto sotto forma di struttura WeaveCertificate al writer TLV fornito, utilizzando il tag specificato.

EncodeOpRelatedCerts

virtual WEAVE_ERROR EncodeOpRelatedCerts(
  TLVWriter & writer,
  uint64_t tag
)=0

Codifica l'array di certificati relativi al certificato operativo del nodo.

Se richiamata, l'implementazione deve scrivere certificati relativi al certificato operativo del nodo locale. I certificati correlati dovrebbero poi essere scritti sotto forma di array di strutture WeaveCertificate al writer TLV fornito, utilizzando il tag specificato.

GenerateAndEncodeOpSig

virtual WEAVE_ERROR GenerateAndEncodeOpSig(
  const uint8_t *hash,
  uint8_t hashLen,
  TLVWriter & writer,
  uint64_t tag
)=0

Genera e codifica la firma operativa utilizzando la chiave privata operativa del nodo locale.

Quando richiamate, le implementazioni devono calcolare una firma sul valore hash specificato utilizzando la chiave privata operativa del nodo. La firma generata dovrebbe quindi essere scritta sotto forma di struttura ECDSASignature per l'autore TLV fornito che utilizza il tag specificato.

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.