O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

nl::Weave::Perfis::Segurança::CertProvisioning::WeaveCertProvEngine

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

Implementa a lógica principal do objeto do protocolo de provisionamento de certificado do Weave.

Resumo

Construtores e destrutores

WeaveCertProvEngine(void)

Tipos públicos

@246{
  kReqType_GetInitialOpDeviceCert = 0,
  kReqType_RotateOpDeviceCert = 1
}
tipo enumerado
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
Esta função é o callback do aplicativo invocado nos eventos da API de provisionamento do certificado.
EventType{
  kEvent_PrepareAuthorizeInfo = 1,
  kEvent_ResponseReceived = 2,
  kEvent_CommunicationError = 3
}
tipo enumerado
State{
  kState_NotInitialized = 0,
  kState_Idle = 1,
  kState_PreparingBinding = 2,
  kState_RequestInProgress = 3
}
tipo enumerado

Atributos públicos

AppState
void *
Um ponteiro para dados específicos do aplicativo.

Funções públicas

AbortCertificateProvisioning(void)
void
Para qualquer troca do GetCertificate em andamento.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
Gere a mensagem GetCertificateRequest.
GetBinding(void) const
Retorna um ponteiro para o objeto Binding associado ao WeaveCertProvEngine.
GetEventCallback(void) const
Retorna um ponteiro para a função de callback do evento da API atualmente configurada no objeto WeaveCertProvEngine.
GetMfrAttestDelegate(void) const
Retorna um ponteiro para o objeto delegado do atestado do fabricante atualmente configurado no objeto WeaveCertProvEngine.
GetOpAuthDelegate(void) const
Retorna um ponteiro para o objeto delegado de autenticação operacional atualmente configurado no objeto WeaveCertProvEngine.
GetReqType(void) const
uint8_t
Recuperar o tipo de solicitação atual.
GetState(void) const
Recupere o estado atual do objeto WeaveCertProvEngine.
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
Inicialize um objeto WeaveCertProvEngine como preparação para o envio da mensagem de solicitação de recebimento de certificado.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
Processar a mensagem GetCertificateResponse.
SetBinding(Binding *binding)
void
Define o objeto de vinculação no objeto WeaveCertProvEngine.
SetEventCallback(EventCallback eventCallback)
void
Define a função de callback do evento da API no objeto WeaveCertProvEngine.
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
Define o objeto delegado do atestado do fabricante no objeto WeaveCertProvEngine.
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
void
Define o objeto de delegação de autenticação operacional no objeto WeaveCertProvEngine.
Shutdown(void)
void
Encerre um objeto WeaveCertProvEngine inicializado anteriormente.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
Inicie o protocolo de provisionamento de certificado.

Estruturas

nl::Weave::Perfis::Segurança::CertProvisioning::WeaveCertProvEngine::InEventParam

Parâmetros de entrada para o evento da API Weave Certificate Provisioning.

nl::Weave::Perfis::Segurança::CertProvisioning::WeaveCertProvEngine::OutEventParam

Parâmetros de saída para o evento da API Weave Certificate Provisioning

Tipos públicos

@246

 @246
Propriedades
kReqType_GetInitialOpDeviceCert

O tipo "Solicitar certificado" recebe o certificado inicial inicial.

kReqType_RotateOpDeviceCert

O tipo "Request Certificate" é para alternar o certificado operacional atual.

Retorno de chamada do evento

void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)

Esta função é o callback do aplicativo invocado nos eventos da API de provisionamento do certificado.

Detalhes
Parâmetros
[in] appState
Um ponteiro para informações de estado definidas pelo aplicativo associadas ao objeto do mecanismo.
[in] eventType
Código do evento transmitido pelo callback do evento.
[in] inParam
Referência de parâmetros de evento de entrada transmitidos pelo callback do evento.
[in] outParam
Referência de parâmetros de eventos de saída transmitidos pelo callback do evento.

EventType

 EventType
Propriedades
kEvent_CommunicationError

Ocorreu um erro de comunicação ao enviar uma GetCertificateRequest ou aguardar uma resposta.

kEvent_PrepareAuthorizeInfo

O aplicativo é solicitado a preparar o payload para GetCertificateRequest.

kEvent_ResponseReceived

Uma mensagem GetCertificateResponse foi recebida do peering.

Estado

 State
Propriedades
kState_Idle

O objeto do mecanismo está inativo.

kState_NotInitialized

O objeto do mecanismo não é inicializado.

kState_PreparingBinding

O objeto do mecanismo está aguardando a vinculação ficar pronta.

kState_RequestInProgress

Uma mensagem GetCertificateRequest foi enviada e o objeto do mecanismo está aguardando uma resposta.

Atributos públicos

Estado do app

void * AppState

Um ponteiro para dados específicos do aplicativo.

Funções públicas

AbortCertificateProvisioning

void AbortCertificateProvisioning(
  void
)

Para qualquer troca do GetCertificate em andamento.

GetGetCertificateRequest

WEAVE_ERROR GenerateGetCertificateRequest(
  PacketBuffer *msgBuf,
  uint8_t reqType,
  bool doMfrAttest
)

Gere a mensagem GetCertificateRequest.

Esse método gera a estrutura GetCertificateRequest do Weave codificada no formato TLV do Weave.

Ao formar a mensagem GetCertificateRequest, o método faz uma solicitação ao aplicativo usando as funções WeaveNodeOpAuthDelegate e WeaveNodeMfrAttestDelegate e o evento da API PrepareAuthorizeInfo para preparar o payload da mensagem.

Detalhes
Parâmetros
[in] msgBuf
Um ponteiro para o objeto PackageBuffer que contém a mensagem GetCertificateRequest.
[in] reqType
Acessar tipo de solicitação de certificado.
[in] doMfrAttest
Uma sinalização booleana que indica se a solicitação precisa incluir dados de atestado do fabricante.
Valores de retorno
WEAVE_NO_ERROR
Se GetCertificateRequest foi gerado.

GetBinding

Binding * GetBinding(
  void
) const 

Retorna um ponteiro para o objeto Binding associado ao WeaveCertProvEngine.

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Retorna um ponteiro para a função de callback do evento da API atualmente configurada no objeto WeaveCertProvEngine.

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

Retorna um ponteiro para o objeto delegado do atestado do fabricante atualmente configurado no objeto WeaveCertProvEngine.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

Retorna um ponteiro para o objeto delegado de autenticação operacional atualmente configurado no objeto WeaveCertProvEngine.

GetReqType

uint8_t GetReqType(
  void
) const 

Recuperar o tipo de solicitação atual.

GetState

State GetState(
  void
) const 

Recupere o estado atual do objeto WeaveCertProvEngine.

Init

WEAVE_ERROR Init(
  Binding *binding,
  WeaveNodeOpAuthDelegate *opAuthDelegate,
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate,
  EventCallback eventCallback,
  void *appState
)

Inicialize um objeto WeaveCertProvEngine como preparação para o envio da mensagem de solicitação de recebimento de certificado.

Detalhes
Parâmetros
[in] binding
Um objeto Binding que será usado para estabelecer a comunicação com o nó de peering.
[in] opAuthDelegate
Um ponteiro para um objeto delegado de autenticação operacional que será usado para construir e assinar usando as credenciais operacionais do nó.
[in] mfrAttestDelegate
Um ponteiro para um objeto delegado de atestado do fabricante que será usado para construir e assinar a solicitação usando as credenciais provisionadas do fabricante do nó.
[in] eventCallback
Um ponteiro para uma função que será chamada pelo objeto WeaveCertProvEngine para entregar eventos de API ao aplicativo.
[in] appState
Um ponteiro para um objeto definido pelo aplicativo que será retornado ao aplicativo sempre que ocorrer um evento de API.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

Processar a mensagem GetCertificateResponse.

Esse método processa a estrutura GetCertificateResponse de Weave codificada no formato TLV do Weave.

Quando o processamento da mensagem GetCertificateResponse for concluído, o método fará uma chamada ao aplicativo, por meio do evento da API ResponseReceived, para entregar o resultado.

Se o processamento da mensagem GetCertificateResponse falhar, o método fará uma chamada ao aplicativo, por meio do evento da API CommunicationError, para informar o erro.

Detalhes
Parâmetros
[in] msgBuf
Um ponteiro para o objeto PackageBuffer que contém a mensagem GetCertificateResponse.
Valores de retorno
WEAVE_NO_ERROR
Se a mensagem GetCertificateResponse foi processada com sucesso.

SetBinding

void SetBinding(
  Binding *binding
)

Define o objeto de vinculação no objeto WeaveCertProvEngine.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Define a função de callback do evento da API no objeto WeaveCertProvEngine.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

Define o objeto delegado do atestado do fabricante no objeto WeaveCertProvEngine.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

Define o objeto de delegação de autenticação operacional no objeto WeaveCertProvEngine.

Desligamento

void Shutdown(
  void
)

Encerre um objeto WeaveCertProvEngine inicializado anteriormente.

Esse método só poderá ser chamado se o método Init() tiver sido chamado anteriormente.

Certificado StartStartProvisioning

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

Inicie o protocolo de provisionamento de certificado.

Esse método inicia o processo de envio de uma mensagem GetCertificateRequest ao serviço da CA. Se e quando uma mensagem GetCertificateResponse correspondente for recebida, ela será entregue ao aplicativo pelo evento da API ResponseReceived.

Se o objeto Binding não estiver no estado "Ready" quando este método for chamado, uma solicitação será feita ao método Binding::RequestPrepare() para iniciar a preparação sob demanda. A operação de solicitação aguarda até que esse processo seja concluído. Qualquer chamada para StartCertificateProvisioning() enquanto houver uma solicitação anterior em andamento será ignorada.

Detalhes
Parâmetros
[in] reqType
Acessar tipo de solicitação de certificado.
[in] doMfrAttest
Uma sinalização booleana que indica se o protocolo precisa incluir dados de atestado do fabricante.
Valores de retorno
WEAVE_NO_ERROR
Se StartCertificateProvisioning() foi processado.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)