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

Il s'agit d'une classe abstraite.

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

Classe de délégué abstraite appelée par le moteur KeyExport pour effectuer diverses actions liées à l'authentification lors de l'exportation de la clé.

Résumé

Héritage

Sous-classes directes connues: nl::Weave::Profiles::Security::KeyExport::WeaveStandAloneKeyExportClient

Fonctions publiques

BeginCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Préparez-vous à valider le certificat de l'émetteur.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Libérez les ressources associées à la validation des certificats d'équivalence.
GenerateNodeSignature(WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Générez une signature pour un message d'exportation de clé.
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Obtenez le certificat d'exportation de clé défini pour le nœud local.
HandleCertValidationResult(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Traitez les résultats de la validation du certificat de l'émetteur.
ReleaseNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Libérez l'ensemble de certificats du nœud.
ValidateUnsignedKeyExportMessage(WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Vérifier la sécurité d'un message d'exportation de clé non signé

Fonctions publiques

BeginCertValidation

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

Préparez-vous à valider le certificat de l'émetteur.

Appelée au début de la validation du certificat. Cette méthode permet de préparer l'ensemble de certificats fourni et le contexte de validation à utiliser pour valider le certificat du nœud pair. Les implémentations doivent initialiser l'objet WeaveCertificateSet fourni avec suffisamment de ressources pour gérer la prochaine validation du certificat. L'implémentation doit également charger tous les certificats racine ou d'autorité de certification approuvés nécessaires dans l'ensemble de certificats.

Le contexte de validation fourni sera initialisé avec un ensemble de critères de validation par défaut, que l'implémentation peut modifier si nécessaire. L'implémentation doit définir le champ EffectiveTime ou les indicateurs de validation appropriés pour supprimer la validation de la durée de validité du certificat.

L'implémentation est requise pour conserver toutes les ressources allouées lors de BeginCertValidation() jusqu'à l'appel de EndCertValidation() correspondant. Les implémentations sont garanties que EndCertValidation() sera appelé exactement une fois pour chaque appel réussi de BeginCertValidation().

EndCertValidation

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

Libérez les ressources associées à la validation des certificats d'équivalence.

Appelé une fois la validation du certificat d'émetteur et la validation de la requête terminées.

GenerateNodeSignature

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

Générez une signature pour un message d'exportation de clé.

Cette méthode est chargée de calculer une signature de la valeur de hachage donnée à l'aide de la clé privée du nœud local, puis d'écrire la signature dans l'outil d'écriture TLV fourni en tant que structure TLV WeaveSignature.

GetNodeCertSet

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

Obtenez le certificat d'exportation de clé pour le nœud local.

Appelé lorsque le moteur d'exportation de clés se prépare à signer un message d'exportation de clés. Cette méthode est chargée d'initialiser l'ensemble de certificats et de charger tous les certificats qui seront inclus ou référencés dans la signature du message. Le dernier certificat chargé doit être le certificat de signature.

HandleCertValidationResult

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

Traiter les résultats de la validation du certificat du pair

Appelé lorsque la validation du certificat du nœud pair est terminée. Cette méthode n'est appelée que si la validation du certificat aboutit. Les implémentations peuvent utiliser cet appel pour inspecter les résultats de la validation et éventuellement remplacer le résultat par une erreur.

Pour un nœud répondant, la méthode doit vérifier que le demandeur est autorisé à exporter la clé demandée.

Pour un nœud initiateur, la méthode doit vérifier que le certificat validé identifie correctement l'homologue auquel la requête d'exportation de clé a été envoyée.

ReleaseNodeCertSet

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

Libérez l'ensemble de certificats du nœud.

Appelé lorsque le moteur d'exportation de clés a terminé avec l'ensemble de certificats renvoyé par GetNodeCertSet().

ValidateUnsignedKeyExportMessage

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

Vérifier la sécurité d'un message d'exportation de clé non signé

Appelé lorsque le nœud reçoit un message d'exportation de clé non signé. La méthode doit permettre de vérifier la sécurité d'un message d'exportation de clé non signé en fonction du contexte de sa communication, par exemple via les attributs d'une session de sécurité utilisée pour envoyer le message.

Pour un nœud répondant, la méthode doit vérifier que l'initiateur est habilité à exporter la clé demandée.

Pour un nœud initiateur, la méthode doit vérifier que le message provient légitimement du pair auquel la requête d'exportation de clé a été envoyée.