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

Il s'agit d'une classe abstraite.

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

Classe déléguée 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 du pair.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Libérez les ressources associées à la validation des certificats de pairs.
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 du pair.
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érifiez la sécurité d'un message d'exportation de clé non signée.

Fonctions publiques

BeginCertValidation

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

Préparez-vous à valider le certificat du pair.

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 en vue de valider le certificat du nœud pair. Les implémentations doivent initialiser l'objet WeaveCertificateSet fourni avec des ressources suffisantes pour gérer la prochaine validation du certificat. L'implémentation doit également charger tous les certificats racines ou CA de confiance 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 pourra modifier si nécessaire. L'implémentation doit définir le champ EffectiveTime ou définir les indicateurs de validation appropriés pour supprimer la validation de la durée de vie du certificat.

L'implémentation est nécessaire pour conserver toutes les ressources allouées pendant BeginCertValidation() jusqu'à ce que la méthode EndCertValidation() correspondante soit appelée. Les implémentations sont garanties que EndCertValidation() sera appelé exactement une fois pour chaque appel réussi à BeginCertValidation().

EndCertValidation

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

Libérez les ressources associées à la validation des certificats de pairs.

Appelée lorsque la validation du certificat de pairs et la vérification de la requête sont 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 permet de calculer une signature de la valeur de hachage donnée à l'aide de la clé privée du nœud local et d'écrire la signature pour le rédacteur TLV fourni sous la forme d'une structure TLV WeaveSignature.

GetNodeCertSet

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

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

Appelée lorsque le moteur d'exportation de clé se prépare à signer un message d'exportation de clé. Cette méthode permet 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

Traitez les résultats de la validation du certificat du pair.

Appelée 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 de lancement, la méthode doit vérifier que le certificat validé identifie correctement le pair auquel la demande 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ée lorsque le moteur d'exportation de clé a terminé avec l'ensemble de certificats renvoyé par GetNodeCertSet().

ValidateUnsignedKeyExportMessage

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

Vérifiez la sécurité d'un message d'exportation de clé non signée.

Appelée lorsque le nœud reçoit un message d'exportation de clé non signé. Cette méthode est censée 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 l'autorisation de l'initiateur d'exporter la clé demandée.

Pour un nœud de lancement, la méthode est attendue pour vérifier que le message provient légitimement du pair auquel la demande d'exportation de clé a été envoyée.