nl::Weave::Profiles::Security::CertProvisioning::WeaveNodeMfrAttestDelegate

To abstrakcyjna klasa.

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

Abstrakcyjny interfejs, do którego delegowane są działania związane z konkretną platformą podczas uwierzytelniania producenta węzła Weave.

Podsumowanie

Funkcje publiczne

EncodeMAInfo(TLVWriter & writer)=0
virtual WEAVE_ERROR
Koduj informacje o atestu producenta Weave dla węzła lokalnego.
GenerateAndEncodeMASig(const uint8_t *data, uint16_t dataLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
Wygeneruj i zakoduj podpis oświadczenia producenta za pomocą klucza prywatnego oświadczenia producenta w węźle lokalnym.

Funkcje publiczne

EncodeMAInfo

virtual WEAVE_ERROR EncodeMAInfo(
  TLVWriter & writer
)=0

Kodowanie informacji o atestacjach producenta Weave dla węzła lokalnego.

Po wywołaniu implementacja powinna zapisać strukturę zawierającą informacje używane na potrzeby atestu producenta węzła. Informacje w atestacie producenta powinny być zapisane w formie struktury TLV w dostarczonym programie do zapisywania w formacie TLV za pomocą tagu Security Profile.

GenerateAndEncodeMASig

virtual WEAVE_ERROR GenerateAndEncodeMASig(
  const uint8_t *data,
  uint16_t dataLen,
  TLVWriter & writer
)=0

Wygeneruj i zakoduj podpis oświadczenia producenta za pomocą klucza prywatnego oświadczenia producenta w węźle lokalnym.

Gdy jest wywoływana, implementacja musi obliczyć podpis na podstawie podanej wartości haszowanej za pomocą klucza prywatnego producenta węzła.

Najpierw wartość zagregowana identyfikująca algorytm podpisu oświadczenia producenta powinna zostać zapisana w postaci niepodpisanej liczby całkowitej w dostarczonym narzędziu do zapisywania TLV za pomocą tego znacznika: kTag_GetCertReqMsg_MfrAttestSigAlgo Legal wartości zagregowane są pobierane z przestrzeni nazw stałej kOID_SigAlgo_*

Wygenerowany podpis powinien być zapisany w formie podpisu ECDSA, RSA lub HMAC albo struktury niestandardowej w dostarczonym narzędziu do zapisywania TLV za pomocą jednego z tych tagów: kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrAttestSig_RSA kTag_GetCertReqMsg_MfrAttestSig_HMAC tag niestandardowy dla profilu bezpieczeństwa

Uwaga: w przypadku, gdy odpowiedni klucz prywatny wykorzystujący krzywe eliptyczne jest przechowywany w lokalnym buforze, do implementacji tej metody może być przydatna funkcja pomocnicza GenerateAndEncodeWeaveECDSASignature().