Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

nl::Weave::Profile::Sicherheit::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{
  kReqType_GetInitialOpDeviceCert = 0,
  kReqType_RotateOpDeviceCert = 1
}
enum
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) Typdef
void(*
Diese Funktion ist der Callback der Anwendung, der bei Ereignissen der Certificate Provisioning Engine API aufgerufen wird.
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

Öffentliche Attribute

AppState
void *
Ein Hinweis auf anwendungsspezifische Daten.

Öffentliche Funktionen

AbortCertificateProvisioning(void)
void
Stoppt alle laufenden GetCertificate Exchanges.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
Generieren Sie eine GetCertificateRequest-Nachricht.
GetBinding(void) const
Gibt einen Zeiger auf das Bindungsobjekt zurück, das mit WeaveCertProvEngine verknüpft ist.
GetEventCallback(void) const
Gibt einen Zeiger auf die API-Ereignisrückruffunktion zurück, die derzeit für das WeaveCertProvEngine-Objekt konfiguriert ist.
GetMfrAttestDelegate(void) const
Gibt einen Zeiger auf das Delegatobjekt der Herstellerbescheinigung zurück, das derzeit für das Objekt WeaveCertProvEngine konfiguriert ist.
GetOpAuthDelegate(void) const
Gibt einen Zeiger auf das operative Authentifizierungsdelegatobjekt zurück, das derzeit im WeaveCertProvEngine-Objekt konfiguriert ist.
GetReqType(void) const
uint8_t
Rufen Sie den aktuellen Anfragetyp ab.
GetState(void) const
Rufen Sie den aktuellen Status des WeaveCertProvEngine-Objekts ab.
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
Initialisieren Sie ein WeaveCertProvEngine-Objekt, um die Get-Anfrageanfrage zu senden.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
GetCertificateResponse-Nachricht verarbeiten.
SetBinding(Binding *binding)
void
Legt das Bindungsobjekt für das Objekt WeaveCertProvEngine fest.
SetEventCallback(EventCallback eventCallback)
void
Legt die API-Ereignis-Callback-Funktion für das Objekt WeaveCertProvEngine fest.
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
Legt das Delegatobjekt für die Herstellerbescheinigung für das Objekt WeaveCertProvEngine fest.
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
void
Legt das Delegatobjekt für die operative Authentifizierung für das Objekt WeaveCertProvEngine fest.
Shutdown(void)
void
Herunterfahren eines zuvor initialisierten WeaveCertProvEngine-Objekts.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
Zertifikatbereitstellungsprotokoll starten.

Structs

nl::Weave::Profile::Sicherheit::CertProvisioning::WeaveCertProvEngine::InEventParam

Eingabeparameter für das Ereignis „Weave Certificate Provisioning API“.

nl::Weave::Profile::Sicherheit::CertProvisioning::WeaveCertProvEngine::OutEventParam

Ausgabeparameter für das Ereignis „Weave Certificate Provisioning API“.

Öffentliche Typen

@246

 @246
Attribute
kReqType_GetInitialOpDeviceCert

Mit dem Anfragetyp „Zertifikat abrufen“ erhalten Sie die erste operative Zertifikatzertifizierung.

kReqType_RotateOpDeviceCert

Beim Anfragetyp „Zertifikat abrufen“ wird die aktuelle Zertifikatsprüfung rotiert.

Ereignisrückruf

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

Diese Funktion ist der Callback der Anwendung, der bei Ereignissen der Certificate Provisioning Engine API aufgerufen wird.

Details
Parameter
[in] appState
Ein Verweis auf anwendungsdefinierte Statusinformationen, die dem Suchmaschinenobjekt zugeordnet sind.
[in] eventType
Vom Ereignis-Callback übergebene Ereignis-ID.
[in] inParam
Referenz von Eingabeereignisparametern, die vom Ereignis-Callback übergeben werden.
[in] outParam
Referenz der Ausgabeereignisparameter, die vom Ereignis-Callback übergeben werden.

EventType

 EventType
Attribute
kEvent_CommunicationError

Beim Senden einer GetCertificateRequest oder beim Warten auf eine Antwort ist ein Kommunikationsfehler aufgetreten.

kEvent_PrepareAuthorizeInfo

Die Anwendung wird aufgefordert, die Nutzlast für die GetCertificateRequest vorzubereiten.

kEvent_ResponseReceived

Der Peer hat eine GetCertificateResponse-Nachricht erhalten.

Status

 State
Attribute
kState_Idle

Das Engine-Objekt ist inaktiv.

kState_NotInitialized

Das Engine-Objekt ist nicht initialisiert.

kState_PreparingBinding

Das Engine-Objekt wartet, bis die Bindung bereit ist.

kState_RequestInProgress

Eine GetCertificateRequest-Nachricht wurde gesendet und das Engine-Objekt wartet auf eine Antwort.

Öffentliche Attribute

App-Status

void * AppState

Ein Hinweis auf anwendungsspezifische Daten.

Öffentliche Funktionen

Zertifikatabbruch

void AbortCertificateProvisioning(
  void
)

Stoppt alle laufenden GetCertificate Exchanges.

GenerateGetCertificateRequest

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

Generieren Sie eine GetCertificateRequest-Nachricht.

Diese Methode generiert die Weave GetCertificateRequest-Struktur, die im Weave-TLV-Format codiert ist.

Beim Formulieren der GetCertificateRequest-Nachricht stellt die Methode über die Funktionen WeaveNodeOpAuthDelegate und WeaveNodeMfrAttestDelegate und das PrepareAuthorizeInfo API-Ereignis eine Anfrage an die Anwendung, um die Nutzlast der Nachricht vorzubereiten.

Details
Parameter
[in] msgBuf
Ein Zeiger auf das PacketBuffer-Objekt, das die GetCertificateRequest-Nachricht enthält.
[in] reqType
Anforderungstyp des Zertifikats abrufen.
[in] doMfrAttest
Boolescher Parameter, der angibt, ob eine Anfrage Attestierungsdaten des Herstellers enthalten soll
Rückgabewerte
WEAVE_NO_ERROR
Wenn GetCertificateRequest erfolgreich generiert wurde.

GetBindung

Binding * GetBinding(
  void
) const 

Gibt einen Zeiger auf das Bindungsobjekt zurück, das mit WeaveCertProvEngine verknüpft ist.

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Gibt einen Zeiger auf die API-Ereignisrückruffunktion zurück, die derzeit für das WeaveCertProvEngine-Objekt konfiguriert ist.

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

Gibt einen Zeiger auf das Delegatobjekt der Herstellerbescheinigung zurück, das derzeit für das Objekt WeaveCertProvEngine konfiguriert ist.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

Gibt einen Zeiger auf das operative Authentifizierungsdelegatobjekt zurück, das derzeit im WeaveCertProvEngine-Objekt konfiguriert ist.

GetReqType (Abruftyp)

uint8_t GetReqType(
  void
) const 

Rufen Sie den aktuellen Anfragetyp ab.

GetState

State GetState(
  void
) const 

Rufen Sie den aktuellen Status des WeaveCertProvEngine-Objekts ab.

Init

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

Initialisieren Sie ein WeaveCertProvEngine-Objekt, um die Get-Anfrageanfrage zu senden.

Details
Parameter
[in] binding
Ein Bindungsobjekt, das zum Herstellen einer Kommunikation mit dem Peer-Knoten verwendet wird.
[in] opAuthDelegate
Ein Zeiger auf ein operatives Authentifizierungsdelegationsobjekt, das zum Erstellen und Signieren mit operativen Anmeldedaten des Knotens verwendet wird.
[in] mfrAttestDelegate
Ein Verweis auf ein Delegatobjekt der Herstellerbescheinigung, mit dem die Anfrage mit vom Hersteller bereitgestellten Anmeldedaten erstellt und signiert wird.
[in] eventCallback
Ein Zeiger auf eine Funktion, die vom Objekt WeaveCertProvEngine aufgerufen wird, um API-Ereignisse an die Anwendung zu senden.
[in] appState
Ein Zeiger auf ein anwendungsdefiniertes Objekt, das bei jedem API-Ereignis an die Anwendung zurückgegeben wird.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

GetCertificateResponse-Nachricht verarbeiten.

Diese Methode verarbeitet die Weave GetCertificateResponse-Struktur, die im Weave-TLV-Format codiert ist.

Wenn die Verarbeitung der GetCertificateResponse-Nachricht erfolgreich abgeschlossen wurde, ruft die Methode die Anwendung über das ResponseReceived API-Ereignis auf, um das Ergebnis zu liefern.

Wenn die Verarbeitung der GetCertificateResponse-Nachricht fehlschlägt, sendet die Methode einen Aufruf an die Anwendung über das CommunicationError API-Ereignis, um den Fehler zu melden.

Details
Parameter
[in] msgBuf
Ein Zeiger auf das PacketBuffer-Objekt, das die GetCertificateResponse-Nachricht enthält.
Rückgabewerte
WEAVE_NO_ERROR
Wenn GetCertificateResponse erfolgreich verarbeitet wurde.

SetBindung

void SetBinding(
  Binding *binding
)

Legt das Bindungsobjekt für das Objekt WeaveCertProvEngine fest.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Legt die API-Ereignis-Callback-Funktion für das Objekt WeaveCertProvEngine fest.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

Legt das Delegatobjekt für die Herstellerbescheinigung für das Objekt WeaveCertProvEngine fest.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

Legt das Delegatobjekt für die operative Authentifizierung für das Objekt WeaveCertProvEngine fest.

Heruntergefahren

void Shutdown(
  void
)

Herunterfahren eines zuvor initialisierten WeaveCertProvEngine-Objekts.

Diese Methode kann nur aufgerufen werden, wenn die Methode Init() zuvor aufgerufen wurde.

Bereitstellung von Zertifikaten

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

Zertifikatbereitstellungsprotokoll starten.

Diese Methode löst das Senden einer GetCertificateRequest-Nachricht an den CA-Dienst aus. Wenn und wenn eine entsprechende GetCertificateResponse-Nachricht empfangen wird, wird sie über das ResponseReceived API-Ereignis an die Anwendung gesendet.

Wenn sich das Objekt Bindung beim Aufruf dieser Methode nicht im Status „Bereit“ befindet, wird eine Anfrage an die Methode Bindung::RequestPrepare() gesendet, um eine On-Demand-Vorbereitung zu starten. Der Anfragevorgang wartet dann, bis dieser Vorgang abgeschlossen ist. Jeder Aufruf von StartCertificateProvisioning(), während eine vorherige Anfrage verarbeitet wird, wird ignoriert.

Details
Parameter
[in] reqType
Anforderungstyp des Zertifikats abrufen.
[in] doMfrAttest
Boolescher Parameter, der angibt, ob das Protokoll Attestierungsdaten des Herstellers enthalten soll.
Rückgabewerte
WEAVE_NO_ERROR
Wenn StartCertificateProvisioning() erfolgreich verarbeitet wurde.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)