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

Questa è una classe astratta.

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

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

Riepilogo

Eredità

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

Funzioni pubbliche

BeginCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Preparati per la convalida del certificato del peer.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Rilascia le risorse associate alla convalida del certificato 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 della chiave non firmato.

Funzioni pubbliche

BeginCertValidation

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

Preparati per la convalida del certificato del peer.

Chiamata all'inizio della convalida del certificato. Questo metodo è responsabile della preparazione del set di certificati fornito e del contesto di convalida da utilizzare per convalidare il certificato del nodo peer. Le implementazioni devono inizializzare l'oggetto WeaveCertificateSet fornito con risorse sufficienti per gestire l'imminente convalida del certificato. L'implementazione deve anche caricare nel set di certificati eventuali certificati radice o CA attendibili necessari.

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

L'implementazione è necessaria per mantenere le risorse allocate durante BeginCertValidation() fino a quando non viene chiamata la funzione EndCertValidation() corrispondente. Nelle implementazioni è garantito che EndCertValidation() venga chiamato esattamente una volta per ogni chiamata a BeginCertValidation() riuscita.

EndCertValidation

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

Rilascia le risorse associate alla convalida del certificato peer.

Richiamato quando la convalida del certificato peer e la verifica della richiesta sono state completate.

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 di una firma del valore hash fornito utilizzando la chiave privata del nodo locale e della scrittura della firma per il writer TLV fornito come struttura WeaveSignature TLV.

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 della chiave si prepara a firmare un messaggio chiave di esportazione. Questo metodo consente di inizializzare il set di certificati e di caricare tutti i certificati che verranno inclusi o indicati 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.

Richiamato quando la convalida del certificato del nodo peer è stata completata. Questo metodo viene richiamato solo se la convalida del certificato viene 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 dovrebbe verificare l'autorità del richiedente a esportare la chiave richiesta.

Per un nodo che si avvia, 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 delle chiavi viene completato con il certificato impostato da GetNodeCertSet().

ValidateUnsignedKeyExportMessage

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

Verifica la sicurezza di un messaggio di esportazione della chiave non firmato.

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

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

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