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

To zajęcia abstrakcyjne.

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

Abstrakcyjny interfejs, do którego są delegowane działania dotyczące platformy podczas atestu 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 atestu producenta za pomocą klucza prywatnego atestu producenta lokalnego węzła.

Funkcje publiczne

EncodeMAInfo

virtual WEAVE_ERROR EncodeMAInfo(
  TLVWriter & writer
)=0

Koduj informacje o atestu 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 o certyfikacie producenta należy zapisać w formie struktury TLV przypisanego zapisującym TLV za pomocą odpowiedniego tagu Security Profile.

GenerateAndEncodeMASig

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

Wygeneruj i zakoduj podpis atestu producenta za pomocą klucza prywatnego atestu producenta lokalnego węzła.

Po wywołaniu implementacje muszą obliczyć podpis dla danej wartości skrótu przy użyciu klucza prywatnego atestu producenta węzła.

Najpierw wartość wyliczeniowa identyfikująca algorytm podpisu atestu producenta należy zapisać w formie niezweryfikowanej liczby całkowitej do podanego zapisującego TLV przy użyciu tego tagu: kTag_GetCertReqMsg_MfrAttestSigAlgo Legalne wartości są pobierane ze stałej przestrzeni nazw kOID_SigAlgo_*.

Wygenerowany podpis należy następnie zapisać w formacie ECDSASignature, RSASignature, HMACSignature lub strukturze niestandardowej w przypadku dostarczonego zapisującego TLV przy użyciu jednego z tych tagów: kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrAttestatSig_RSA kTag_GetCertReqM

Uwaga: w przypadkach, gdy odpowiedni klucz prywatny węzła wykorzystujący krzywe eliptyczne jest przechowywany w lokalnym buforze, do wdrożenia tej metody może być pomocna funkcja narzędzia GenerateAndEncodeWeaveECDSASignature().