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

Esta es una clase abstracta.

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

Es la 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 directas 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
Lanza 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 claves sin firmar.

Funciones públicas

BeginCertValidation

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

Prepárate para validar el certificado de intercambio de tráfico.

Se llama al comienzo de la validación del certificado. Este método es responsable de preparar el conjunto de certificados y el contexto de validación proporcionados para su uso en la validación del certificado del nodo par. Las implementaciones deben inicializar el objeto WeaveCertificateSet proporcionado con recursos suficientes para controlar la validación del certificado que se realizará próximamente. La implementación también debe cargar los certificados raíz o de la AC de confianza necesarios en el conjunto de certificados.

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

La implementación debe mantener los recursos asignados durante BeginCertValidation() hasta que se llame a EndCertValidation() correspondiente. Se garantiza que se llamará a EndCertValidation() exactamente una vez por cada llamada correcta a BeginCertValidation().

EndCertValidation

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

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

Se llama cuando se completan la validación de certificados de pares y la verificación de solicitudes.

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 es responsable de calcular una firma del valor de hash determinado con la clave privada del nodo local y escribir la firma en el escritor de TLV proporcionado como una estructura de TLV de WeaveSignature.

GetNodeCertSet

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

Obtén el certificado de exportación de claves establecido para el nodo local.

Se llama cuando el motor de exportación de claves se prepara para firmar un mensaje de exportación de claves. Este método es responsable de inicializar el conjunto de certificados y cargar todos los certificados que se incluirán o a los que se hará referencia en la firma del mensaje. El último certificado cargado 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 de intercambio de tráfico.

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 correctamente. Las implementaciones pueden usar esta llamada para inspeccionar los resultados de la validación y, posiblemente, anular el resultado con un error.

Para un nodo de respuesta, el método debe verificar la autoridad del solicitante para exportar la clave solicitada.

En el caso de un nodo de inicio, se espera que el método verifique que el certificado validado identifique correctamente al 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 termina 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 claves sin firmar.

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 claves sin firmar en función del contexto de su comunicación, p.ej., a través de los atributos de una sesión de seguridad que se usa para enviar el mensaje.

Para un nodo de respuesta, el método debe verificar la autoridad del iniciador para exportar la clave solicitada.

Para un nodo iniciador, se espera que el método verifique que el mensaje se originó legítimamente desde el par al que se envió la solicitud de exportación de claves.