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

Questa è una classe astratta.

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

Classe delegato astratta chiamata dal motore KeyExport per eseguire varie azioni correlate all'autenticazione durante l'esportazione della chiave.

Riepilogo

Eredità

Sottoclassi note direttamente: nl::Weave::Profiles::Security::KeyExport::WeaveStandAloneKeyExportClient

Funzioni pubbliche

BeginCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Preparati a convalidare il certificato del peer.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Rilascia le risorse associate alla convalida dei certificati peer.
GenerateNodeSignature(WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Genera una firma per un messaggio di esportazione della chiave.
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Ottieni il certificato di esportazione della chiave impostato per il nodo locale.
HandleCertValidationResult(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Elabora i risultati della convalida del certificato del peer.
ReleaseNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Rilascia il set di certificati del nodo.
ValidateUnsignedKeyExportMessage(WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Verifica la sicurezza di un messaggio di esportazione di una chiave non firmata.

Funzioni pubbliche

BeginCertValidation

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

Preparati a convalidare il certificato del peer.

Viene chiamato all'inizio della convalida del certificato. Questo metodo si occupa della preparazione del set di certificati fornito e del contesto di convalida da utilizzare per la convalida del certificato del nodo peer. Le implementazioni devono inizializzare l'oggetto WeaveCertificateSet fornito con risorse sufficienti per gestire l'imminente convalida dei certificati. L'implementazione deve inoltre caricare nel set di certificati qualsiasi certificato radice attendibile o CA attendibile necessario.

Il contesto di convalida fornito verrà inizializzato con una serie di criteri di convalida predefiniti, che l'implementazione può modificare in base alle necessità. L'implementazione deve impostare il campo EffectiveTime o impostare i flag di convalida appropriati per sopprimere la convalida della durata del certificato.

L'implementazione è necessaria per mantenere tutte le risorse allocate durante BeginCertValidation() fino a quando non viene chiamata la funzione EndCertValidation() corrispondente. Le implementazioni sono garantite che EndCertValidation() verrà chiamato esattamente una volta per ogni chiamata riuscita a BeginCertValidation().

EndCertValidation

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

Rilascia le risorse associate alla convalida dei certificati peer.

Richiamato al termine della convalida del certificato peer e della richiesta di verifica.

GenerateNodeSignature

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

Genera una firma per un messaggio di esportazione della chiave.

Questo metodo è responsabile del calcolo della firma del valore hash specificato utilizzando la chiave privata del nodo locale e della scrittura della firma nello scrittore TLV fornito come struttura TLV WeaveSignature.

GetNodeCertSet

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

Ottieni il certificato di esportazione della chiave impostato per il nodo locale.

Richiamato quando il motore di esportazione delle chiavi si sta preparando a firmare un messaggio di esportazione della chiave. Questo metodo è responsabile dell'inizializzazione del set di certificati e del caricamento di tutti i certificati che saranno inclusi o a cui verrà fatto riferimento nella firma del messaggio. L'ultimo certificato caricato deve essere il certificato di firma.

HandleCertValidationResult

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

Elabora i risultati della convalida del certificato del peer.

Viene chiamato al termine della convalida del certificato del nodo peer. Questo metodo viene chiamato solo se la convalida del certificato è stata completata correttamente. Le implementazioni possono utilizzare questa chiamata per esaminare i risultati della convalida ed eventualmente sostituire il risultato con un errore.

Per un nodo che risponde, il metodo deve verificare l'autorità del richiedente di esportare la chiave richiesta.

Per un nodo iniziale, il metodo dovrebbe verificare che il certificato convalidato identifichi correttamente il peer a cui è stata inviata la richiesta di esportazione della chiave.

ReleaseNodeCertSet

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

Rilascia il set di certificati del nodo.

Richiamato quando il motore di esportazione della chiave ha terminato con il set di certificati restituito da GetNodeCertSet().

ValidateUnsignedKeyExportMessage

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

Verifica la sicurezza di un messaggio di esportazione di una chiave non firmata.

Richiamato quando il nodo riceve un messaggio di esportazione della chiave non firmato. Il metodo dovrebbe verificare la sicurezza di un messaggio di esportazione di una chiave non firmata in base al contesto della sua comunicazione, ad esempio tramite gli attributi di una sessione di sicurezza utilizzati per inviare il messaggio.

Per un nodo che risponde, il metodo dovrebbe verificare l'autorità dell'iniziatore di esportare la chiave richiesta.

Per un nodo iniziale, il metodo dovrebbe verificare che il messaggio provenga legittimamente dal peer a cui è stata inviata la richiesta di esportazione della chiave.