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

Esta é uma classe abstrata.

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

A classe delegada abstrata chamada pelo mecanismo KeyExport para realizar várias ações relacionadas à autenticação durante a exportação da chave.

Resumo

Herança

Subclasses conhecidas: nl::Weave::Profiles::Security::KeyExport::WeaveStandAloneKeyExportClient

Funções públicas

BeginCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Prepare-se para validar o certificado de peering.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Liberar recursos associados à validação do certificado de peering.
GenerateNodeSignature(WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Gere uma assinatura para uma mensagem de exportação de chaves.
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Receba o certificado de exportação de chaves definido para o nó local.
HandleCertValidationResult(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Processe os resultados da validação do certificado de peering.
ReleaseNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Libere o conjunto de certificados do nó.
ValidateUnsignedKeyExportMessage(WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Verifique a segurança de uma mensagem de exportação de chave não assinada.

Funções públicas

BeginCertValidation

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

Prepare-se para validar o certificado de peering.

Chamado no início da validação do certificado. Esse método é responsável por preparar o conjunto de certificados e o contexto de validação usados para validar o certificado do nó de peering. As implementações precisam inicializar o objeto WeaveCertificateSet fornecido com recursos suficientes para lidar com a próxima validação de certificado. A implementação também precisa carregar todos os certificados raiz ou de CA confiáveis no conjunto de certificados.

O contexto de validação fornecido será inicializado com um conjunto de critérios de validação padrão, que a implementação pode alterar conforme necessário. A implementação precisa definir o campo "EffectiveTime" ou definir as sinalizações de validação apropriadas para suprimir a validação do ciclo de vida do certificado.

A implementação é necessária para manter todos os recursos alocados durante BeginCertValidation() até que a classe EndCertValidation() correspondente seja chamada. As implementações são garantidas que EndCertValidation() é chamado exatamente uma vez para cada chamada bem-sucedida para BeginCertValidation().

EndCertValidation

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

Liberar recursos associados à validação do certificado de peering.

Chamado quando a validação do certificado de peering e a verificação da solicitação são concluídas.

GenerateNodeSignature

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

Gere uma assinatura para uma mensagem de exportação de chaves.

Esse método é responsável por calcular uma assinatura do valor de hash fornecido usando a chave privada do nó local e gravar a assinatura no gravador TLV fornecido como uma estrutura TLV do WeaveSignature.

GetNodeCertSet

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

Receba o certificado de exportação de chaves definido para o nó local.

Chamado quando o mecanismo de exportação de chaves está se preparando para assinar uma mensagem de exportação de chave. Esse método é responsável por inicializar o conjunto de certificados e carregar todos os certificados que serão incluídos ou referenciados na assinatura da mensagem. O último certificado carregado precisa ser o de assinatura.

HandleCertValidationResult.

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

Processe os resultados da validação do certificado de peering.

Chamado quando a validação do certificado do nó de peering é concluída. Esse método só será chamado se a validação do certificado for concluída. As implementações podem usar essa chamada para inspecionar os resultados da validação e possivelmente modificar o resultado com um erro.

Para um nó de resposta, o método precisa verificar a autoridade do solicitante para exportar a chave solicitada.

Para um nó inicial, o método deverá verificar se o certificado validado identifica corretamente o par a que a solicitação de exportação de chave foi enviada.

Definição do NodeNodeCertSet

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

Libere o conjunto de certificados do nó.

Chamado quando o mecanismo de exportação de chaves é concluído com o conjunto de certificados retornado por GetNodeCertSet().

ValidateUnSignedKeyExportMessage

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

Verifique a segurança de uma mensagem de exportação de chave não assinada.

Chamado quando o nó recebe uma mensagem de exportação de chave que não está assinada. O método verifica a segurança de uma mensagem de exportação de chaves não assinada com base no contexto da comunicação, por exemplo, por meio de atributos de uma sessão de segurança usada para enviar a mensagem.

Para um nó respondendo, o método espera verificar a autoridade do iniciador para exportar a chave solicitada.

Para um nó inicial, o método deve verificar a mensagem legitimamente originada do peering para quem a solicitação de exportação de chave foi enviada.