nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine

#include <src/lib/profiles/security/WeaveCertProvisioning.h>

Implementuje podstawową logikę obiektu protokołu udostępniania certyfikatów Weave.

Podsumowanie

Konstruktorzy i niszczyciele

WeaveCertProvEngine(void)

Typy publiczne

@246{
  kReqType_GetInitialOpDeviceCert = 0,
  kReqType_RotateOpDeviceCert = 1
}
enum | typ wyliczeniowy
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
Ta funkcja to wywołanie zwrotne aplikacji, które jest wywoływane w przypadku zdarzeń interfejsu Certificate Provisioning Engine API.
EventType{
  kEvent_PrepareAuthorizeInfo = 1,
  kEvent_ResponseReceived = 2,
  kEvent_CommunicationError = 3
}
enum | typ wyliczeniowy
State{
  kState_NotInitialized = 0,
  kState_Idle = 1,
  kState_PreparingBinding = 2,
  kState_RequestInProgress = 3
}
enum | typ wyliczeniowy

Atrybuty publiczne

AppState
void *
Wskaźnik do danych specyficznych dla aplikacji.

Funkcje publiczne

AbortCertificateProvisioning(void)
void
Zatrzymuje trwającą wymianę GetCertificate.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
Wygeneruj komunikat GetCertificateRequest.
GetBinding(void) const
Zwraca wskaźnik do obiektu Binding powiązanego z WeaveCertProvEngine.
GetEventCallback(void) const
Zwraca wskaźnik do funkcji wywołania zwrotnego zdarzenia interfejsu API, która jest obecnie skonfigurowana w obiekcie WeaveCertProvEngine.
GetMfrAttestDelegate(void) const
Zwraca wskaźnik do obiektu delegata atestu producenta skonfigurowanego obecnie w obiekcie WeaveCertProvEngine.
GetOpAuthDelegate(void) const
Zwraca wskaźnik do obiektu delegata uwierzytelniania operacyjnego skonfigurowanego obecnie w obiekcie WeaveCertProvEngine.
GetReqType(void) const
uint8_t
Pobierz bieżący typ żądania.
GetState(void) const
Pobierz bieżący stan obiektu WeaveCertProvEngine.
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
W ramach przygotowań do wysłania wiadomości z prośbą o pobranie certyfikatu zainicjuj obiekt WeaveCertProvEngine.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
Przetwarzanie komunikatu GetCertificateResponse.
SetBinding(Binding *binding)
void
Ustawia obiekt powiązania w obiekcie WeaveCertProvEngine.
SetEventCallback(EventCallback eventCallback)
void
Ustawia funkcję wywołania zwrotnego zdarzenia interfejsu API w obiekcie WeaveCertProvEngine.
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
Ustawianie obiektu delegata atestu producenta w obiekcie WeaveCertProvEngine.
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
void
Ustawia obiekt delegata uwierzytelniania operacyjnego w obiekcie WeaveCertProvEngine.
Shutdown(void)
void
Wyłącz zainicjowany wcześniej obiekt WeaveCertProvEngine.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
Uruchom protokół udostępniania certyfikatów.

Konstrukcja

nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine::InEventParam

Parametry wejściowe zdarzenia interfejsu Weave Certificate Provisioning API.

nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine::OutEventParam

Parametry wyjściowe do zdarzenia interfejsu Weave Certificate Provisioning API.

Typy publiczne

@246

 @246
Właściwości
kReqType_GetInitialOpDeviceCert

Metoda żądania Pobierz certyfikat służy do uzyskania początkowego certyfikatu operacyjnego.

kReqType_RotateOpDeviceCert

Typ żądania Pobierz certyfikat służy do rotacji bieżącego certyfikatu operacyjnego.

EventCallback

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

Ta funkcja to wywołanie zwrotne aplikacji, które jest wywoływane w przypadku zdarzeń interfejsu Certificate Provisioning Engine API.

Szczegóły
Parametry
[in] appState
Wskaźnik do zdefiniowanych przez aplikację informacji o stanie, które są powiązane z obiektem wyszukiwarki.
[in] eventType
Identyfikator zdarzenia przekazany przez wywołanie zwrotne zdarzenia.
[in] inParam
Odniesienie do wejściowych parametrów zdarzenia przekazanych przez wywołanie zwrotne zdarzenia.
[in] outParam
Odwołanie do parametrów wyjściowych zdarzenia przekazanych przez wywołanie zwrotne zdarzenia.

EventType

 EventType
Właściwości
kEvent_CommunicationError

Podczas wysyłania żądania GetCertificateRequest lub oczekiwania na odpowiedź wystąpił błąd komunikacji.

kEvent_PrepareAuthorizeInfo

Aplikacja otrzyma prośbę o przygotowanie ładunku na żądanie GetCertificateRequest.

kEvent_ResponseReceived

Odebrano wiadomość GetCertificateResponse z połączenia równorzędnego.

Stan

 State
Właściwości
kState_Idle

Obiekt wyszukiwarki jest nieaktywny.

kState_NotInitialized

Obiekt wyszukiwarki nie został zainicjowany.

kState_PreparingBinding

Obiekt wyszukiwarki czeka na przygotowanie powiązania.

kState_RequestInProgress

Wysłano komunikat GetCertificateRequest, a obiekt wyszukiwarki czeka na odpowiedź.

Atrybuty publiczne

AppState

void * AppState

Wskaźnik do danych specyficznych dla aplikacji.

Funkcje publiczne

AbortCertificateProvisioning

void AbortCertificateProvisioning(
  void
)

Zatrzymuje trwającą wymianę GetCertificate.

GenerateGetCertificateRequest

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

Wygeneruj komunikat GetCertificateRequest.

Ta metoda generuje strukturę Weave GetCertificateRequest zakodowaną w formacie TLV Weave.

Podczas tworzenia komunikatu GetCertificateRequest metoda wysyła żądanie do aplikacji za pomocą funkcji WeaveNodeOpAuthDelegate i WeaveNodeMfrAttestDelegate oraz przez zdarzenie PrepareAuthorizeInfo API.

Szczegóły
Parametry
[in] msgBuf
Wskaźnik do obiektu PacketBuffer, w którym znajduje się komunikat GetCertificateRequest.
[in] reqType
Pobranie typu żądania certyfikatu.
[in] doMfrAttest
Flaga wartości logicznej, która wskazuje, czy żądanie powinno zawierać dane atestu producenta.
Zwracane wartości
WEAVE_NO_ERROR
Jeśli żądanie GetCertificateRequest zostało wygenerowane.

GetBinding

Binding * GetBinding(
  void
) const 

Zwraca wskaźnik do obiektu Binding powiązanego z WeaveCertProvEngine.

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

Zwraca wskaźnik do funkcji wywołania zwrotnego zdarzenia interfejsu API, która jest obecnie skonfigurowana w obiekcie WeaveCertProvEngine.

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

Zwraca wskaźnik do obiektu delegata atestu producenta skonfigurowanego obecnie w obiekcie WeaveCertProvEngine.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

Zwraca wskaźnik do obiektu delegata uwierzytelniania operacyjnego skonfigurowanego obecnie w obiekcie WeaveCertProvEngine.

GetReqType

uint8_t GetReqType(
  void
) const 

Pobierz bieżący typ żądania.

GetState

State GetState(
  void
) const 

Pobierz bieżący stan obiektu WeaveCertProvEngine.

Zainicjuj

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

W ramach przygotowań do wysłania wiadomości z prośbą o pobranie certyfikatu zainicjuj obiekt WeaveCertProvEngine.

Szczegóły
Parametry
[in] binding
Obiekt Binding, który będzie używany do nawiązywania komunikacji z węzłem równorzędnym.
[in] opAuthDelegate
Wskaźnik do obiektu delegata uwierzytelniania operacyjnego, który zostanie użyty do utworzenia i podpisywania przy użyciu danych logowania operacyjnego węzła.
[in] mfrAttestDelegate
Wskaźnik do obiektu delegata atestu producenta, który zostanie użyty do utworzenia i podpisania żądania przy użyciu danych logowania udostępnionych przez producenta węzła.
[in] eventCallback
Wskaźnik do funkcji, która będzie wywoływana przez obiekt WeaveCertProvEngine w celu dostarczania zdarzeń interfejsu API do aplikacji.
[in] appState
Wskaźnik do obiektu zdefiniowanego przez aplikację, który jest zwracany do aplikacji po wystąpieniu zdarzenia interfejsu API.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

Przetwarzanie komunikatu GetCertificateResponse.

Ta metoda przetwarza strukturę Weave GetCertificateResponse zakodowaną w formacie TLV Weave.

Gdy przetwarzanie komunikatu GetCertificateResponse zostanie ukończone, metoda wywołuje aplikację za pomocą zdarzenia ResponseReceived API, aby dostarczyć wynik.

Jeśli przetwarzanie komunikatu GetCertificateResponse nie powiedzie się, metoda wywoła aplikację, przez zdarzenie CommunicationError API, w celu zgłoszenia błędu.

Szczegóły
Parametry
[in] msgBuf
Wskaźnik do obiektu PacketBuffer, w którym znajduje się komunikat GetCertificateResponse.
Zwracane wartości
WEAVE_NO_ERROR
Jeśli komunikat GetCertificateResponse został przetworzony.

SetBinding

void SetBinding(
  Binding *binding
)

Ustawia obiekt powiązania w obiekcie WeaveCertProvEngine.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

Ustawia funkcję wywołania zwrotnego zdarzenia interfejsu API w obiekcie WeaveCertProvEngine.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

Ustawianie obiektu delegata atestu producenta w obiekcie WeaveCertProvEngine.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

Ustawia obiekt delegata uwierzytelniania operacyjnego w obiekcie WeaveCertProvEngine.

Wyłączono

void Shutdown(
  void
)

Wyłącz zainicjowany wcześniej obiekt WeaveCertProvEngine.

Pamiętaj, że tę metodę można wywołać tylko wtedy, gdy metoda Init() została wywołana wcześniej.

StartCertificateProvisioning

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

Uruchom protokół udostępniania certyfikatów.

Ta metoda inicjuje proces wysyłania komunikatu GetCertificateRequest do usługi CA. Po otrzymaniu odpowiedniego komunikatu GetCertificateResponse zostanie ona dostarczona do aplikacji za pomocą zdarzenia ResponseReceived API.

Jeśli w momencie wywołania tej metody obiekt Binding nie jest w stanie gotowości, wysyłane jest żądanie do metody Binding::RequestPrepare(). Operacja żądania będzie następnie oczekiwana na zakończenie tego procesu. Każde wywołanie StartCertificateProvisioning() w trakcie przetwarzania poprzedniego żądania jest ignorowane.

Szczegóły
Parametry
[in] reqType
Pobranie typu żądania certyfikatu.
[in] doMfrAttest
Flaga wartości logicznej, która wskazuje, czy protokół powinien zawierać dane atestu producenta.
Zwracane wartości
WEAVE_NO_ERROR
Jeśli metoda StartCertificateProvisioning() została przetworzona.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)