nl:: Weave:: Profiles:: Security:: CertProvisioning:: WeaveCertProvEngine
#include <src/lib/profiles/security/WeaveCertProvisioning.h>
Implementa la logica di base dell'oggetto del protocollo Weave Certificate Provisioning.
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 richiamato negli eventi dell'API Certificate Provisioning Engine. |
EventType{
|
enum |
State{
|
enum |
Attributi pubblici |
|
---|---|
AppState
|
void *
Un puntatore ai dati specifici dell'applicazione.
|
Funzioni pubbliche |
|
---|---|
AbortCertificateProvisioning(void)
|
void
Arresta 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 delegato dell'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 vista dell'invio del messaggio di richiesta di recupero 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 delegato dell'attestazione del produttore sull'oggetto WeaveCertProvEngine.
|
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
|
void
Imposta l'oggetto 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 dei certificati.
|
Structs |
|
---|---|
nl:: |
Parametri di input per l'evento API Weave Certificate Provisioning. |
nl:: |
Parametri di output per l'evento 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 Ottieni certificato è la rotazione del certificato operativo attuale. |
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 |
|
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
|
L'applicazione deve preparare il payload per GetCertificateRequest. |
kEvent_ResponseReceived
|
Il peer ha ricevuto un messaggio GetCertificateResponse. |
Stato
State
Proprietà | |
---|---|
kState_Idle
|
L'oggetto del motore è inattivo. |
kState_NotInitialized
|
L'oggetto del 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 )
Arresta 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, tramite 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 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 nell'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.
Init
WEAVE_ERROR Init( Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState )
Inizializza un oggetto WeaveCertProvEngine in vista dell'invio del messaggio di richiesta di recupero del certificato.
Dettagli | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
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 dell'API ResponseReceived, per recapitare 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 delegato dell'attestazione del produttore sull'oggetto WeaveCertProvEngine.
SetOpAuthDelegate
void SetOpAuthDelegate( WeaveNodeOpAuthDelegate *opAuthDelegate )
Imposta l'oggetto 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() è già stato richiamato in precedenza.
StartCertificateProvisioning
WEAVE_ERROR StartCertificateProvisioning( uint8_t reqType, bool doMfrAttest )
Avvia il protocollo di provisioning dei certificati.
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à consegnato all'applicazione tramite l'evento API ResponseReceived.
Se l'oggetto Binding non è in stato Pronto quando viene chiamato questo metodo, verrà effettuata una richiesta al metodo Binding::RequestPrepare() per avviare la preparazione on demand. L'operazione di richiesta attenderà il completamento di questo processo. Qualsiasi chiamata a StartCertificateProvisioning() mentre è in corso una richiesta precedente verrà ignorata.
Dettagli | |||||
---|---|---|---|---|---|
Parametri |
|
||||
Valori restituiti |
|
WeaveCertProvEngine
WeaveCertProvEngine( void )