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

Essa é uma classe abstrata.

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

Classe de delegação abstrata chamada pelo mecanismo KeyExport para executar várias ações relacionadas à autenticação durante a exportação da chave.

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 peering.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Libere 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 chave.
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Encontre o certificado de exportação da chave 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 do 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 do peering.

Chamado 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ó de peering. As implementações precisam inicializar o objeto WeaveCertificateSet fornecido com recursos suficientes para processar a próxima validação do certificado. A implementação também precisa carregar todos os certificados raiz ou CA 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 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 o EndCertValidation() correspondente seja chamado. As implementações garantem que EndCertValidation() será chamada exatamente uma vez para cada chamada bem-sucedida de BeginCertValidation().

EndCertValidation

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

Libere 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 chave.

Esse método é responsável por calcular a 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

Encontre o certificado de exportação da chave definido para o nó local.

Chamado quando o mecanismo de exportação de chave 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 do peering.

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

Para um nó de resposta, espera-se que o método verifique a autoridade do solicitante para exportar a chave solicitada.

Para um nó inicial, o método precisa verificar se o certificado validado identifica corretamente o peering para o qual a solicitação de exportação de 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 chave termina 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 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, usando os atributos de uma sessão de segurança usada para enviar a mensagem.

Para um nó de resposta, espera-se que o método verifique a autoridade do iniciador para exportar a chave solicitada.

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