nl:: Weave:: Profiles:: Security:: CertProvisioning:: WeaveCertProvEngine
#include <src/lib/profiles/security/WeaveCertProvisioning.h>
Implementiert die Kernlogik des Protokollobjekts für die Weave-Zertifikatbereitstellung.
Zusammenfassung
Konstruktoren und Zerstörer |
|
---|---|
WeaveCertProvEngine(void)
|
Öffentliche Typen |
|
---|---|
@246{
|
enum |
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
|
typedefvoid(*
Diese Funktion ist der Anwendungs-Callback, der bei API-Ereignissen der Certificate Provisioning Engine aufgerufen wird. |
EventType{
|
enum |
State{
|
enum |
Öffentliche Attribute |
|
---|---|
AppState
|
void *
Ein Zeiger auf anwendungsspezifische Daten.
|
Öffentliche Funktionen |
|
---|---|
AbortCertificateProvisioning(void)
|
void
Beendet jeden laufenden GetCertificate-Austausch.
|
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
|
GetCertificateRequest-Nachricht generieren.
|
GetBinding(void) const
|
Binding *
Gibt einen Zeiger auf das Objekt Binding zurück, das WeaveCertProvEngine zugeordnet ist.
|
GetEventCallback(void) const
|
Gibt einen Zeiger auf die Callback-Funktion für API-Ereignisse zurück, die derzeit für das WeaveCertProvEngine-Objekt konfiguriert ist.
|
GetMfrAttestDelegate(void) const
|
Gibt einen Zeiger auf das Objekt des Herstellerbescheinigungsdelegats zurück, das derzeit für das Objekt WeaveCertProvEngine konfiguriert ist.
|
GetOpAuthDelegate(void) const
|
Gibt einen Zeiger auf das Objekt für Operational Authentication-Delegat zurück, das derzeit im Objekt WeaveCertProvEngine konfiguriert ist.
|
GetReqType(void) const
|
uint8_t
Rufen Sie den aktuellen Anfragetyp ab.
|
GetState(void) const
|
Rufen Sie den aktuellen Status des Objekts WeaveCertProvEngine ab.
|
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
|
Initialisieren Sie ein WeaveCertProvEngine-Objekt, um das Senden einer Zertifikatsanfragenachricht vorzubereiten.
|
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
|
Process GetCertificateResponse-Nachricht.
|
SetBinding(Binding *binding)
|
void
Legt das Bindungsobjekt für das WeaveCertProvEngine-Objekt fest.
|
SetEventCallback(EventCallback eventCallback)
|
void
Legt die Callback-Funktion des API-Ereignisses für das Objekt WeaveCertProvEngine fest.
|
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
|
void
Legt das Objekt des Herstellers der Attestierungsdelegation für das Objekt WeaveCertProvEngine fest.
|
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
|
void
Legt das Delegatobjekt für die operative Authentifizierung im Objekt WeaveCertProvEngine fest.
|
Shutdown(void)
|
void
Fahren Sie ein zuvor initialisiertes WeaveCertProvEngine-Objekt herunter.
|
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
|
Zertifikatbereitstellungsprotokoll starten.
|
Strukturen |
|
---|---|
nl:: |
Eingabeparameter für das Weave Certificate Provisioning API-Ereignis. |
nl:: |
Ausgabeparameter für das Weave Certificate Provisioning API-Ereignis. |
Öffentliche Typen
@246
@246
Attribute | |
---|---|
kReqType_GetInitialOpDeviceCert
|
Der Anfragetyp „Zertifikat abrufen“ dient zum Abrufen des anfänglichen Betriebszertifikats. |
kReqType_RotateOpDeviceCert
|
Der Anfragetyp „Zertifikat abrufen“ dient dazu, das aktuelle Betriebszertifikat zu rotieren. |
EventCallback
void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
Diese Funktion ist der Anwendungs-Callback, der bei API-Ereignissen der Certificate Provisioning Engine aufgerufen wird.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
EventType
EventType
Attribute | |
---|---|
kEvent_CommunicationError
|
Beim Senden einer GetCertificateRequest oder beim Warten auf eine Antwort ist ein Kommunikationsfehler aufgetreten. |
kEvent_PrepareAuthorizeInfo
|
Die Anwendung wird angefordert, um die Nutzlast für GetCertificateRequest vorzubereiten. |
kEvent_ResponseReceived
|
Eine GetCertificateResponse-Nachricht wurde vom Peer empfangen. |
Status
State
Attribute | |
---|---|
kState_Idle
|
Das Suchmaschinenobjekt ist inaktiv. |
kState_NotInitialized
|
Das Suchmaschinenobjekt ist nicht initialisiert. |
kState_PreparingBinding
|
Das Engine-Objekt wartet darauf, dass die Bindung bereit ist. |
kState_RequestInProgress
|
Eine GetCertificateRequest-Nachricht wurde gesendet und das Suchmaschinenobjekt wartet auf eine Antwort. |
Öffentliche Attribute
AppState
void * AppState
Ein Zeiger auf anwendungsspezifische Daten.
Öffentliche Funktionen
AbortCertificateProvisioning
void AbortCertificateProvisioning( void )
Beendet jeden laufenden GetCertificate-Austausch.
GenerateGetCertificateRequest
WEAVE_ERROR GenerateGetCertificateRequest( PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest )
GetCertificateRequest-Nachricht generieren.
Diese Methode generiert eine Weave GetCertificateRequest-Struktur, die im Weave-TLV-Format codiert ist.
Beim Erstellen der GetCertificateRequest-Nachricht stellt die Methode über die Funktionen WeaveNodeOpAuthDelegate und WeaveNodeMfrAttestDelegate sowie das API-Ereignis PrepareAuthorizeInfo eine Anfrage zur Vorbereitung der Nutzlast der Nachricht an die Anwendung.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
GetBinding
Binding * GetBinding( void ) const
Gibt einen Zeiger auf das Objekt Binding zurück, das WeaveCertProvEngine zugeordnet ist.
GetEventCallback
EventCallback GetEventCallback( void ) const
Gibt einen Zeiger auf die Callback-Funktion für API-Ereignisse zurück, die derzeit für das WeaveCertProvEngine-Objekt konfiguriert ist.
GetMfrAttestDelegate
WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate( void ) const
Gibt einen Zeiger auf das Objekt des Herstellerbescheinigungsdelegats zurück, das derzeit für das Objekt WeaveCertProvEngine konfiguriert ist.
GetOpAuthDelegate
WeaveNodeOpAuthDelegate * GetOpAuthDelegate( void ) const
Gibt einen Zeiger auf das Objekt für Operational Authentication-Delegat zurück, das derzeit im Objekt WeaveCertProvEngine konfiguriert ist.
GetReqType
uint8_t GetReqType( void ) const
Rufen Sie den aktuellen Anfragetyp ab.
GetState
State GetState( void ) const
Rufen Sie den aktuellen Status des Objekts WeaveCertProvEngine ab.
Init
WEAVE_ERROR Init( Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState )
Initialisieren Sie ein WeaveCertProvEngine-Objekt, um das Senden einer Zertifikatsanfragenachricht vorzubereiten.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
ProcessGetCertificateResponse
WEAVE_ERROR ProcessGetCertificateResponse( PacketBuffer *msgBuf )
Process GetCertificateResponse-Nachricht.
Diese Methode verarbeitet die Weave GetCertificateResponse-Struktur, die im Weave-TLV-Format codiert ist.
Wenn die Verarbeitung der GetCertificateResponse-Nachricht erfolgreich abgeschlossen ist, ruft die Methode über das ResponseReceived API-Ereignis einen Aufruf an die Anwendung auf, um das Ergebnis zu übermitteln.
Wenn die Verarbeitung der GetCertificateResponse-Nachricht fehlschlägt, ruft die Methode die Anwendung über das CommunicationError API-Ereignis auf, um den Fehler zu melden.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabewerte |
|
SetBinding
void SetBinding( Binding *binding )
Legt das Bindungsobjekt für das WeaveCertProvEngine-Objekt fest.
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
Legt die Callback-Funktion des API-Ereignisses für das Objekt WeaveCertProvEngine fest.
SetMfrAttestDelegate
void SetMfrAttestDelegate( WeaveNodeMfrAttestDelegate *mfrAttestDelegate )
Legt das Objekt des Herstellers der Attestierungsdelegation für das Objekt WeaveCertProvEngine fest.
SetOpAuthDelegate
void SetOpAuthDelegate( WeaveNodeOpAuthDelegate *opAuthDelegate )
Legt das Delegatobjekt für die operative Authentifizierung im Objekt WeaveCertProvEngine fest.
Herunterfahren
void Shutdown( void )
Fahren Sie ein zuvor initialisiertes WeaveCertProvEngine-Objekt herunter.
Diese Methode kann nur aufgerufen werden, wenn zuvor die Methode Init() aufgerufen wurde.
StartCertificateProvisioning
WEAVE_ERROR StartCertificateProvisioning( uint8_t reqType, bool doMfrAttest )
Zertifikatbereitstellungsprotokoll starten.
Diese Methode initiiert das Senden einer GetCertificateRequest-Nachricht an den CA-Dienst. Sobald eine entsprechende GetCertificateResponse-Nachricht eingeht, wird sie über das API-Ereignis ResponseReceived an die Anwendung übermittelt.
Wenn sich das Objekt Binding beim Aufruf dieser Methode nicht im Status „Bereit“ befindet, wird eine Anfrage an die Methode Binding::RequestPrepare() gesendet, um die Vorbereitung auf Anfrage zu initiieren. Der Anfragevorgang wartet dann, bis dieser Prozess abgeschlossen ist. Alle Aufrufe von StartCertificateProvisioning() während einer vorherigen Anfrage werden ignoriert.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
WeaveCertProvEngine
WeaveCertProvEngine( void )