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

Dies ist eine abstrakte Klasse.

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

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

Zusammenfassung

Übernahme

Direkt 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 Peer-Zertifikats 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
Generieren Sie eine Signatur für eine Schlüsselexportnachricht.
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Rufen Sie das für den lokalen Knoten festgelegte Zertifikat für den Schlüsselexport ab.
HandleCertValidationResult(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Die Ergebnisse der Validierung des Peer-Zertifikats verarbeiten.
ReleaseNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Geben Sie das Zertifikatsset des Knotens frei.
ValidateUnsignedKeyExportMessage(WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Prüfen Sie die Sicherheit einer Nachricht zum Exportieren eines nicht signierten Schlüssels.

Ö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 für die Vorbereitung des bereitgestellten Zertifikatsatzes und des Validierungskontexts zur Validierung des Zertifikats des Peer-Knotens verantwortlich. Implementierungen müssen das bereitgestellte WeaveCertificateSet-Objekt mit ausreichenden Ressourcen initialisieren, um die bevorstehende Zertifikatsvalidierung zu verarbeiten. Bei der Implementierung müssen außerdem alle erforderlichen vertrauenswürdigen Root- oder CA-Zertifikate in den Zertifikatsatz geladen werden.

Der bereitgestellte Validierungskontext wird mit einer Reihe standardmäßiger Validierungskriterien initialisiert, die von der Implementierung bei Bedarf geändert werden können. Bei der Implementierung muss entweder das Feld „EffectiveTime“ festgelegt oder die entsprechenden Validierungs-Flags festgelegt werden, um die Validierung der Lebensdauer des Zertifikats zu unterdrücken.

Durch die Implementierung werden alle während BeginCertValidation() zugeordneten Ressourcen beibehalten, bis die entsprechende EndCertValidation()-Methode aufgerufen wird. Bei Implementierungen wird garantiert, dass EndCertValidation() bei jedem 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 Anfragebestätigung abgeschlossen sind.

GenerateNodeSignature

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

Generieren Sie eine Signatur für eine Schlüsselexportnachricht.

Diese Methode ist für die Berechnung einer Signatur des angegebenen Hashwerts mit dem privaten Schlüssel des lokalen Knotens und das Schreiben der Signatur in den bereitgestellten TLV-Writer als WeaveSignature-TLV-Struktur verantwortlich.

GetNodeCertSet

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

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

Wird aufgerufen, wenn die Schlüsselexport-Engine eine Schlüsselexportnachricht signieren wird. Diese Methode ist für das Initialisieren des Zertifikatssatzes und das Laden aller Zertifikate verantwortlich, die in der Signatur der Nachricht enthalten oder darauf verwiesen werden. Das letzte geladene Zertifikat muss das Signaturzertifikat sein.

HandleCertValidationResult

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

Die Ergebnisse der Validierung des Peer-Zertifikats verarbeiten.

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 prüfen und das Ergebnis möglicherweise mit einem Fehler zu überschreiben.

Bei einem antwortenden Knoten wird mit der Methode überprüft, ob der Antragsteller berechtigt ist, den angeforderten Schlüssel zu exportieren.

Bei einem ausführenden Knoten wird mit der Methode überprüft, 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 das Zertifikatsset des Knotens frei.

Wird aufgerufen, wenn das Schlüsselexportmodul mit dem von GetNodeCertSet() zurückgegebenen Zertifikatsatz abgeschlossen ist.

ValidateUnsignedKeyExportMessage

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

Prüfen Sie die Sicherheit einer Nachricht zum Exportieren eines nicht signierten Schlüssels.

Wird aufgerufen, wenn der Knoten eine nicht signierte Schlüsselexportnachricht erhält. Die Methode soll die Sicherheit einer Nachricht zum Exportieren eines nicht signierten Schlüssels basierend auf dem Kontext der Kommunikation prüfen, z. B. über die Attribute einer Sicherheitssitzung, die zum Senden der Nachricht verwendet wurde.

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

Bei einem initiierenden Knoten wird erwartet, dass mit der Methode geprüft wird, ob die Nachricht tatsächlich von dem Peer stammt, an den die Schlüsselexportanfrage gesendet wurde.