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

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

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

खास जानकारी

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

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)
get CertificateResponse मैसेज प्रोसेस करें.
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 प्रमाणपत्र प्रावधान एपीआई इवेंट के लिए आउटपुट पैरामीटर.

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

@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

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

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 फ़ंक्शन और ReadyAuthorizeInfo API इवेंट की मदद से, ऐप्लिकेशन को अनुरोध किया जाता है.

जानकारी
पैरामीटर
[in] msgBuf
उस PaetBuffer ऑब्जेक्ट का पॉइंटर जिसमें getCertificateRequest मैसेज मौजूद है.
[in] reqType
सर्टिफ़िकेट के अनुरोध का टाइप पाएं.
[in] doMfrAttest
बूलियन फ़्लैग से पता चलता है कि अनुरोध में मैन्युफ़ैक्चरर की पुष्टि करने वाला डेटा शामिल होना चाहिए या नहीं.
रिटर्न वैल्यू
WEAVE_NO_ERROR
अगर get CertificateRequest जनरेट किया गया था.

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 ऑब्जेक्ट की मौजूदा स्थिति का पता लगाएं.

शुरू करें

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
)

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

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

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

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

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

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
)

सर्टिफ़िकेट प्रॉविज़निंग प्रोटोकॉल शुरू करें.

यह तरीका CA सेवा को एक getCertificateRequest मैसेज भेजने की प्रोसेस शुरू करता है. अगर और जब Gmail सर्टिफ़िकेट से जुड़ा एक मैसेज मिलता है, तो यह ऐप्लिकेशन को ResponseReceived API इवेंट के ज़रिए भेजा जाएगा.

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

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

WeaveCertProvEngine

 WeaveCertProvEngine(
  void
)