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

Esta é uma classe abstrata.

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

Classe delegada abstrata chamada pelo mecanismo KeyExport para realizar várias ações relacionadas à autenticação durante a exportação de chaves.

Resumo

Herança

Subclasses conhecidas diretas: 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 do peer.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Libere os recursos associados à validação do certificado do peer.
GenerateNodeSignature(WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Gerar uma assinatura para uma mensagem de exportação de chave.
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Consiga o certificado de exportação de chave definido para o nó local.
HandleCertValidationResult(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Processa os resultados da validação do certificado do peer.
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 do peer.

Chamada no início da validação do certificado. Esse método é responsável por preparar o conjunto de certificados fornecido e o contexto de validação para uso na validação do certificado do nó peer. As implementações precisam inicializar o objeto WeaveCertificateSet fornecido com recursos suficientes para processar a próxima validação de certificado. A implementação também precisa carregar todos os certificados raiz ou de AC confiáveis necessários 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 flags de validação adequadas para suprimir a validação da validade do certificado.

A implementação é necessária para manter todos os recursos alocados durante BeginCertValidation() até que a chamada EndCertValidation() correspondente seja feita. As implementações têm garantia de que EndCertValidation() será chamado exatamente uma vez para cada chamada bem-sucedida de BeginCertValidation().

EndCertValidation

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

Libere os recursos associados à validação do certificado do peer.

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

Gerar uma assinatura para uma mensagem de exportação de chave.

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

Consiga o certificado de exportação de chave 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 certificado de assinatura.

HandleCertValidationResult

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

Processa os resultados da validação do certificado do peer.

Chamada quando a validação do certificado do nó peer é concluída. Esse método só é 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, substituir o resultado por um erro.

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

Para um nó inicial, o método deve verificar se o certificado validado identifica corretamente o ponto para o qual a solicitação de exportação da chave foi enviada.

ReleaseNodeCertSet

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 termina 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.

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

Para um nó que responde, o método precisa verificar a autoridade do iniciador para exportar a chave solicitada.

Para um nó de inicialização, o método precisa verificar se a mensagem foi originada legitimamente pelo peer para o qual a solicitação de exportação de chave foi enviada.