nl:: Weave:: Profiles:: Security:: CertProvisioning:: WeaveCertProvEngine
#include <src/lib/profiles/security/WeaveCertProvisioning.h>
Implementa la logica di base dell'oggetto del protocollo di provisioning dei certificati Weave.
Riepilogo
Costruttori e distruttori |
|
---|---|
WeaveCertProvEngine(void)
|
Tipi pubblici |
|
---|---|
@246{
|
enum |
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
Questa funzione è il callback dell'applicazione che viene invocato sugli eventi dell'API Certificate Provisioning Engine. |
EventType{
|
enum |
State{
|
enum |
Attributi pubblici |
|
---|---|
AppState
|
void *
Un puntatore a dati specifici dell'applicazione.
|
Funzioni pubbliche |
|
---|---|
AbortCertificateProvisioning(void)
|
void
Interrompe qualsiasi scambio GetCertificate in corso.
|
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
|
Genera il messaggio GetCertificateRequest.
|
GetBinding(void) const
|
Binding *
Restituisce un puntatore all'oggetto Binding associato a WeaveCertProvEngine.
|
GetEventCallback(void) const
|
Restituisce un puntatore alla funzione callback dell'evento API attualmente configurata nell'oggetto WeaveCertProvEngine.
|
GetMfrAttestDelegate(void) const
|
Restituisce un puntatore all'oggetto del rappresentante per l'attestazione del produttore attualmente configurato nell'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
|
Recupera lo stato corrente dell'oggetto WeaveCertProvEngine.
|
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
|
Inizializza un oggetto WeaveCertProvEngine in preparazione all'invio del messaggio di richiesta di ottenimento del 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 del rappresentante per l'attestazione del produttore sull'oggetto WeaveCertProvEngine.
|
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
|
void
Imposta l'oggetto delegato per l'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 dei certificati.
|
Strutture |
|
---|---|
nl:: |
Parametri di input per l'evento dell'API Weave Certificate Provisioning. |
nl:: |
Parametri di output per l'evento dell'API Weave Certificate Provisioning. |
Tipi pubblici
@246
@246
Proprietà | |
---|---|
kReqType_GetInitialOpDeviceCert
|
Il tipo di richiesta Ottieni certificato è quello di ottenere il certificato operativo iniziale. |
kReqType_RotateOpDeviceCert
|
Il tipo di richiesta Get Certificate serve a ruotare il certificato operativo corrente. |
EventCallback
void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
Questa funzione è il callback dell'applicazione che viene invocato negli eventi dell'API Certificate Provisioning Engine.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
EventType
EventType
Proprietà | |
---|---|
kEvent_CommunicationError
|
Si è verificato un errore di comunicazione durante l'invio di un GetCertificateRequest o l'attesa di una risposta. |
kEvent_PrepareAuthorizeInfo
|
All'applicazione viene chiesto di preparare il payload per la richiesta GetCertificateRequest. |
kEvent_ResponseReceived
|
Il peer ha ricevuto un messaggio GetCertificateResponse. |
Stato
State
Proprietà | |
---|---|
kState_Idle
|
L'oggetto del motore è inattivo. |
kState_NotInitialized
|
L'oggetto engine non è stato inizializzato. |
kState_PreparingBinding
|
L'oggetto engine è in attesa che il binding sia pronto. |
kState_RequestInProgress
|
È stato inviato un messaggio GetCertificateRequest e l'oggetto motore è in attesa di risposta. |
Attributi pubblici
AppState
void * AppState
Un puntatore a dati specifici dell'applicazione.
Funzioni pubbliche
AbortCertificateProvisioning
void AbortCertificateProvisioning( void )
Interrompe qualsiasi scambio GetCertificate in corso.
GenerateGetCertificateRequest
WEAVE_ERROR GenerateGetCertificateRequest( PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest )
Genera il messaggio GetCertificateRequest.
Questo metodo genera la struttura Weave GetCertificateRequest codificata nel formato Weave TLV.
Quando si forma il messaggio GetCertificateRequest, il metodo effettua una richiesta all'applicazione mediante le funzioni WeaveNodeOpAuthDelegate e WeaveNodeMfrAttestDelegate e l'evento API Prepare DKIMInfo, per preparare il payload del messaggio.
Dettagli | |||||||
---|---|---|---|---|---|---|---|
Parametri |
|
||||||
Valori restituiti |
|
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 degli eventi API attualmente configurata nell'oggetto WeaveCertProvEngine.
GetMfrAttestDelegate
WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate( void ) const
Restituisce un puntatore all'oggetto del rappresentante per l'attestazione del produttore attualmente configurato nell'oggetto WeaveCertProvEngine.
GetOpAuthDelegate
WeaveNodeOpAuthDelegate * GetOpAuthDelegate( void ) const
Restituisce un puntatore all'oggetto del delegato di autenticazione operativo attualmente configurato nell'oggetto WeaveCertProvEngine.
GetReqType
uint8_t GetReqType( void ) const
Recupera il tipo di richiesta corrente.
Inizializzazione
WEAVE_ERROR Init( Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState )
Inizializza un oggetto WeaveCertProvEngine in preparazione all'invio del messaggio di richiesta di ottenimento del certificato.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
ProcessGetCertificateResponse
WEAVE_ERROR ProcessGetCertificateResponse( PacketBuffer *msgBuf )
Elabora il messaggio GetCertificateResponse.
Questo metodo elabora la struttura Weave GetCertificateResponse codificata nel formato TLV di Weave.
Quando l'elaborazione del messaggio GetCertificateResponse è completata correttamente, 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 |
|
||
Valori restituiti |
|
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 del rappresentante per l'attestazione del produttore sull'oggetto WeaveCertProvEngine.
SetOpAuthDelegate
void SetOpAuthDelegate( WeaveNodeOpAuthDelegate *opAuthDelegate )
Imposta l'oggetto delegato di 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 dei certificati.
Questo metodo avvia la procedura di invio di un messaggio GetCertificateRequest al servizio CA. Se e quando viene ricevuto un messaggio GetCertificateResponse corrispondente, questo verrà consegnato all'applicazione tramite l'evento API ResponseReceived.
Se l'oggetto Binding non è nello 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 di questa procedura. Qualsiasi chiamata a StartCertificateProvisioning() mentre è in corso una richiesta precedente verrà ignorata.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
WeaveCertProvEngine
WeaveCertProvEngine( void )