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{
|
tipo enumerado |
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
Esta função é o callback do aplicativo invocado nos eventos da API de provisionamento do certificado. |
EventType{
|
tipo enumerado |
State{
|
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
|
Binding *
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:: |
Parâmetros de entrada para o evento da API Weave Certificate Provisioning. |
nl:: |
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 |
|
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 |
|
||||||
Valores de retorno |
|
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.
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 |
|
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 |
|
||
Valores de retorno |
|
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 |
|
||||
Valores de retorno |
|
WeaveCertProvEngine
WeaveCertProvEngine( void )