nl::Weave::Profile::Sicherheit::CertProvisioning::WeaveNodeMfrAttestDelegate

Dies ist eine abstrakte Klasse.

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

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

Fazit

Öffentliche Funktionen

EncodeMAInfo(TLVWriter & writer)=0
virtual WEAVE_ERROR
Codieren Sie Weave-Attestierungsinformationen für den lokalen Knoten.
GenerateAndEncodeMASig(const uint8_t *data, uint16_t dataLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Sie können die Signatur der Herstellerbescheinigung mit dem privaten Schlüssel für die Herstellerbescheinigung generieren und codieren.

Öffentliche Funktionen

CodierMAInfo

virtual WEAVE_ERROR EncodeMAInfo(
  TLVWriter & writer
)=0

Codieren Sie Weave-Attestierungsinformationen für den lokalen Knoten.

Wenn die Implementierung aufgerufen wird, sollte sie eine Struktur mit Informationen enthalten, die für die Herstellerbescheinigung des Knotens verwendet werden. Die Informationen zur Herstellerzertifizierung sollten in Form einer TLV-Struktur für den bereitgestellten TLV-Autor mit dem spezifischen Tag Sicherheitsprofil angegeben werden.

Generieren und CodierMASig

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

Sie können die Signatur der Herstellerbescheinigung mit dem privaten Schlüssel für die Herstellerbescheinigung generieren und codieren.

Bei diesem Aufruf müssen Implementierungen eine Signatur für den angegebenen Hashwert berechnen, wobei der private Schlüssel des Herstellers für die Attestierung verwendet wird.

Zuerst sollte der Aufzählungswert, der den Signaturalgorithmus des Herstellers identifiziert, in Form einer nicht signierten Ganzzahl im folgenden Tag in den bereitgestellten TLV-Autor geschrieben werden: kTag_GetCertReqMsg_MfrAttestSigAlgo Legal-Werte werden vom konstanten Namespace kOID_SigAlgo_* übernommen.

Die generierte Signatur sollte dann in Form einer ECDSASignature-, RSASignature-, HMACSignature- oder benutzerdefinierten Struktur an den bereitgestellten TLV-Autor mit einem der folgenden Tags geschrieben werden: kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrAttestSig_RSA kTag_Getger_q

Hinweis: Falls der entsprechende Elliptische Kurvenschlüssel des Knotens in einem lokalen Puffer gespeichert wird, kann die Funktion GenerateAndEncodingWeaveECDSASignature() zur Implementierung dieser Methode nützlich sein.