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

Das ist eine abstrakte Klasse.

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

Abstrakte Schnittstelle, an die plattformspezifische Aktionen während der Weave-Knoten-Herstellerattestierung delegiert werden.

Zusammenfassung

Öffentliche Funktionen

EncodeMAInfo(TLVWriter & writer)=0
virtual WEAVE_ERROR
Codieren Sie die Weave-Herstellerattestierungsinformationen für den lokalen Knoten.
GenerateAndEncodeMASig(const uint8_t *data, uint16_t dataLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Generieren und codieren Sie eine Herstellerattestierungssignatur mit dem privaten Schlüssel der Herstellerattestierung des lokalen Knotens.

Öffentliche Funktionen

EncodeMAInfo

virtual WEAVE_ERROR EncodeMAInfo(
  TLVWriter & writer
)=0

Codieren Sie die Weave-Herstellerattestierungsinformationen für den lokalen Knoten.

Wenn die Implementierung aufgerufen wird, sollte sie eine Struktur mit Informationen schreiben, die für die Herstellerbescheinigung des Knotens verwendet werden. Die Informationen zur Herstellerbescheinigung sollten dem bereitgestellten TLV-Schreiber in Form einer TLV-Struktur unter Verwendung des Security Profile-spezifischen Tags geschrieben werden.

GenerateAndEncodeMASig

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

Generieren und codieren Sie eine Herstellerattestierungssignatur mit dem privaten Schlüssel der Herstellerattestierung des lokalen Knotens.

Beim Aufrufen müssen Implementierungen eine Signatur für den angegebenen Hashwert mithilfe des privaten Schlüssels für die Herstellerattestierung des Knotens berechnen.

Erstens sollte der Aufzählungswert zur Identifizierung des Herstellerattestierungssignaturalgorithmus in Form einer nicht signierten Ganzzahl in den bereitgestellten TLV-Schreiber geschrieben werden. Verwenden Sie dazu das folgende Tag: kTag_GetCertReqMsg_MfrAttestSigAlgo Legal Die Aufzählungswerte werden aus dem konstanten Namespace kOID_SigAlgo_* entnommen.

Die generierte Signatur sollte dann in Form einer ECDSASignature-, RSASignature-, HMACSignature-, HMAC-Signatur- oder benutzerdefinierten Struktur mit einem der folgenden Tags an den bereitgestellten TLV-Writer geschrieben werden: kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrAttestSig_RSg_HMAC_AttestSig_Cig_HMACTag_MfrAttestSig_Cg_HMACTag_MfrAttestSig_Cig_HMAC_AttestSig_RSA specific custom tag

Hinweis: In Fällen, in denen der entsprechende private Schlüssel des Knotens mit elliptischer Kurve in einem lokalen Puffer gespeichert ist, kann die Dienstfunktion GenerateAndEncodeWeaveECDSASignature() für die Implementierung dieser Methode nützlich sein.