nl::Weave::Profiles::Security::KeyExport::WeaveKeyExportDelegate

Das ist eine abstrakte Klasse.

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

Abstrakte Delegate-Klasse, die von der KeyExport-Engine aufgerufen wird, um verschiedene Aktionen im Zusammenhang mit der Authentifizierung während des Schlüsselexports auszuführen.

Zusammenfassung

Übernahme

Direkte bekannte Unterklassen: nl::Weave::Profiles::Security::KeyExport::WeaveStandAloneKeyExportClient

Öffentliche Funktionen

BeginCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Bereiten Sie die Validierung des Zertifikats des Peers vor.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Geben Sie Ressourcen frei, die mit der Validierung des Peer-Zertifikats verknüpft sind.
GenerateNodeSignature(WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Eine Signatur für eine Schlüsselexportnachricht generieren.
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Rufen Sie das für den lokalen Knoten festgelegte Schlüsselexportzertifikat ab.
HandleCertValidationResult(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Verarbeiten Sie die Ergebnisse der Validierung des Peer-Zertifikats.
ReleaseNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Geben Sie den Zertifikatssatz des Knotens frei.
ValidateUnsignedKeyExportMessage(WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Prüfen Sie die Sicherheit einer unsignierten Schlüsselexportnachricht.

Öffentliche Funktionen

BeginCertValidation

virtual WEAVE_ERROR BeginCertValidation(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet
)=0

Bereiten Sie die Validierung des Zertifikats des Peers vor.

Wird zu Beginn der Zertifikatsvalidierung aufgerufen. Diese Methode ist verantwortlich für die Vorbereitung des bereitgestellten Zertifikatssatzes und des Validierungskontexts zur Verwendung bei der Validierung des Zertifikats des Peer-Knotens. Implementierungen müssen das bereitgestellte WeaveCertificateSet-Objekt mit genügend Ressourcen initialisieren, um die anstehende Zertifikatvalidierung verarbeiten zu können. Außerdem müssen bei der Implementierung alle erforderlichen vertrauenswürdigen Root- oder CA-Zertifikate in den Zertifikatssatz geladen werden.

Der angegebene Validierungskontext wird mit einer Reihe von Standardvalidierungskriterien initialisiert, die bei Bedarf von der Implementierung geändert werden können. Für die Implementierung muss entweder das Feld „EffectiveTime“ oder die entsprechenden Validierungs-Flags festgelegt werden, um die Validierung der Zertifikatslebensdauer zu unterdrücken.

Die Implementierung ist erforderlich, um alle während BeginCertValidation() zugewiesenen Ressourcen beizubehalten, bis die entsprechende EndCertValidation() aufgerufen wird. Bei Implementierungen wird garantiert, dass EndCertValidation() für jeden erfolgreichen Aufruf von BeginCertValidation() genau einmal aufgerufen wird.

EndCertValidation

virtual WEAVE_ERROR EndCertValidation(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet
)=0

Geben Sie Ressourcen frei, die mit der Validierung des Peer-Zertifikats verknüpft sind.

Wird aufgerufen, wenn die Validierung des Peer-Zertifikats und die Anfrageverifizierung abgeschlossen sind.

GenerateNodeSignature

virtual WEAVE_ERROR GenerateNodeSignature(
  WeaveKeyExport *keyExport,
  const uint8_t *msgHash,
  uint8_t msgHashLen,
  TLVWriter & writer
)=0

Eine Signatur für eine Schlüsselexportnachricht generieren.

Diese Methode sorgt dafür, dass eine Signatur des jeweiligen Hashwerts mithilfe des privaten Schlüssels des lokalen Knotens berechnet und als WeaveSignature-TLV-Struktur in den bereitgestellten TLV-Writer geschrieben wird.

GetNodeCertSet

virtual WEAVE_ERROR GetNodeCertSet(
  WeaveKeyExport *keyExport,
  WeaveCertificateSet & certSet
)=0

Rufen Sie das für den lokalen Knoten festgelegte Schlüsselexportzertifikat ab.

Wird aufgerufen, wenn die Schlüsselexport-Engine die Signatur einer Schlüsselexportnachricht vorbereitet. Diese Methode ist verantwortlich für die Initialisierung des Zertifikatssatzes und das Laden aller Zertifikate, die in der Signatur der Nachricht enthalten oder referenziert werden. Das zuletzt geladene Zertifikat muss das Signaturzertifikat sein.

HandleCertValidationResult

virtual WEAVE_ERROR HandleCertValidationResult(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet,
  uint32_t requestedKeyId
)=0

Verarbeiten Sie die Ergebnisse der Validierung des Peer-Zertifikats.

Wird aufgerufen, wenn die Validierung des Zertifikats des Peer-Knotens abgeschlossen ist. Diese Methode wird nur aufgerufen, wenn die Zertifikatsvalidierung erfolgreich abgeschlossen wurde. Implementierungen können diesen Aufruf verwenden, um die Ergebnisse der Validierung zu überprüfen und das Ergebnis möglicherweise mit einem Fehler zu überschreiben.

Bei einem antwortenden Knoten wird erwartet, dass mit dieser Methode die Berechtigung des Anforderers zum Exportieren des angeforderten Schlüssels überprüft wird.

Bei einem initiierenden Knoten wird erwartet, dass mit der Methode geprüft wird, ob das validierte Zertifikat den Peer korrekt identifiziert, an den die Schlüsselexportanfrage gesendet wurde.

ReleaseNodeCertSet

virtual WEAVE_ERROR ReleaseNodeCertSet(
  WeaveKeyExport *keyExport,
  WeaveCertificateSet & certSet
)=0

Geben Sie den Zertifikatssatz des Knotens frei.

Wird aufgerufen, wenn die Schlüsselexport-Engine mit dem von GetNodeCertSet() zurückgegebenen Zertifikatssatz fertig ist.

ValidateUnsignedKeyExportMessage

virtual WEAVE_ERROR ValidateUnsignedKeyExportMessage(
  WeaveKeyExport *keyExport,
  uint32_t requestedKeyId
)=0

Prüfen Sie die Sicherheit einer unsignierten Schlüsselexportnachricht.

Wird aufgerufen, wenn der Knoten eine nicht signierte Schlüsselexportnachricht empfängt. Mit der Methode soll die Sicherheit einer nicht signierten Schlüsselexportnachricht anhand des Kommunikationskontexts überprüft werden, z.B. anhand der Attribute einer Sicherheitssitzung, die zum Senden der Nachricht verwendet wird.

Bei einem antwortenden Knoten wird erwartet, dass die Methode die Berechtigung des Initiators zum Exportieren des angeforderten Schlüssels überprüft.

Bei einem initiierenden Knoten wird erwartet, dass die Methode überprüft, ob die Nachricht rechtmäßig von dem Peer stammt, an den die Schlüsselexportanfrage gesendet wurde.