nl:: Weave:: Profiles:: Security:: CertProvisioning:: WeaveCertProvEngine
#include <src/lib/profiles/security/WeaveCertProvisioning.h>
Implementiert die Kernlogik des Protokollobjekts für die Weave Certificate Provisioning-Bereitstellung.
Zusammenfassung
Konstruktoren und Destruktoren |
|
---|---|
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 Certificate Provisioning Engine API-Ereignissen aufgerufen wird. |
EventType{
|
enum |
State{
|
enum |
Öffentliche Attribute |
|
---|---|
AppState
|
void *
Ein Verweis auf anwendungsspezifische Daten.
|
Öffentliche Funktionen |
|
---|---|
AbortCertificateProvisioning(void)
|
void
Beendet alle laufenden GetCertificate-Austausche.
|
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
|
Generieren Sie die Nachricht „GetCertificateRequest“.
|
GetBinding(void) const
|
Binding *
Gibt einen Zeiger auf das Binding-Objekt zurück, das der WeaveCertProvEngine zugeordnet ist.
|
GetEventCallback(void) const
|
Gibt einen Verweis auf die API-Ereignis-Callback-Funktion zurück, die derzeit für das Objekt WeaveCertProvEngine konfiguriert ist.
|
GetMfrAttestDelegate(void) const
|
Gibt einen Verweis auf das Attestierungsdelegatobjekt des Herstellers zurück, das derzeit für das Objekt WeaveCertProvEngine konfiguriert ist.
|
GetOpAuthDelegate(void) const
|
Gibt einen Zeiger auf das Delegierungsobjekt für die operative Authentifizierung zurück, das aktuell im Objekt WeaveCertProvEngine konfiguriert ist.
|
GetReqType(void) const
|
uint8_t
Ruft 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 eine Nachricht zum Abrufen des Zertifikats zu senden.
|
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
|
Nachricht vom Typ „GetCertificateResponse“ verarbeiten
|
SetBinding(Binding *binding)
|
void
Legt das Bindungsobjekt auf dem Objekt WeaveCertProvEngine fest.
|
SetEventCallback(EventCallback eventCallback)
|
void
Legt die API-Ereignis-Callback-Funktion für das WeaveCertProvEngine-Objekt fest.
|
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
|
void
Legt das Bevollmächtigte-Objekt des Herstellers für das Objekt WeaveCertProvEngine fest.
|
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
|
void
Legt das Delegate-Objekt für die operative Authentifizierung im Objekt WeaveCertProvEngine fest.
|
Shutdown(void)
|
void
Ein zuvor initialisiertes WeaveCertProvEngine-Objekt herunterfahren.
|
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
|
Starten Sie das Zertifikatbereitstellungsprotokoll.
|
Structs |
|
---|---|
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
|
Mit dem Anfragetyp „Zertifikat abrufen“ wird das erste Betriebszertifikat abgerufen. |
kReqType_RotateOpDeviceCert
|
Mit dem Anfragetyp „Zertifikat abrufen“ wird das aktuelle betriebsbereite Zertifikat rotiert. |
EventCallback
void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)
Diese Funktion ist der Anwendungs-Callback, der bei API-Ereignissen für die Zertifikatbereitstellung aufgerufen wird.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
EventType
EventType
Attribute | |
---|---|
kEvent_CommunicationError
|
Beim Senden einer GetCertificateRequest-Anfrage oder beim Warten auf eine Antwort ist ein Kommunikationsfehler aufgetreten. |
kEvent_PrepareAuthorizeInfo
|
Die Anwendung wird aufgefordert, die Nutzlast für den GetCertificateRequest vorzubereiten. |
kEvent_ResponseReceived
|
Der Peer hat eine GetCertificateResponse-Nachricht empfangen. |
Status
State
Attribute | |
---|---|
kState_Idle
|
Das Engine-Objekt ist inaktiv. |
kState_NotInitialized
|
Das Engine-Objekt ist nicht initialisiert. |
kState_PreparingBinding
|
Das Engine-Objekt wartet darauf, dass die Bindung bereit ist. |
kState_RequestInProgress
|
Eine GetCertificateRequest-Nachricht wurde gesendet und das Engine-Objekt wartet auf eine Antwort. |
Öffentliche Attribute
AppState
void * AppState
Ein Verweis auf anwendungsspezifische Daten.
Öffentliche Funktionen
AbortCertificateProvisioning
void AbortCertificateProvisioning( void )
Beendet alle laufenden GetCertificate-Austausche.
GenerateGetCertificateRequest
WEAVE_ERROR GenerateGetCertificateRequest( PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest )
Generieren Sie die Nachricht „GetCertificateRequest“.
Mit dieser Methode wird die Weave-GetCertificateRequest-Struktur generiert, die im Weave-TLV-Format codiert ist.
Beim Erstellen der Nachricht „GetCertificateRequest“ sendet die Methode über die Funktionen WeaveNodeOpAuthDelegate und WeaveNodeMfrAttestDelegate und das API-Ereignis „PrepareAuthorizeInfo“ eine Anfrage an die Anwendung, um die Nutzlast der Nachricht vorzubereiten.
Details | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Rückgabewerte |
|
GetBinding
Binding * GetBinding( void ) const
Gibt einen Verweis auf das Binding-Objekt zurück, das mit der WeaveCertProvEngine verknüpft ist.
GetEventCallback
EventCallback GetEventCallback( void ) const
Gibt einen Zeiger auf die API-Ereignis-Callback-Funktion zurück, die aktuell für das WeaveCertProvEngine-Objekt konfiguriert ist.
GetMfrAttestDelegate
WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate( void ) const
Gibt einen Verweis auf das Attestierungsdelegatobjekt des Herstellers zurück, das derzeit für das Objekt WeaveCertProvEngine konfiguriert ist.
GetOpAuthDelegate
WeaveNodeOpAuthDelegate * GetOpAuthDelegate( void ) const
Gibt einen Verweis auf das Objekt für die operative Authentifizierung zurück, das derzeit für das Objekt WeaveCertProvEngine konfiguriert ist.
GetReqType
uint8_t GetReqType( void ) const
Ruft den aktuellen Anfragetyp ab.
Init
WEAVE_ERROR Init( Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState )
Initialisieren Sie ein WeaveCertProvEngine-Objekt, um das Senden einer Zertifikatsanforderungsnachricht vorzubereiten.
Details | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
ProcessGetCertificateResponse
WEAVE_ERROR ProcessGetCertificateResponse( PacketBuffer *msgBuf )
Nachricht vom Typ „GetCertificateResponse“ verarbeiten
Diese Methode verarbeitet die im Weave-TLV-Format codierte Weave GetCertificateResponse-Struktur.
Wenn die Verarbeitung der GetCertificateResponse-Nachricht erfolgreich abgeschlossen ist, ruft die Methode über das ResponseReceived API-Ereignis die Anwendung auf, um das Ergebnis zu liefern.
Wenn die Verarbeitung der GetCertificateResponse-Nachricht fehlschlägt, sendet die Methode über das CommunicationError API-Ereignis einen Aufruf an die Anwendung, um den Fehler zu melden.
Details | |||
---|---|---|---|
Parameter |
|
||
Rückgabewerte |
|
SetBinding
void SetBinding( Binding *binding )
Hiermit wird das Bindungsobjekt für das Objekt WeaveCertProvEngine festgelegt.
SetEventCallback
void SetEventCallback( EventCallback eventCallback )
Hiermit wird die API-Ereignis-Callback-Funktion für das Objekt WeaveCertProvEngine festgelegt.
SetMfrAttestDelegate
void SetMfrAttestDelegate( WeaveNodeMfrAttestDelegate *mfrAttestDelegate )
Legt das Attestierungsdelegatobjekt des Herstellers für das Objekt WeaveCertProvEngine fest.
SetOpAuthDelegate
void SetOpAuthDelegate( WeaveNodeOpAuthDelegate *opAuthDelegate )
Legt das Delegate-Objekt für die operative Authentifizierung im Objekt WeaveCertProvEngine fest.
Herunterfahren
void Shutdown( void )
Ein zuvor initialisiertes WeaveCertProvEngine-Objekt herunterfahren.
Diese Methode kann nur aufgerufen werden, wenn zuvor die Methode Init() aufgerufen wurde.
StartCertificateProvisioning
WEAVE_ERROR StartCertificateProvisioning( uint8_t reqType, bool doMfrAttest )
Starten Sie das Zertifikatbereitstellungsprotokoll.
Mit dieser Methode wird der Vorgang zum Senden einer GetCertificateRequest-Nachricht an den CA-Dienst initiiert. Wenn eine entsprechende GetCertificateResponse-Nachricht empfangen wird, wird sie über das API-Ereignis „ResponseReceived“ an die Anwendung gesendet.
Wenn sich das Binding-Objekt beim Aufrufen dieser Methode nicht im Status „Bereit“ befindet, wird eine Anfrage an die Methode Binding::RequestPrepare() gesendet, um die On-Demand-Vorbereitung zu starten. Der Anfragevorgang wartet dann, bis dieser Vorgang abgeschlossen ist. Alle Aufrufe von StartCertificateProvisioning(), während eine vorherige Anfrage in Bearbeitung ist, werden ignoriert.
Details | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Rückgabewerte |
|
WeaveCertProvEngine
WeaveCertProvEngine( void )