nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine

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

Weave सर्टिफ़िकेट प्रोवाइज़निंग प्रोटोकॉल ऑब्जेक्ट का मुख्य लॉजिक लागू करता है.

खास जानकारी

कंस्ट्रक्टर और डिस्ट्रक्टर

WeaveCertProvEngine(void)

सार्वजनिक टाइप

@246{
  kReqType_GetInitialOpDeviceCert = 0,
  kReqType_RotateOpDeviceCert = 1
}
enum
EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam) typedef
void(*
यह फ़ंक्शन, ऐप्लिकेशन कॉलबैक है. इसे सर्टिफ़िकेट प्रोविज़निंग इंजन एपीआई इवेंट पर ट्रिगर किया जाता है.
EventType{
  kEvent_PrepareAuthorizeInfo = 1,
  kEvent_ResponseReceived = 2,
  kEvent_CommunicationError = 3
}
enum
State{
  kState_NotInitialized = 0,
  kState_Idle = 1,
  kState_PreparingBinding = 2,
  kState_RequestInProgress = 3
}
enum

सार्वजनिक एट्रिब्यूट

AppState
void *
ऐप्लिकेशन के हिसाब से डेटा का पॉइंटर.

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

AbortCertificateProvisioning(void)
void
GetCertificate एक्सचेंज की प्रोसेस को रोकता है.
GenerateGetCertificateRequest(PacketBuffer *msgBuf, uint8_t reqType, bool doMfrAttest)
GetCertificateRequest मैसेज जनरेट करें.
GetBinding(void) const
WeaveCertProvEngine से जुड़े Binding ऑब्जेक्ट का पॉइंटर दिखाता है.
GetEventCallback(void) const
WeaveCertProvEngine ऑब्जेक्ट पर फ़िलहाल कॉन्फ़िगर किए गए एपीआई इवेंट कॉलबैक फ़ंक्शन का पॉइंटर दिखाता है.
GetMfrAttestDelegate(void) const
मैन्युफ़ैक्चरर की पुष्टि करने वाले डेलिगेट ऑब्जेक्ट का पॉइंटर दिखाता है, जिसे फ़िलहाल WeaveCertProvEngine ऑब्जेक्ट पर कॉन्फ़िगर किया गया है.
GetOpAuthDelegate(void) const
WeaveCertProvEngine ऑब्जेक्ट पर फ़िलहाल कॉन्फ़िगर किए गए, पुष्टि करने वाले ऑब्जेक्ट का पॉइंटर दिखाता है.
GetReqType(void) const
uint8_t
मौजूदा अनुरोध का टाइप वापस पाएं.
GetState(void) const
WeaveCertProvEngine ऑब्जेक्ट की मौजूदा स्थिति देखें.
Init(Binding *binding, WeaveNodeOpAuthDelegate *opAuthDelegate, WeaveNodeMfrAttestDelegate *mfrAttestDelegate, EventCallback eventCallback, void *appState)
सर्टिफ़िकेट पाने के लिए अनुरोध वाला मैसेज भेजने की तैयारी करते समय, WeaveCertProvEngine ऑब्जेक्ट शुरू करें.
ProcessGetCertificateResponse(PacketBuffer *msgBuf)
GetCertificateResponse मैसेज को प्रोसेस करें.
SetBinding(Binding *binding)
void
WeaveCertProvEngine ऑब्जेक्ट पर बाइंडिंग ऑब्जेक्ट सेट करता है.
SetEventCallback(EventCallback eventCallback)
void
WeaveCertProvEngine ऑब्जेक्ट पर एपीआई इवेंट कॉलबैक फ़ंक्शन सेट करता है.
SetMfrAttestDelegate(WeaveNodeMfrAttestDelegate *mfrAttestDelegate)
void
WeaveCertProvEngine ऑब्जेक्ट पर, मैन्युफ़ैक्चरर के पुष्टि करने वाले प्रतिनिधि का ऑब्जेक्ट सेट करता है.
SetOpAuthDelegate(WeaveNodeOpAuthDelegate *opAuthDelegate)
void
WeaveCertProvEngine ऑब्जेक्ट पर, ऑपरेशनल पुष्टि करने वाला डेलिगेट ऑब्जेक्ट सेट करता है.
Shutdown(void)
void
पहले से शुरू किए गए WeaveCertProvEngine ऑब्जेक्ट को बंद करें.
StartCertificateProvisioning(uint8_t reqType, bool doMfrAttest)
सर्टिफ़िकेट उपलब्ध कराने वाला प्रोटोकॉल शुरू करें.

स्ट्रक्चर

nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine::InEventParam

Weave सर्टिफ़िकेट प्रोविज़निंग एपीआई इवेंट के इनपुट पैरामीटर.

nl::Weave::Profiles::Security::CertProvisioning::WeaveCertProvEngine::OutEventParam

Weave Certificate Provisioning API इवेंट के लिए आउटपुट पैरामीटर.

सार्वजनिक प्रकार

@246

 @246
प्रॉपर्टी
kReqType_GetInitialOpDeviceCert

'सर्टिफ़िकेट पाएं' अनुरोध का टाइप, शुरुआती ऑपरेशनल सर्टिफ़िकेट पाने के लिए है.

kReqType_RotateOpDeviceCert

'सर्टिफ़िकेट पाएं' अनुरोध का टाइप, मौजूदा सर्टिफ़िकेट को बदलने के लिए है.

EventCallback

void(* EventCallback)(void *appState, EventType eventType, const InEventParam &inParam, OutEventParam &outParam)

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

विवरण
पैरामीटर
[in] appState
इंजन ऑब्जेक्ट से जुड़े ऐप्लिकेशन की तय की गई स्थिति की जानकारी का पॉइंटर.
[in] eventType
इवेंट कॉलबैक से पास किया गया इवेंट आईडी.
[in] inParam
इवेंट कॉलबैक से पास किए गए इनपुट इवेंट पैरामीटर का रेफ़रंस.
[in] outParam
इवेंट कॉलबैक से पास किए गए आउटपुट इवेंट पैरामीटर का रेफ़रंस.

EventType

 EventType
प्रॉपर्टी
kEvent_CommunicationError

GetCertificateRequest भेजने या जवाब मिलने का इंतज़ार करते समय, कम्यूनिकेशन से जुड़ी कोई गड़बड़ी हुई.

kEvent_PrepareAuthorizeInfo

ऐप्लिकेशन से, GetCertificateRequest के लिए पेलोड तैयार करने का अनुरोध किया जाता है.

kEvent_ResponseReceived

पीयर से GetCertificateResponse मैसेज मिला.

स्थिति

 State
प्रॉपर्टी
kState_Idle

इंजन ऑब्जेक्ट कुछ समय से इस्तेमाल में नहीं है.

kState_NotInitialized

इंजन ऑब्जेक्ट को शुरू नहीं किया गया है.

kState_PreparingBinding

इंजन ऑब्जेक्ट, बाइंडिंग के तैयार होने का इंतज़ार कर रहा है.

kState_RequestInProgress

GetCertificateRequest मैसेज भेज दिया गया है और इंजन ऑब्जेक्ट जवाब का इंतज़ार कर रहा है.

सार्वजनिक एट्रिब्यूट

AppState

void * AppState

ऐप्लिकेशन के हिसाब से डेटा का पॉइंटर.

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

AbortCertificateProvisioning

void AbortCertificateProvisioning(
  void
)

GetCertificate एक्सचेंज की प्रोसेस को रोकता है.

GenerateGetCertificateRequest

WEAVE_ERROR GenerateGetCertificateRequest(
  PacketBuffer *msgBuf,
  uint8_t reqType,
  bool doMfrAttest
)

GetCertificateRequest मैसेज जनरेट करें.

यह तरीका, Weave TLV फ़ॉर्मैट में एन्कोड किया गया Weave GetCertificateRequest स्ट्रक्चर जनरेट करता है.

GetCertificateRequest मैसेज बनाते समय, यह तरीका WeaveNodeOpAuthDelegate और WeaveNodeMfrAttestDelegate फ़ंक्शन और PrepareAuthorizeInfo API इवेंट की मदद से, ऐप्लिकेशन से अनुरोध करता है. इससे मैसेज का पेलोड तैयार होता है.

विवरण
पैरामीटर
[in] msgBuf
PacketBuffer ऑब्जेक्ट का पॉइंटर, जिसमें GetCertificateRequest मैसेज दिख रहा है.
[in] reqType
सर्टिफ़िकेट के अनुरोध का टाइप पाएं.
[in] doMfrAttest
यह एक बूलियन फ़्लैग है. इससे पता चलता है कि अनुरोध में मैन्युफ़ैक्चरर के एटेस्टेशन का डेटा शामिल होना चाहिए या नहीं.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर GetCertificateRequest जनरेट हो गया है.

GetBinding

Binding * GetBinding(
  void
) const 

WeaveCertProvEngine से जुड़े Binding ऑब्जेक्ट का पॉइंटर दिखाता है.

GetEventCallback

EventCallback GetEventCallback(
  void
) const 

WeaveCertProvEngine ऑब्जेक्ट पर फ़िलहाल कॉन्फ़िगर किए गए एपीआई इवेंट कॉलबैक फ़ंक्शन का पॉइंटर दिखाता है.

GetMfrAttestDelegate

WeaveNodeMfrAttestDelegate * GetMfrAttestDelegate(
  void
) const 

यह फ़ंक्शन, मैन्युफ़ैक्चरर के ऐसे ऑब्जेक्ट का पॉइंटर दिखाता है जिसे फ़िलहाल WeaveCertProvEngine ऑब्जेक्ट पर कॉन्फ़िगर किया गया है.

GetOpAuthDelegate

WeaveNodeOpAuthDelegate * GetOpAuthDelegate(
  void
) const 

ऑपरेशनल ऑथेंटिकेशन डेलिगेट ऑब्जेक्ट का पॉइंटर दिखाता है, जिसे फ़िलहाल WeaveCertProvEngine ऑब्जेक्ट पर कॉन्फ़िगर किया गया है.

GetReqType

uint8_t GetReqType(
  void
) const 

मौजूदा अनुरोध का टाइप वापस पाएं.

GetState

State GetState(
  void
) const 

WeaveCertProvEngine ऑब्जेक्ट की मौजूदा स्थिति देखें.

Init

WEAVE_ERROR Init(
  Binding *binding,
  WeaveNodeOpAuthDelegate *opAuthDelegate,
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate,
  EventCallback eventCallback,
  void *appState
)

सर्टिफ़िकेट पाने के लिए अनुरोध वाला मैसेज भेजने की तैयारी करते समय, WeaveCertProvEngine ऑब्जेक्ट शुरू करें.

विवरण
पैरामीटर
[in] binding
ऐसा बाइंडिंग ऑब्जेक्ट जिसका इस्तेमाल, पीयर नोड के साथ कम्यूनिकेशन सेट अप करने के लिए किया जाएगा.
[in] opAuthDelegate
ऑपरेशनल ऑथेंटिकेशन डेलीगेट ऑब्जेक्ट का पॉइंटर, जिसका इस्तेमाल नोड के ऑपरेशनल क्रेडेंशियल का इस्तेमाल करके, कॉन्स्ट्रक्ट करने और हस्ताक्षर करने के लिए किया जाएगा.
[in] mfrAttestDelegate
मैन्युफ़ैक्चरर के पुष्टि करने वाले प्रतिनिधि ऑब्जेक्ट का पॉइंटर. इसका इस्तेमाल, नोड के मैन्युफ़ैक्चरर के दिए गए क्रेडेंशियल का इस्तेमाल करके, अनुरोध बनाने और उस पर हस्ताक्षर करने के लिए किया जाएगा.
[in] eventCallback
ऐप्लिकेशन में एपीआई इवेंट डिलीवर करने के लिए, फ़ंक्शन का पॉइंटर, जिसे WeaveCertProvEngine ऑब्जेक्ट से कॉल किया जाएगा.
[in] appState
ऐप्लिकेशन से तय किए गए ऑब्जेक्ट का पॉइंटर, जो किसी एपीआई इवेंट के होने पर ऐप्लिकेशन को वापस भेज दिया जाएगा.

ProcessGetCertificateResponse

WEAVE_ERROR ProcessGetCertificateResponse(
  PacketBuffer *msgBuf
)

GetCertificateResponse मैसेज को प्रोसेस करें.

यह तरीका, Weave TLV फ़ॉर्मैट में एन्कोड किए गए Weave GetCertificateResponse स्ट्रक्चर को प्रोसेस करता है.

GetCertificateResponse मैसेज की प्रोसेस पूरी होने के बाद, यह तरीका नतीजा देने के लिए, ResponseReceived एपीआई इवेंट के ज़रिए ऐप्लिकेशन को कॉल करता है.

अगर GetCertificateResponse मैसेज की प्रोसेसिंग पूरी नहीं हो पाती, तो यह तरीका गड़बड़ी की रिपोर्ट करने के लिए, CommunicationError API इवेंट के ज़रिए ऐप्लिकेशन को कॉल करता है.

विवरण
पैरामीटर
[in] msgBuf
PacketBuffer ऑब्जेक्ट का पॉइंटर, जिसमें GetCertificateResponse मैसेज मौजूद है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर GetCertificateResponse मैसेज को प्रोसेस कर लिया गया है.

SetBinding

void SetBinding(
  Binding *binding
)

बाइंडिंग ऑब्जेक्ट को WeaveCertProvEngine ऑब्जेक्ट पर सेट करता है.

SetEventCallback

void SetEventCallback(
  EventCallback eventCallback
)

WeaveCertProvEngine ऑब्जेक्ट पर एपीआई इवेंट कॉलबैक फ़ंक्शन सेट करता है.

SetMfrAttestDelegate

void SetMfrAttestDelegate(
  WeaveNodeMfrAttestDelegate *mfrAttestDelegate
)

WeaveCertProvEngine ऑब्जेक्ट पर, मैन्युफ़ैक्चरर के पुष्टि करने वाले प्रतिनिधि का ऑब्जेक्ट सेट करता है.

SetOpAuthDelegate

void SetOpAuthDelegate(
  WeaveNodeOpAuthDelegate *opAuthDelegate
)

WeaveCertProvEngine ऑब्जेक्ट पर, ऑपरेशनल पुष्टि करने वाला डेलिगेट ऑब्जेक्ट सेट करता है.

बंद करें

void Shutdown(
  void
)

पहले से शुरू किए गए WeaveCertProvEngine ऑब्जेक्ट को बंद करें.

ध्यान दें कि इस तरीके को सिर्फ़ तब कॉल किया जा सकता है, जब Init() तरीके को पहले कॉल किया गया हो.

StartCertificateProvisioning

WEAVE_ERROR StartCertificateProvisioning(
  uint8_t reqType,
  bool doMfrAttest
)

सर्टिफ़िकेट उपलब्ध कराने वाला प्रोटोकॉल शुरू करें.

यह तरीका, सीए सेवा को GetCertificateRequest मैसेज भेजने की प्रोसेस शुरू करता है. अगर GetCertificateResponse मैसेज मिलता है, तो उसे ResponseReceived API इवेंट के ज़रिए ऐप्लिकेशन को डिलीवर कर दिया जाएगा.

इस तरीके को कॉल करते समय, अगर बाइंडिंग ऑब्जेक्ट, 'तैयार है' की स्थिति में नहीं है, तो मांग पर तैयारी शुरू करने के लिए, Binding::RequestPrepare() तरीके को अनुरोध किया जाएगा. इसके बाद, अनुरोध की प्रोसेस पूरी होने तक इंतज़ार किया जाएगा. पहले के अनुरोध की प्रोसेस जारी होने के दौरान, StartCertificateProvisioning() को किए गए किसी भी कॉल को अनदेखा कर दिया जाएगा.

विवरण
पैरामीटर
[in] reqType
सर्टिफ़िकेट के अनुरोध का टाइप पाएं.
[in] doMfrAttest
बूलियन फ़्लैग, जो बताता है कि प्रोटोकॉल में मैन्युफ़ैक्चरर के एटेस्टेशन डेटा को शामिल करना चाहिए या नहीं.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर StartCertificateProvisioning() को प्रोसेस किया गया है.

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)