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

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

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

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

खास जानकारी

इनहेरिटेंस

पहचाने गए सबक्लास को डायरेक्ट करें: nl::Weave::Profiles::Security::KeyExport::WeaveStandAloneKeyExportClient

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

BeginCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
पीयर के सर्टिफ़िकेट की पुष्टि करने की तैयारी करें.
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
पीयर सर्टिफ़िकेट की पुष्टि से जुड़े संसाधन रिलीज़ करें.
GenerateNodeSignature(WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
एक्सपोर्ट किए जाने वाले किसी मुख्य मैसेज के लिए हस्ताक्षर जनरेट करें.
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
लोकल नोड के लिए, पासकोड एक्सपोर्ट करने का सर्टिफ़िकेट सेट करें.
HandleCertValidationResult(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
पीयर के सर्टिफ़िकेट की पुष्टि करने के नतीजों को प्रोसेस करें.
ReleaseNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
नोड का सर्टिफ़िकेट सेट रिलीज़ करें.
ValidateUnsignedKeyExportMessage(WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
हस्ताक्षर नहीं किए गए पासकोड एक्सपोर्ट मैसेज की सुरक्षा की पुष्टि करना.

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

BeginCertValidation

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

मिलते-जुलते ऐप्लिकेशन के सर्टिफ़िकेट की पुष्टि की तैयारी करें.

सर्टिफ़िकेट की पुष्टि शुरू होने पर कॉल किया जाता है. यह तरीका, दिए गए सर्टिफ़िकेट सेट और पुष्टि के कॉन्टेक्स्ट को तैयार करता है. इसका इस्तेमाल, पीयर नोड के सर्टिफ़िकेट की पुष्टि करने के लिए किया जाता है. लागू करने के लिए, दिए गए WeaveCertificateSet ऑब्जेक्ट को ज़रूरी संसाधनों के साथ शुरू करना होगा, ताकि आने वाले समय में सर्टिफ़िकेट की पुष्टि की जा सके. लागू करने के दौरान, सर्टिफ़िकेट सेट में भरोसेमंद रूट या सीए सर्टिफ़िकेट भी लोड होने चाहिए.

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

BeginCertValidation() के दौरान, जो संसाधनों को ऐलोकेट किया जाता है उन्हें बनाए रखने के लिए, यह लागू करना ज़रूरी है. ऐसा तब तक करना होगा, जब तक कि उससे जुड़ा EndCertValidation() कॉल नहीं किया जाता. लागू करने की इस बात की गारंटी है कि BeginCertValidation() को किए गए हर कॉल के लिए, EndCertValidation() को सटीक रूप से एक बार कॉल किया जाएगा.

EndCertValidation

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

पीयर सर्टिफ़िकेट की पुष्टि से जुड़े संसाधन रिलीज़ करें.

यह तब कॉल किया जाता है, जब मिलते-जुलते ऐप्लिकेशन के सर्टिफ़िकेट की पुष्टि और अनुरोध की पुष्टि की प्रक्रिया पूरी हो जाती है.

GenerateNodeSignature

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

मुख्य एक्सपोर्ट मैसेज के लिए हस्ताक्षर जनरेट करें.

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

GetNodeCertSet

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

लोकल नोड के लिए, पासकोड एक्सपोर्ट करने का सर्टिफ़िकेट सेट करें.

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

HandleCertValidationResult

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

पीयर के सर्टिफ़िकेट की पुष्टि करने के नतीजों को प्रोसेस करें.

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

रिस्पॉन्स देने वाले नोड के लिए, अनुरोध की गई कुंजी को एक्सपोर्ट करने के लिए अनुरोध करने वाले के अधिकार की पुष्टि करना ज़रूरी है.

शुरुआती नोड के लिए, इस तरीके से यह पुष्टि की जानी चाहिए कि पुष्टि किए गए सर्टिफ़िकेट से, उन मिलते-जुलते ऐप्लिकेशन की सही पहचान की जा सकती है जिन्हें मुख्य एक्सपोर्ट का अनुरोध भेजा गया था.

ReleaseNodeCertSet

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

नोड का प्रमाणपत्र सेट रिलीज़ करें.

इसे तब कॉल किया जाता है, जब GetNodeCertSet() से मिले सर्टिफ़िकेट सेट के साथ, पासकोड एक्सपोर्ट इंजन का काम पूरा हो जाता है.

ValidateUnsignedKeyExportMessage

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

पुष्टि करें कि साइन नहीं किए गए पासकोड एक्सपोर्ट होने के मैसेज सुरक्षित हैं.

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

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

शुरुआती नोड के लिए, इस तरीके से यह पुष्टि की जाती है कि मैसेज सही तरीके से उसी साथी से मिला है जिसे मुख्य एक्सपोर्ट का अनुरोध भेजा गया था.