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

To jest klasa abstrakcyjna.

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

Abstrakcyjna klasa delegata wywoływana przez mechanizm KeyExport, aby wykonać różne działania związane z uwierzytelnianiem podczas eksportowania kluczy.

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 zweryfikowania certyfikatu połączenia równorzędnego.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Zwolnij zasoby powiązane z weryfikacją certyfikatu peera.
GenerateNodeSignature(WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Generowanie podpisu wiadomości dotyczącej eksportu kluczy.
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
Pobierz certyfikat eksportu klucza dla węzła lokalnego.
HandleCertValidationResult(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
Przetwarzanie wyników weryfikacji 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
Zweryfikuj bezpieczeństwo niepodpisanej wiadomości dotyczącej eksportu klucza.

Funkcje publiczne

BeginCertValidation

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

Przygotuj się do zweryfikowania certyfikatu połączenia równorzędnego.

Wywoływana na początku weryfikacji certyfikatu. Ta metoda odpowiada za przygotowanie dostarczonego zestawu certyfikatów i kontekstu weryfikacji do użycia podczas weryfikowania certyfikatu węzła równorzędnego. Implementacje muszą zainicjować dostarczony obiekt WeaveCertificateSet z zasobami wystarczającymi do przeprowadzenia nadchodzącej weryfikacji certyfikatu. Implementacja musi też wczytać do zestawu certyfikatów wszystkie niezbędne zaufane certyfikaty główne i CA.

Dostarczony kontekst weryfikacji jest zainicjowany przez zestaw domyślnych kryteriów weryfikacji, które implementacja może w razie potrzeby zmienić. Implementacja musi albo ustawić pole EffectiveTime, albo ustawić odpowiednie flagi weryfikacji, aby ograniczyć weryfikację cyklu życia certyfikatu.

Implementacja jest wymagana do utrzymywania wszystkich zasobów przydzielonych w ramach metody BeginCertValidation() do czasu wywołania odpowiedniej funkcji EndCertValidation(). Implementacje mają gwarancję, że funkcja EndCertValidation() zostanie wywołana dokładnie raz przy każdym pomyślnym wywołaniu funkcji BeginCertValidation().

EndCertValidation

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

Zwolnij zasoby powiązane z weryfikacją certyfikatu peera.

Wywoływana po zakończeniu weryfikacji certyfikatu peera i zakończenia weryfikacji żądania.

GenerateNodeSignature

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

Generowanie podpisu wiadomości dotyczącej eksportu kluczy.

Ta metoda odpowiada za obliczenie podpisu danej wartości skrótu za pomocą klucza prywatnego węzła lokalnego i zapisanie podpisu dla dostarczonego zapisującego TLV w postaci struktury TLV WeaveSignature.

GetNodeCertSet

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

Pobierz certyfikat eksportu klucza dla węzła lokalnego.

Wywoływana, gdy mechanizm eksportowania kluczy przygotowuje się do podpisania wiadomości dotyczącej eksportu klucza. Ta metoda odpowiada za inicjowanie zestawu certyfikatów i wczytywanie wszystkich certyfikatów, które będą uwzględnione w podpisie wiadomości lub do niego odwołują się. Ostatni załadowany certyfikat musi być certyfikatem podpisującym.

HandleCertValidationResult

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

Przetwarzanie wyników weryfikacji certyfikatu peera.

Wywoływane po zakończeniu weryfikacji certyfikatu węzła równorzędnego. Ta metoda jest wywoływana tylko wtedy, gdy weryfikacja certyfikatu zakończy się powodzeniem. Implementacje mogą używać tego wywołania do sprawdzania wyników weryfikacji i mogą zastąpić wynik błędem.

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

W przypadku węzła inicjującego metoda ma sprawdzać, czy zweryfikowany certyfikat prawidłowo identyfikuje peer, 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 po wykonaniu przez mechanizm eksportu kluczy z zestawem certyfikatów zwróconym przez funkcję GetNodeCertSet().

ValidateUnsignedKeyExportMessage

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

Zweryfikuj bezpieczeństwo niepodpisanej wiadomości dotyczącej eksportu klucza.

Wywoływana, gdy węzeł odbiera niepodpisany komunikat dotyczący eksportu klucza. Ta metoda ma sprawdzać bezpieczeństwo wiadomości eksportu niepodpisanego klucza na podstawie kontekstu komunikacji, na przykład przez atrybuty sesji zabezpieczeń użytej do wysłania wiadomości.

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

W przypadku węzła inicjującego metoda powinna sprawdzać, czy wiadomość rzeczywiście pochodzi od peera, do którego zostało wysłane żądanie eksportu klucza.