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

Esta es una clase abstracta.

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

Clase delegada abstracta que llama el motor KeyExport para realizar varias acciones relacionadas con la autenticación durante la exportación de claves.

Resumen

Herencia

Subclases directamente conocidas: nl::Weave::Profiles::Security::KeyExport::WeaveStandAloneKeyExportClient

Funciones públicas

BeginCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Prepárate para validar el certificado del par.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Libera recursos asociados con la validación de certificados de pares.
GenerateNodeSignature(WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Genera una firma para un mensaje de exportación de claves.
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Obtén el conjunto de certificados de exportación de claves para el nodo local.
HandleCertValidationResult(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Procesa los resultados de la validación del certificado del par.
ReleaseNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Libera el conjunto de certificados del nodo.
ValidateUnsignedKeyExportMessage(WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Verifica la seguridad de un mensaje de exportación de clave sin firma.

Funciones públicas

BeginCertValidation

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

Prepárate para validar el certificado del par.

Se llama al inicio de la validación del certificado. Este método es responsable de preparar el conjunto de certificados proporcionado y el contexto de validación para usarlos en la validación del certificado del nodo de intercambio de tráfico. Las implementaciones deben inicializar el objeto WeaveCertificateSet proporcionado con los recursos suficientes para controlar la próxima validación del certificado. La implementación también debe cargar cualquier certificado raíz o de AC de confianza necesario en el conjunto de certificados.

El contexto de validación proporcionado se inicializará con un conjunto de criterios de validación predeterminados, los cuales la implementación puede modificar según sea necesario. La implementación debe establecer el campo EffectiveTime o establecer las marcas de validación adecuadas para suprimir la validación del ciclo de vida del certificado.

La implementación es necesaria para mantener los recursos asignados durante BeginCertValidation() hasta que se llame a la EndCertValidation() correspondiente. Las implementaciones garantizan que se llamará a EndCertValidation() exactamente una vez por cada llamada exitosa a BeginCertValidation().

EndCertValidation

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

Libera recursos asociados con la validación de certificados de pares.

Se llama cuando se completan la validación del certificado de pares y la verificación de la solicitud.

GenerateNodeSignature

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

Genera una firma para un mensaje de exportación de claves.

Este método se encarga de procesar una firma del valor de hash determinado mediante la clave privada del nodo local y de escribir la firma en el escritor del TLV proporcionado como una estructura TLV de WeaveSignature.

GetNodeCertSet

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

Obtén el conjunto de certificados de exportación de claves para el nodo local.

Se llama cuando el motor de exportación de claves se está preparando para firmar un mensaje de exportación de claves. Este método se encarga de inicializar el conjunto de certificados y cargar todos los certificados que se incluirán o se hará referencia en la firma del mensaje. El último certificado que se cargó debe ser el certificado de firma.

HandleCertValidationResult

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

Procesa los resultados de la validación del certificado del par.

Se llama cuando se completa la validación del certificado del nodo de intercambio de tráfico. Solo se llama a este método si la validación del certificado se completa de forma correcta. Las implementaciones pueden usar esta llamada para inspeccionar los resultados de la validación y, si es posible, anularlos con un error.

En el caso de un nodo que responde, se espera que el método verifique la autoridad del solicitante para exportar la clave solicitada.

Para un nodo iniciador, se espera que el método verifique que el certificado validado identifique de forma correcta el par al que se envió la solicitud de exportación de claves.

ReleaseNodeCertSet

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

Libera el conjunto de certificados del nodo.

Se llama cuando el motor de exportación de claves finaliza con el conjunto de certificados que muestra GetNodeCertSet().

ValidateUnsignedKeyExportMessage

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

Verifica la seguridad de un mensaje de exportación de clave sin firma.

Se llama cuando el nodo recibe un mensaje de exportación de claves que no está firmado. Se espera que el método verifique la seguridad de un mensaje de exportación de clave sin firma según el contexto de su comunicación, p.ej., mediante los atributos de una sesión de seguridad que se usó para enviar el mensaje.

En el caso de un nodo que responde, se espera que el método verifique la autoridad del iniciador para exportar la clave solicitada.

Para un nodo iniciador, se espera que el método verifique el mensaje que se originó de forma legítima en el par al que se envió la solicitud de exportación de clave.