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
Direkte bekannte abgeleitete Klassen: 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 Schlüsselexportzertifikat für den lokalen Knoten 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 den Zertifikatssatz des Knotens frei.
|
ValidateUnsignedKeyExportMessage(WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
|
virtual WEAVE_ERROR
Prüfen Sie die Sicherheit einer nicht signierten Schlüsselexportnachricht.
|
Öffentliche Funktionen
BeginCertValidation
virtual WEAVE_ERROR BeginCertValidation( WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet )=0
Bereiten Sie die Validierung des Peer-Zertifikats vor.
Wird zu Beginn der Zertifikatsvalidierung aufgerufen. Diese Methode ist für die Vorbereitung des bereitgestellten Zertifikatssatzes und des Validierungskontexts für die Validierung des Zertifikats des Peer-Knotens verantwortlich. Implementierungen müssen das bereitgestellte WeaveCertificateSet-Objekt mit genügend Ressourcen initialisieren, um die bevorstehende Zertifikatsprüfung durchzuführen. 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 Überprüfung der Anfrage abgeschlossen sind.
GenerateNodeSignature
virtual WEAVE_ERROR GenerateNodeSignature( WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer )=0
GetNodeCertSet
virtual WEAVE_ERROR GetNodeCertSet( WeaveKeyExport *keyExport, WeaveCertificateSet & certSet )=0
Rufen Sie das Schlüsselexportzertifikat für den lokalen Knoten ab.
Wird aufgerufen, wenn sich die Schlüsselexport-Engine auf das Signieren einer Schlüsselexportnachricht vorbereitet. 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 zuletzt 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 erwartet, dass die Methode die Berechtigung des Anforderers zum Exportieren des angeforderten Schlüssels überprüft.
Bei einem initiierenden Knoten wird erwartet, dass die Methode überprüft, ob das validierte Zertifikat den Peer ordnungsgemäß 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 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 nicht signierten Schlüsselexportnachricht.
Wird aufgerufen, wenn der Knoten eine nicht signierte Schlüsselexportnachricht erhält. Es wird erwartet, dass die Methode die Sicherheit einer nicht signierten Schlüsselexportnachricht auf der Grundlage des Kommunikationskontexts überprüft, z.B. über die Attribute einer Sicherheitssitzung, die zum Senden der Nachricht verwendet wurde.
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 mit der Methode geprüft wird, ob die Nachricht tatsächlich von dem Peer stammt, an den die Schlüsselexportanfrage gesendet wurde.