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

Questa è una classe astratta.

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

Classe del delegato astratta chiamata dal motore KeyExport per eseguire varie azioni relative all'autenticazione durante l'esportazione delle chiavi.

Riepilogo

Eredità

Classi secondarie dirette note: 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 l'insieme 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 la prossima convalida del certificato. 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.

Viene chiamato al termine della convalida del certificato peer e della verifica della richiesta.

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 dell'insieme di certificati e del caricamento di tutti i certificati che verranno 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 viene completata correttamente. Le implementazioni possono utilizzare questa chiamata per ispezionare 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 per 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 l'insieme 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.

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

Per un nodo che risponde, il metodo deve verificare l'autorità dell'iniziatore per 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.