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

यह एक ऐब्स्ट्रैक्ट क्लास है.

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

एब्स्ट्रैक्ट इंटरफ़ेस, जिसे Weave नोड मैन्युफ़ैक्चरर के पुष्टि के दौरान, प्लैटफ़ॉर्म से जुड़ी कार्रवाइयां सौंपी जाती हैं.

खास जानकारी

सार्वजनिक फ़ंक्शन

EncodeMAInfo(TLVWriter & writer)=0
virtual WEAVE_ERROR
स्थानीय नोड के लिए, Weave मैन्युफ़ैक्चरर की पुष्टि करने वाली जानकारी को कोड में बदलें.
GenerateAndEncodeMASig(const uint8_t *data, uint16_t dataLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
स्थानीय नोड के मैन्युफ़ैक्चरर की पुष्टि करने वाली निजी कुंजी का इस्तेमाल करके, मैन्युफ़ैक्चरर के पुष्टि करने वाले हस्ताक्षर को जनरेट और कोड में बदलें.

सार्वजनिक फ़ंक्शन

EncodeMAInfo

virtual WEAVE_ERROR EncodeMAInfo(
  TLVWriter & writer
)=0

स्थानीय नोड के लिए, Weave मैन्युफ़ैक्चरर की पुष्टि करने वाली जानकारी को कोड में बदलें.

लागू करने पर, नोड के मैन्युफ़ैक्चरर के पुष्टि करने के लिए इस्तेमाल की जाने वाली जानकारी वाला स्ट्रक्चर लिखा जाना चाहिए. मैन्युफ़ैक्चरर की पुष्टि करने वाली जानकारी को TLV स्ट्रक्चर के तौर पर लिखा जाना चाहिए. इसके लिए, सुरक्षा प्रोफ़ाइल के खास टैग का इस्तेमाल करके, दिए गए TLV लेखक का इस्तेमाल करें.

GenerateAndEncodeMASig

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

लोकल नोड मैन्युफ़ैक्चरर की पुष्टि करने वाली निजी कुंजी का इस्तेमाल करके, मैन्युफ़ैक्चरर के प्रमाणित करने का हस्ताक्षर जनरेट करें और उसे कोड में बदलें.

लागू करने के लिए, नोड के मैन्युफ़ैक्चरर की पुष्टि करने वाली निजी कुंजी का इस्तेमाल करके, दी गई हैश वैल्यू पर सिग्नेचर का हिसाब लगाना ज़रूरी है.

सबसे पहले, मैन्युफ़ैक्चरर के प्रमाणित करने से जुड़े हस्ताक्षर एल्गोरिदम की पहचान करने वाली इन्यूमरेटेड वैल्यू को, दिए गए TLV लेखक के लिए, बिना सिग्नेचर वाले पूर्णांक के तौर पर लिखा जाना चाहिए. इसके लिए, इस टैग का इस्तेमाल किया जाना चाहिए: kTag_GetCertReqMsg_MfrAttestSigAlgo कानूनी इन्यूमरेटेड वैल्यू, kOID_SigAlgo_* कॉन्स्टेंट नेमस्पेस से ली जाती हैं.

इसके बाद, जनरेट किए गए हस्ताक्षर को TLV राइटर में ECDSASignature, RSASignature, HMACSignature या कस्टम स्ट्रक्चर के तौर पर लिखा जाना चाहिए. इसके लिए, इनमें से किसी एक टैग का इस्तेमाल करें: kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrAttestSig_RSA kTag_GetCertReqMsg_MfrAttestSig_HMAC कस्टम सुरक्षा प्रोफ़ाइल के हिसाब से टैग

ध्यान दें: अगर किसी नोड की एलिप्टिक कर्व निजी कुंजी, लोकल बफ़र में सेव है, तो इस तरीके को लागू करने के लिए GenerateAndEncodeWeaveECDSASignature() यूटिलिटी फ़ंक्शन का इस्तेमाल किया जा सकता है.