nl::Weave::Profiles::Security::KeyExport::WeaveKeyExportDelegate

To zajęcia abstrakcyjne.

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

Abstrakcyjna klasa podrzędna wywoływana przez mechanizm KeyExport do wykonywania różnych działań związanych z uwierzytelnianiem podczas eksportowania klucza.

Podsumowanie

Dziedziczenie

Bezpośrednie znane podklasy: nl::Weave::Profiles::Security::KeyExport::WeaveStandAloneKeyExportClient

Funkcje publiczne

BeginCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Przygotuj się do weryfikacji certyfikatu peera.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Zwolnij zasoby powiązane z walidacją certyfikatu peera.
GenerateNodeSignature(WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Generowanie podpisu dla wiadomości eksportu klucza.
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Pobierz certyfikat eksportu klucza ustawiony dla węzła lokalnego.
HandleCertValidationResult(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Przetwórz wyniki walidacji certyfikatu peera.
ReleaseNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Zwolnij zestaw certyfikatów węzła.
ValidateUnsignedKeyExportMessage(WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Sprawdź bezpieczeństwo niepodpisanego klucza.

Funkcje publiczne

BeginCertValidation

virtual WEAVE_ERROR BeginCertValidation(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet
)=0

Przygotuj się do weryfikacji certyfikatu peera.

Jest wywoływany na początku weryfikacji certyfikatu. Ta metoda odpowiada za przygotowanie dostarczonego zestawu certyfikatów i kontekstu weryfikacji na potrzeby weryfikacji certyfikatu węzła peer. Implementacje muszą zainicjować dostarczony obiekt WeaveCertificateSet z wystarczającymi zasobami do obsługi nadchodzącej weryfikacji certyfikatu. Implementacja musi też wczytać do zestawu certyfikatów wszystkie niezbędne zaufane certyfikaty główne i certyfikaty CA.

Podany kontekst weryfikacji zostanie zainicjowany przy użyciu zestawu domyślnych kryteriów weryfikacji, które implementacja może w razie potrzeby zmienić. Implementacja musi ustawić pole EffectiveTime lub odpowiednie flagi weryfikacji, aby pominąć weryfikację czasu trwania certyfikatu.

Implementacja jest wymagana do utrzymania zasobów przydzielonych podczas wywołania funkcji BeginCertValidation() do momentu wywołania odpowiedniej funkcji EndCertValidation(). W przypadku każdej udanej implementacji funkcji BeginCertValidation() funkcja EndCertValidation() zostanie wywołana dokładnie raz.

EndCertValidation

virtual WEAVE_ERROR EndCertValidation(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet
)=0

Zasoby związane z weryfikacją certyfikatów peer

Wywoływany po zakończeniu weryfikacji certyfikatu i weryfikacji żądania.

GenerateNodeSignature

virtual WEAVE_ERROR GenerateNodeSignature(
  WeaveKeyExport *keyExport,
  const uint8_t *msgHash,
  uint8_t msgHashLen,
  TLVWriter & writer
)=0

wygenerować podpis dla wiadomości z informacją o eksportowaniu klucza.

Ta metoda odpowiada za obliczanie podpisu danej wartości funkcji haszującej za pomocą klucza prywatnego lokalnego węzła i zapisywanie podpisu w dostarczonym zapisującym TLV jako struktura WeaveSignature TLV.

GetNodeCertSet

virtual WEAVE_ERROR GetNodeCertSet(
  WeaveKeyExport *keyExport,
  WeaveCertificateSet & certSet
)=0

Pobierz zestaw certyfikatów eksportu kluczy dla węzła lokalnego.

Jest wywoływany, gdy mechanizm eksportu klucza przygotowuje się do podpisania wiadomości eksportu klucza. Ta metoda odpowiada za inicjowanie zestawu certyfikatów i wczytywanie wszystkich certyfikatów, które zostaną umieszczone w podpisie wiadomości lub do nich odwołują się. Ostatnim wczytywanym certyfikatem musi być certyfikat podpisywania.

HandleCertValidationResult

virtual WEAVE_ERROR HandleCertValidationResult(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet,
  uint32_t requestedKeyId
)=0

Przetwarzanie wyników weryfikacji certyfikatu peera.

Jest wywoływany po zakończeniu weryfikacji certyfikatu węzła peer. Ta metoda jest wywoływana tylko wtedy, gdy weryfikacja certyfikatu zakończy się pomyślnie. Implementacje mogą używać tego wywołania do sprawdzania wyników weryfikacji i ewentualnego zastąpienia wyniku błędem.

W przypadku węzła odpowiadającego na żądanie metoda powinna weryfikować uprawnienia żądającego do eksportowania żądanego klucza.

W przypadku węzła inicjującego metoda powinna sprawdzać, czy zweryfikowany certyfikat prawidłowo identyfikuje peera, do którego zostało wysłane żądanie eksportu klucza.

ReleaseNodeCertSet

virtual WEAVE_ERROR ReleaseNodeCertSet(
  WeaveKeyExport *keyExport,
  WeaveCertificateSet & certSet
)=0

Zwolnij zestaw certyfikatów węzła.

Wywoływana, gdy mechanizm eksportu klucza używa zestawu certyfikatów zwróconych przez GetNodeCertSet().

ValidateUnsignedKeyExportMessage

virtual WEAVE_ERROR ValidateUnsignedKeyExportMessage(
  WeaveKeyExport *keyExport,
  uint32_t requestedKeyId
)=0

Sprawdź bezpieczeństwo niepodpisanego klucza.

Jest wywoływany, gdy węzeł otrzyma wiadomość eksportu klucza, która nie jest podpisana. Ta metoda ma sprawdzać bezpieczeństwo komunikatu dotyczącego eksportu niepodpisanego klucza na podstawie kontekstu komunikacji, np. za pomocą atrybutów sesji zabezpieczeń użytej do wysłania wiadomości.

W przypadku węzła reagującego metoda powinna weryfikować uprawnienia inicjatora do wyeksportowania żądanego klucza.

W przypadku węzła inicjującego metoda powinna sprawdzać, czy wiadomość prawidłowo pochodzi z połączenia równorzędnego, do którego zostało wysłane żądanie eksportu klucza.