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

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

Realizuje podstawową logikę obiektu protokołu Weave Certificate Provisioning.

Podsumowanie

Konstruktory i destruktory

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 jest wywołaniem zwrotnym 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 dotyczących aplikacji.

Funkcje publiczne

AbortCertificateProvisioning(void)
void
Zatrzymuje wszystkie trwające wymiany certyfikatów za pomocą funkcji 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 delegowanego weryfikacji producenta skonfigurowanego w obiekcie WeaveCertProvEngine.
GetOpAuthDelegate(void) const
Zwraca wskaźnik do obiektu operacyjnego obiektu uwierzytelniania umownego skonfigurowanego w obiekcie WeaveCertProvEngine.
GetReqType(void) const
uint8_t
Pobiera obecny typ żądania.
GetState(void) const
Pobierz bieżący stan obiektu WeaveCertProvEngine.
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
Zainicjuj obiekt WeaveCertProvEngine w ramach przygotowań do wysłania wiadomości z prośbą o pobieranie certyfikatów.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
Przetwórz komunikat GetCertificateResponse.
SetBinding(Binding *binding)
void
Ustawia obiekt wiążący w obiekcie WeaveCertProvEngine.
SetEventCallback(EventCallback eventCallback)
void
Ustawia funkcję wywołania zwrotnego zdarzenia interfejsu API w obiekcie WeaveCertProvEngine.
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
Ustawia obiekt deleguujący weryfikację producenta w obiekcie WeaveCertProvEngine.
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
void
Ustawia obiekt delegata uwierzytelniania operacyjnego w obiekcie WeaveCertProvEngine.
Shutdown(void)
void
Zamknij wcześniej zainicjowany obiekt WeaveCertProvEngine.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
Rozpocznij protokół obsługi administracyjnej certyfikatów.

Struktury

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

Parametry wejściowe zdarzenia Weave Certificate Provisioning API.

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

Parametry wyjściowe do zdarzenia Weave Certificate Provisioning API.

Typy publiczne

@246

 @246
Właściwości
kReqType_GetInitialOpDeviceCert

Typ żądania Get Certificate służy do uzyskania początkowego certyfikatu operacyjnego.

kReqType_RotateOpDeviceCert

Typ żądania GetCertificate 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 informacji o stanie określonych przez aplikację, powiązanych z obiektem wyszukiwarki.
[in] eventType
Identyfikator zdarzenia przekazany przez wywołanie zwrotne zdarzenia.
[in] inParam
Odwołania do parametrów zdarzenia wejściowego przekazanych przez funkcję wywołania zwrotnego zdarzenia.
[in] outParam
Odwołania do parametrów zdarzenia wyjściowego przekazanych przez funkcję wywołania zwrotnego 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 musi przygotować ładunek dla żądania GetCertificateRequest.

kEvent_ResponseReceived

Odbieranie wiadomości GetCertificateResponse od peera.

Stan

 State
Właściwości
kState_Idle

Obiekt silnika jest nieaktywny.

kState_NotInitialized

Obiekt silnika nie został zainicjowany.

kState_PreparingBinding

Obiekt silnika czeka na gotowość powiązania.

kState_RequestInProgress

Wysłano wiadomość GetCertificateRequest, a obiekt silnika oczekuje na odpowiedź.

Atrybuty publiczne

AppState

void * AppState

Wskaźnik do danych dotyczących aplikacji.

Funkcje publiczne

AbortCertificateProvisioning

void AbortCertificateProvisioning(
  void
)

Zatrzymuje wymianę GetCertificate w toku.

GenerateGetCertificateRequest

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

wygenerować komunikat GetCertificateRequest;

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

Podczas tworzenia wiadomości GetCertificateRequest metoda wysyła żądanie do aplikacji za pomocą funkcji WeaveNodeOpAuthDelegateWeaveNodeMfrAttestDelegate oraz zdarzenia PrepareAuthorizeInfo interfejsu API, aby przygotować ładunek wiadomości.

Szczegóły
Parametry
[in] msgBuf
Wskaźnik do obiektu PacketBuffer przechowującego wiadomość GetCertificateRequest.
[in] reqType
Pobierz typ żądania certyfikatu.
[in] doMfrAttest
Flaga wartości logicznej, która wskazuje, czy żądanie powinno zawierać dane weryfikacji producenta.
Zwracane wartości
WEAVE_NO_ERROR
Jeśli udało się wygenerować żądanie GetCertificateRequest.

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 pośrednika weryfikacji producenta skonfigurowanego w obiekcie WeaveCertProvEngine.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

Zwraca wskaźnik do obiektu operacyjnego obiektu uwierzytelniania umownego, który jest obecnie skonfigurowany 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.

Init

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

Zainicjuj obiekt WeaveCertProvEngine w ramach przygotowań do wysłania wiadomości z prośbą o pobieranie certyfikatu.

Szczegóły
Parametry
[in] binding
Obiekt Binding, który będzie używany do nawiązywania komunikacji z węzłem peer.
[in] opAuthDelegate
Wskaźnik do obiektu delegowanego uwierzytelniania operacyjnego, który będzie używany do tworzenia i podpisywania za pomocą danych logowania operacyjnego węzła.
[in] mfrAttestDelegate
Wskaźnik do obiektu delegacji uwierzytelniania producenta, który służy do tworzenia i podpisywania żądania przy użyciu danych logowania producenta węzła.
[in] eventCallback
Wskaźnik do funkcji, która zostanie wywołana przez obiekt WeaveCertProvEngine w celu dostarczania zdarzeń interfejsu API do aplikacji.
[in] appState
Wskaźnik do obiektu zdefiniowanego przez aplikację, który zostanie przekazany z powrotem do aplikacji, gdy wystąpi zdarzenie interfejsu API.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

Przetwórz komunikat GetCertificateResponse.

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

Po pomyślnym przetworzeniu wiadomości GetCertificateResponse metoda wywołuje aplikację za pomocą zdarzenia ResponseReceived API, aby przekazać wynik.

Jeśli przetwarzanie komunikatu GetCertificateResponse zakończy się niepowodzeniem, metoda wywoła aplikację za pomocą zdarzenia CommunicationError API, aby zgłosić błąd.

Szczegóły
Parametry
[in] msgBuf
Wskaźnik do obiektu PacketBuffer przechowującego wiadomość GetCertificateResponse.
Zwracane wartości
WEAVE_NO_ERROR
czy wiadomość GetCertificateResponse została pomyślnie przetworzona.

SetBinding

void SetBinding(
  Binding *binding
)

Ustawia obiekt wiążący w obiekcie WeaveCertProvEngine.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

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

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

Ustawia obiekt delegata atestu producenta w obiekcie WeaveCertProvEngine.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

Ustawia obiekt delegata uwierzytelniania operacyjnego w obiekcie WeaveCertProvEngine.

Wyłączono

void Shutdown(
  void
)

Zamknij wcześniej zainicjowany 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
)

Rozpocznij protokół obsługi administracyjnej certyfikatów.

Ta metoda inicjuje proces wysyłania wiadomości GetCertificateRequest do urzędu certyfikacji. Jeśli i gdy zostanie odebrana odpowiednia odpowiedź GetCertificateResponse, zostanie ona przekazana do aplikacji za pomocą zdarzenia ResponseReceived API.

Jeśli w momencie wywołania tej metody obiekt Binding nie jest w stanie Gotowy, zostanie wysłane żądanie do metody Binding::RequestPrepare() w celu zainicjowania przygotowania na żądanie. Operacja prośby będzie czekać na zakończenie tego procesu. Każde wywołanie funkcji StartCertificateProvisioning(), gdy w trakcie jest przetwarzanie poprzedniego żądania, zostanie zignorowane.

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

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)