nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine

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

Implementa la logica di base dell'oggetto di protocollo Weave Certificate Provisioning.

Riepilogo

Costruttori e distruttori

WeaveCertProvEngine(void)

Tipi pubblici

@246{
  kReqType_GetInitialOpDeviceCert = 0,
  kReqType_RotateOpDeviceCert = 1
}
enum
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
Questa funzione è il callback dell'applicazione che viene richiamato negli eventi dell'API Certificate Provisioning Engine.
EventType{
  kEvent_PrepareAuthorizeInfo = 1,
  kEvent_ResponseReceived = 2,
  kEvent_CommunicationError = 3
}
enum
State{
  kState_NotInitialized = 0,
  kState_Idle = 1,
  kState_PreparingBinding = 2,
  kState_RequestInProgress = 3
}
enum

Attributi pubblici

AppState
void *
Un puntatore ai dati specifici dell'applicazione.

Funzioni pubbliche

AbortCertificateProvisioning(void)
void
Arresto qualsiasi scambio GetCertificate in corso.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
Genera il messaggio GetCertificateRequest.
GetBinding(void) const
Restituisce un puntatore all'oggetto Binding associato a WeaveCertProvEngine.
GetEventCallback(void) const
Restituisce un puntatore alla funzione di callback dell'evento API attualmente configurata nell'oggetto WeaveCertProvEngine.
GetMfrAttestDelegate(void) const
Restituisce un puntatore all'oggetto delegato dell'attestazione del produttore attualmente configurato sull'oggetto WeaveCertProvEngine.
GetOpAuthDelegate(void) const
Restituisce un puntatore all'oggetto delegato dell'autenticazione operativa attualmente configurato nell'oggetto WeaveCertProvEngine.
GetReqType(void) const
uint8_t
Recupera il tipo di richiesta corrente.
GetState(void) const
Recuperare lo stato attuale dell'oggetto WeaveCertProvEngine.
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
Inizializza un oggetto WeaveCertProvEngine in preparazione per l'invio del messaggio di richiesta get certificato.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
Elabora il messaggio GetCertificateResponse.
SetBinding(Binding *binding)
void
Imposta l'oggetto di associazione sull'oggetto WeaveCertProvEngine.
SetEventCallback(EventCallback eventCallback)
void
Imposta la funzione di callback dell'evento API sull'oggetto WeaveCertProvEngine.
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
Imposta l'oggetto delegato dell'attestazione del produttore sull'oggetto WeaveCertProvEngine.
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
void
Imposta l'oggetto del delegato dell'autenticazione operativa sull'oggetto WeaveCertProvEngine.
Shutdown(void)
void
Arresta un oggetto WeaveCertProvEngine inizializzato in precedenza.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
Avvia il protocollo di provisioning del certificato.

Strutture

nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine::InEventParam

Parametri di input per l'evento dell'API Weave Certificate Provisioning.

nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine::OutEventParam

Parametri di output per l'evento dell'API Weave Certificate Provisioning.

Tipi pubblici

@246

 @246
Proprietà
kReqType_GetInitialOpDeviceCert

Il tipo di richiesta Ottieni certificato consente di ottenere il certificato operativo iniziale.

kReqType_RotateOpDeviceCert

Il tipo di richiesta Ottieni certificato consente di ruotare l'attuale certificato operativo.

EventCallback

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

Questa funzione è il callback dell'applicazione che viene richiamato negli eventi dell'API Certificate Provisioning Engine.

Dettagli
Parametri
[in] appState
Un puntatore alle informazioni sullo stato definito dall'applicazione associate all'oggetto motore.
[in] eventType
ID evento trasmesso dal callback dell'evento.
[in] inParam
Riferimento dei parametri evento di input passati dal callback dell'evento.
[in] outParam
Riferimento dei parametri evento di output passati dal callback dell'evento.

EventType

 EventType
Proprietà
kEvent_CommunicationError

Si è verificato un errore di comunicazione durante l'invio di una richiesta GetCertificateRequest o l'attesa di una risposta.

kEvent_PrepareAuthorizeInfo

L'applicazione deve preparare il payload per GetCertificateRequest.

kEvent_ResponseReceived

Il peer ha ricevuto un messaggio GetCertificateResponse.

Stato

 State
Proprietà
kState_Idle

L'oggetto motore è inattivo.

kState_NotInitialized

L'oggetto motore non è inizializzato.

kState_PreparingBinding

L'oggetto motore è in attesa che l'associazione sia pronta.

kState_RequestInProgress

È stato inviato un messaggio GetCertificateRequest e l'oggetto motore è in attesa di risposta.

Attributi pubblici

AppState

void * AppState

Un puntatore ai dati specifici dell'applicazione.

Funzioni pubbliche

AbortCertificateProvisioning

void AbortCertificateProvisioning(
  void
)

Arresto qualsiasi scambio GetCertificate in corso.

GenerateGetCertificateRequest

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

Genera il messaggio GetCertificateRequest.

Questo metodo genera una struttura Weave GetCertificateRequest codificata nel formato Weave TLV.

Quando formuli il messaggio GetCertificateRequest, il metodo effettua una richiesta all'applicazione, tramite le funzioni WeaveNodeOpAuthDelegate e WeaveNodeMfrAttestDelegate e l'evento API PrepareAutorizzaInfo, per preparare il payload del messaggio.

Dettagli
Parametri
[in] msgBuf
Un puntatore all'oggetto PacketBuffer che contiene il messaggio GetCertificateRequest.
[in] reqType
Ottieni tipo di richiesta di certificato.
[in] doMfrAttest
Un flag booleano che indica se la richiesta deve includere dati di attestazione del produttore.
Valori restituiti
WEAVE_NO_ERROR
Se GetCertificateRequest è stato generato correttamente.

GetBinding

Binding * GetBinding(
  void
) const 

Restituisce un puntatore all'oggetto Binding associato a WeaveCertProvEngine.

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Restituisce un puntatore alla funzione di callback dell'evento API attualmente configurata nell'oggetto WeaveCertProvEngine.

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

Restituisce un puntatore all'oggetto delegato dell'attestazione del produttore attualmente configurato sull'oggetto WeaveCertProvEngine.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

Restituisce un puntatore all'oggetto delegato dell'autenticazione operativa attualmente configurato nell'oggetto WeaveCertProvEngine.

GetReqType

uint8_t GetReqType(
  void
) const 

Recupera il tipo di richiesta corrente.

GetState

State GetState(
  void
) const 

Recuperare lo stato attuale dell'oggetto WeaveCertProvEngine.

Inizia

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

Inizializza un oggetto WeaveCertProvEngine in preparazione per l'invio del messaggio di richiesta get certificato.

Dettagli
Parametri
[in] binding
Un oggetto Binding che verrà utilizzato per stabilire la comunicazione con il nodo peer.
[in] opAuthDelegate
Un puntatore a un oggetto delegato dell'autenticazione operativa che verrà utilizzato per costruire e firmare utilizzando le credenziali operative del nodo.
[in] mfrAttestDelegate
Un puntatore a un oggetto delegato dell'attestazione del produttore che verrà utilizzato per creare e firmare la richiesta utilizzando le credenziali di cui il produttore del nodo ha eseguito.
[in] eventCallback
Un puntatore a una funzione che verrà chiamata dall'oggetto WeaveCertProvEngine per inviare eventi API all'applicazione.
[in] appState
Un puntatore a un oggetto definito dall'applicazione che verrà passato nuovamente all'applicazione ogni volta che si verifica un evento API.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

Elabora il messaggio GetCertificateResponse.

Questo metodo elabora la struttura Weave GetCertificateResponse codificata nel formato Weave TLV.

Una volta completata l'elaborazione del messaggio GetCertificateResponse, il metodo effettua una chiamata all'applicazione, tramite l'evento API ResponseReceived, per inviare il risultato.

Se l'elaborazione del messaggio GetCertificateResponse non riesce, il metodo effettua una chiamata all'applicazione tramite l'evento API CommunicationError per segnalare l'errore.

Dettagli
Parametri
[in] msgBuf
Un puntatore all'oggetto PacketBuffer che contiene il messaggio GetCertificateResponse.
Valori restituiti
WEAVE_NO_ERROR
Se il messaggio GetCertificateResponse è stato elaborato correttamente.

SetBinding

void SetBinding(
  Binding *binding
)

Imposta l'oggetto di associazione sull'oggetto WeaveCertProvEngine.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Imposta la funzione di callback dell'evento API sull'oggetto WeaveCertProvEngine.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

Imposta l'oggetto delegato dell'attestazione del produttore sull'oggetto WeaveCertProvEngine.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

Imposta l'oggetto del delegato dell'autenticazione operativa sull'oggetto WeaveCertProvEngine.

Arresto

void Shutdown(
  void
)

Arresta un oggetto WeaveCertProvEngine inizializzato in precedenza.

Tieni presente che questo metodo può essere chiamato solo se il metodo Init() è stato chiamato in precedenza.

StartCertificateProvisioning

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

Avvia il protocollo di provisioning del certificato.

Questo metodo avvia il processo di invio di un messaggio GetCertificateRequest al servizio CA. Se e quando viene ricevuto un messaggio GetCertificateResponse corrispondente, questo verrà recapitato all'applicazione tramite l'evento API ResponseReceived.

Se l'oggetto Binding non è in stato Pronto quando viene chiamato questo metodo, verrà inviata una richiesta al metodo Binding::RequestPrepare() per avviare la preparazione on demand. L'operazione di richiesta rimarrà in attesa fino al completamento del processo. Qualsiasi chiamata a StartCertificateProvisioning() mentre è presente una richiesta precedente in corso verrà ignorata.

Dettagli
Parametri
[in] reqType
Ottieni tipo di richiesta di certificato.
[in] doMfrAttest
Un flag booleano che indica se il protocollo deve includere dati di attestazione del produttore.
Valori restituiti
WEAVE_NO_ERROR
Se StartCertificateProvisioning() è stato elaborato correttamente.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)