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

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

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

Podsumowanie

Konstruktory 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 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 związanych z aplikacją,

Funkcje publiczne

AbortCertificateProvisioning(void)
void
Zatrzymuje wymianę GetCertificate w toku.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
Wygeneruj komunikat GetCertificateRequest.
GetBinding(void) const
Zwraca wskaźnik do obiektu Binding powiązanego z mechanizmem 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 obecnie skonfigurowanego w obiekcie WeaveCertProvEngine.
GetOpAuthDelegate(void) const
Zwraca wskaźnik do obiektu przekazywania 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)
Podczas przygotowań do wysłania komunikatu z prośbą o pobranie certyfikatu zainicjuj obiekt WeaveCertProvEngine.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
Przetwórz komunikat 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
Ustawia obiekt delegata atestu producenta w obiekcie WeaveCertProvEngine.
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
void
Ustawia obiekt przekazywania uwierzytelniania operacyjnego w obiekcie WeaveCertProvEngine.
Shutdown(void)
void
Wyłącz wcześniej zainicjowany obiekt WeaveCertProvEngine.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
Uruchom protokół obsługi administracyjnej certyfikatów.

Struktura

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 zdarzenia interfejsu Weave Certificate Provisioning API.

Typy publiczne

@246

 @246
Właściwości
kReqType_GetInitialOpDeviceCert

Typ żą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 jest wywołaniem zwrotnym 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
Odniesienie do wejściowych parametrów zdarzeń przekazywanych przez wywołanie zwrotne zdarzenia.
[in] outParam
Odniesienie do parametrów zdarzenia wyjściowego przekazywanych 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 ma przygotowywać ładunek na żądanie GetCertificateRequest.

kEvent_ResponseReceived

Odebrano komunikat GetCertificateResponse z peera.

Stan

 State
Właściwości
kState_Idle

Obiekt wyszukiwarki jest bezczynny.

kState_NotInitialized

Obiekt wyszukiwarki nie został zainicjowany.

kState_PreparingBinding

Obiekt wyszukiwarki czeka na przygotowanie powiązania.

kState_RequestInProgress

Komunikat GetCertificateRequest został wysłany, a obiekt wyszukiwarki czeka na odpowiedź.

Atrybuty publiczne

AppState

void * AppState

wskaźnik do danych związanych z aplikacją,

Funkcje publiczne

AbortCertificateProvisioning

void AbortCertificateProvisioning(
  void
)

Zatrzymuje wymianę GetCertificate w toku.

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 i zdarzenia interfejsu PrepareAuthorizeInfo API w celu przygotowania ładunku wiadomości.

Szczegóły
Parametry
[in] msgBuf
Wskaźnik do obiektu PacketBuffer z komunikatem GetCertificateRequest.
[in] reqType
Pobranie typu żądania certyfikatu.
[in] doMfrAttest
Flaga wartości logicznej, która określa, czy żądanie powinno zawierać dane atestu producenta.
Zwracane wartości
WEAVE_NO_ERROR
Sprawdź, czy żądanie GetCertificateRequest zostało wygenerowane.

GetBinding

Binding * GetBinding(
  void
) const 

Zwraca wskaźnik do obiektu Binding powiązanego z mechanizmem 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 obecnie skonfigurowanego w obiekcie WeaveCertProvEngine.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

Zwraca wskaźnik do obiektu przekazywania 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.

Init

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

Podczas przygotowań do wysłania komunikatu 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 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 przekazywania atestu producenta, który będzie używany do tworzenia i podpisywania żądania za pomocą 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 będzie przekazywany z powrotem do aplikacji za każdym razem, 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 ukończeniu przetwarzania komunikatu GetCertificateResponse metoda wywołuje aplikację za pomocą zdarzenia ResponseReceived API, aby dostarczyć wynik.

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

Szczegóły
Parametry
[in] msgBuf
Wskaźnik do obiektu PacketBuffer z komunikatem 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
)

Ustawia obiekt delegata atestu producenta w obiekcie WeaveCertProvEngine.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

Ustawia obiekt przekazywania uwierzytelniania operacyjnego w obiekcie WeaveCertProvEngine.

Wyłączono

void Shutdown(
  void
)

Wyłącz 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
)

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

Ta metoda inicjuje proces wysyłania komunikatu GetCertificateRequest do usługi CA. Jeśli otrzymasz odpowiedni komunikat GetCertificateResponse, zostanie on dostarczony do aplikacji przez zdarzenie ResponseReceived API.

Jeśli obiekt Binding nie jest w stanie gotowości, gdy ta metoda jest wywoływana, do metody Binding::RequestPrepare() zostanie wysłane żądanie rozpoczęcia przygotowywania na żądanie. Operacja żądania będzie oczekiwać na zakończenie tego procesu. Każde wywołanie metody StartCertificateProvisioning() w trakcie przetwarzania poprzedniego żądania zostanie zignorowane.

Szczegóły
Parametry
[in] reqType
Pobranie typu żą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
Metoda StartCertificateProvisioning() została przetworzona.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)