nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase

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

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

Weave ग्रुप की की-स्टोर क्लास की परिभाषा.

खास जानकारी

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

इनहेरिटेंस

जानकारी वाली डायरेक्ट सबक्लास:
  nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
  nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
  nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
  nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore

सुरक्षित एट्रिब्यूट

LastUsedEpochKeyId
uint32_t
NextEpochKeyStartTime
uint32_t

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

Clear(void)=0
virtual WEAVE_ERROR
DeleteGroupKey(uint32_t keyId)=0
virtual WEAVE_ERROR
DeleteGroupKeysOfAType(uint32_t keyType)=0
virtual WEAVE_ERROR
DeriveApplicationKey(uint32_t & appKeyId, const uint8_t *keySalt, uint8_t saltLen, const uint8_t *keyDiversifier, uint8_t diversifierLen, uint8_t *appKey, uint8_t keyBufSize, uint8_t keyLen, uint32_t & appGroupGlobalId)
ऐप्लिकेशन कुंजी हासिल करता है.
EnumerateGroupKeys(uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0
virtual WEAVE_ERROR
GetCurrentAppKeyId(uint32_t keyId, uint32_t & curKeyId)
मौजूदा पासकोड आईडी दिखाता है.
GetCurrentUTCTime(uint32_t & utcTime)
virtual WEAVE_ERROR
प्लैटफ़ॉर्म का मौजूदा यूटीसी समय, सेकंड में पाएं.
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
ऐप्लिकेशन ग्रुप की कुंजी पाएं.
RetrieveGroupKey(uint32_t keyId, WeaveGroupKey & key)=0
virtual WEAVE_ERROR
StoreGroupKey(const WeaveGroupKey & key)=0
virtual WEAVE_ERROR

सुरक्षित फ़ंक्शन

Init(void)
void
लोकल ग्रुप के पासवर्ड स्टोर करने वाले पैरामीटर को शुरू करें.
OnEpochKeysChange(void)
void
यह फ़ंक्शन मौजूदा पासकोड का आईडी दिखाता है.
RetrieveLastUsedEpochKeyId(void)=0
virtual WEAVE_ERROR
StoreLastUsedEpochKeyId(void)=0
virtual WEAVE_ERROR

सुरक्षित एट्रिब्यूट

LastUsedEpochKeyId

uint32_t LastUsedEpochKeyId

NextEpochKeyStartTime

uint32_t NextEpochKeyStartTime

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

मिटाएं

virtual WEAVE_ERROR Clear(
  void
)=0

DeleteGroupKey

virtual WEAVE_ERROR DeleteGroupKey(
  uint32_t keyId
)=0

DeleteGroupKeysOfAType

virtual WEAVE_ERROR DeleteGroupKeysOfAType(
  uint32_t keyType
)=0

DeriveApplicationKey

WEAVE_ERROR DeriveApplicationKey(
  uint32_t & appKeyId,
  const uint8_t *keySalt,
  uint8_t saltLen,
  const uint8_t *keyDiversifier,
  uint8_t diversifierLen,
  uint8_t *appKey,
  uint8_t keyBufSize,
  uint8_t keyLen,
  uint32_t & appGroupGlobalId
)

ऐप्लिकेशन कुंजी बनाता है.

तीन तरह की ऐप्लिकेशन कुंजियां इस्तेमाल की जा सकती हैं: मौजूदा ऐप्लिकेशन कुंजी, रोटेट होने वाली ऐप्लिकेशन कुंजी, और स्टैटिक ऐप्लिकेशन कुंजी. जब मौजूदा ऐप्लिकेशन पासकोड का अनुरोध किया जाता है, तो फ़ंक्शन मौजूदा सिस्टम टाइम और हर युग पासकोड के शुरू होने के समय के पैरामीटर के आधार पर, मौजूदा युग पासकोड ढूंढता है और उसका इस्तेमाल करता है.

विवरण
पैरामीटर
[in,out] keyId
अनुरोध किए गए पासकोड का रेफ़रंस. मौजूदा ऐप्लिकेशन पासकोड का अनुरोध किए जाने पर, यह फ़ील्ड अपडेट हो जाता है. इससे, नया टाइप (रोटेट होने वाला ऐप्लिकेशन पासकोड) और ऐप्लिकेशन पासकोड जनरेट करने के लिए इस्तेमाल किया गया असल इकोपॉच पासकोड आईडी दिखता है.
[in] keySalt
ऐप्लिकेशन पासकोड की साल्ट वैल्यू वाले बफ़र का पॉइंटर.
[in] saltLen
ऐप्लिकेशन कुंजी के नमक की लंबाई.
[in] keyDiversifier
ऐप्लिकेशन की-डाइफ़रेंशियर वैल्यू वाले बफ़र का पॉइंटर.
[in] diversifierLen
ऐप्लिकेशन कुंजी के विविधता केंद्र की लंबाई.
[out] appKey
उस बफ़र का पॉइंटर जहां व्युत्पन्न की गई कुंजी लिखी जाएगी.
[in] keyBufSize
दिए गए कुंजी बफ़र की लंबाई.
[in] keyLen
अनुरोध किए गए मुख्य कॉन्टेंट की लंबाई.
[out] appGroupGlobalId
उस कुंजी का ऐप्लिकेशन ग्रुप ग्लोबल आईडी जिससे यह जुड़ा है.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफल होने पर.
WEAVE_ERROR_BUFFER_TOO_SMALL
अगर दिया गया पासकोड बफ़र का साइज़ ज़रूरत के मुताबिक नहीं है.
WEAVE_ERROR_INVALID_KEY_ID
अगर अनुरोध की गई कुंजी का आईडी अमान्य है.
WEAVE_ERROR_INVALID_ARGUMENT
अगर प्लैटफ़ॉर्म की कुंजी का स्टोर, अमान्य कुंजी पैरामीटर दिखाता है या कुंजी आइडेंटिफ़ायर की वैल्यू अमान्य है.
other
प्लैटफ़ॉर्म के 'की स्टोर' एपीआई से मिलने वाली, प्लैटफ़ॉर्म से जुड़ी अन्य गड़बड़ियां.

EnumerateGroupKeys

virtual WEAVE_ERROR EnumerateGroupKeys(
  uint32_t keyType,
  uint32_t *keyIds,
  uint8_t keyIdsArraySize,
  uint8_t & keyCount
)=0

GetCurrentAppKeyId

WEAVE_ERROR GetCurrentAppKeyId(
  uint32_t keyId,
  uint32_t & curKeyId
)

यह फ़ंक्शन मौजूदा पासकोड का आईडी दिखाता है.

यह फ़ंक्शन, सिस्टम के मौजूदा समय और हर इक्वोक पीरियड के शुरू होने के समय के पैरामीटर के आधार पर, मौजूदा इक्वोक पीरियड का पता लगाता है. अगर सिस्टम में मान्य और सटीक समय नहीं है, तो पिछली बार इस्तेमाल किया गया इकोसिस्टम पासकोड आईडी दिखाया जाता है.

विवरण
पैरामीटर
[in] keyId
ऐप्लिकेशन कुंजी का आईडी.
[out] curKeyId
ऐप्लिकेशन का मौजूदा कुंजी आईडी.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफल होने पर.
WEAVE_ERROR_INVALID_KEY_ID
अगर इनपुट की कुंजी आईडी की वैल्यू अमान्य है.
WEAVE_ERROR_KEY_NOT_FOUND
अगर प्लैटफ़ॉर्म की-स्टोर में, इक़ॉप की नहीं मिलती हैं.
other
प्लैटफ़ॉर्म की कुंजी के स्टोर एपीआई से मिली, प्लैटफ़ॉर्म से जुड़ी अन्य गड़बड़ियां.

GetCurrentUTCTime

virtual WEAVE_ERROR GetCurrentUTCTime(
  uint32_t & utcTime
)

मौजूदा प्लैटफ़ॉर्म के यूटीसी समय की जानकारी सेकंड में पाएं.

विवरण
पैरामीटर
[out] utcTime
समय की वैल्यू का रेफ़रंस.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफल होने पर.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
अगर प्लैटफ़ॉर्म, रीयल टाइम घड़ी के साथ काम नहीं करता.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
अगर सिस्टम की रीयल टाइम घड़ी, सटीक समय के सोर्स के साथ सिंक नहीं है.
other
अन्य Weave या प्लैटफ़ॉर्म गड़बड़ी कोड.

GetGroupKey

WEAVE_ERROR GetGroupKey(
  uint32_t keyId,
  WeaveGroupKey & groupKey
)

ऐप्लिकेशन ग्रुप कुंजी पाएं.

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

विवरण
पैरामीटर
[in] keyId
ग्रुप का की आईडी.
[out] groupKey
ग्रुप के मुख्य ऑब्जेक्ट के बारे में जानकारी.
रिटर्न वैल्यू
WEAVE_NO_ERROR
सफल होने पर.
WEAVE_ERROR_INVALID_KEY_ID
अगर अनुरोध की गई कुंजी का आईडी अमान्य है.
WEAVE_ERROR_INVALID_ARGUMENT
अगर प्लैटफ़ॉर्म की स्टोर की गई कुंजी, अमान्य कुंजी पैरामीटर दिखाती है.
other
प्लैटफ़ॉर्म के 'की स्टोर' एपीआई से मिलने वाली, प्लैटफ़ॉर्म से जुड़ी अन्य गड़बड़ियां.

RetrieveGroupKey

virtual WEAVE_ERROR RetrieveGroupKey(
  uint32_t keyId,
  WeaveGroupKey & key
)=0

StoreGroupKey

virtual WEAVE_ERROR StoreGroupKey(
  const WeaveGroupKey & key
)=0

सुरक्षित फ़ंक्शन

Init

void Init(
  void
)

लोकल ग्रुप के पासवर्ड स्टोर करने वाले पैरामीटर को शुरू करें.

OnEpochKeysChange

void OnEpochKeysChange(
  void
)

मौजूदा पासकोड आईडी दिखाता है.

जब ऐप्लिकेशन के इकोसिस्टम के लिए इस्तेमाल होने वाली इकाई की कुंजियों के सेट में कोई बदलाव (मिटाना या सेव करना) होता है, तो इकोसिस्टम की कुंजियों से जुड़े सदस्य वैरिएबल को डिफ़ॉल्ट वैल्यू पर सेट करता है. इस तरीके को कॉल करने के लिए, StoreGroupKey(), DeleteGroupKey(), और DeleteGroupKeysOfAType() फ़ंक्शन लागू करने वाली सब-क्लास की ज़िम्मेदारी है.

RetrieveLastUsedEpochKeyId

virtual WEAVE_ERROR RetrieveLastUsedEpochKeyId(
  void
)=0

StoreLastUsedEpochKeyId

virtual WEAVE_ERROR StoreLastUsedEpochKeyId(
  void
)=0