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::SecurityerGroup::Devicelayer:Weave::Weave:Devicelayer::अंदरूनी::GroupKeyStoreImpl
nl::Weave::डिवाइस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 )
ऐप्लिकेशन कुंजी का इस्तेमाल करता है.
तीन तरह की ऐप्लिकेशन कुंजियां काम करती हैं: मौजूदा ऐप्लिकेशन कुंजी, रोटेटिंग ऐप्लिकेशन कुंजी, और स्टैटिक ऐप्लिकेशन कुंजी. मौजूदा ऐप्लिकेशन कुंजी का अनुरोध किए जाने पर, फ़ंक्शन हर epoch कुंजी के शुरू होने के समय वाले पैरामीटर और मौजूदा सिस्टम के समय के आधार पर, मौजूदा epoch कुंजी को ढूंढता है और उसका इस्तेमाल करता है.
ब्यौरा | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||||||||||||
रिटर्न वैल्यू |
|
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 )
मौजूदा कुंजी आईडी दिखाता है.
यह फ़ंक्शन, सिस्टम के मौजूदा समय और हर epoch कुंजी के शुरू होने के समय के पैरामीटर के आधार पर, मौजूदा epoch कुंजी ढूंढता है. अगर सिस्टम के लिए, समय की जानकारी मान्य और सटीक नहीं है, तो पिछली बार इस्तेमाल किए गए epoch पासकोड का आईडी दिखाया जाता है.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
वर्तमान प्लैटफ़ॉर्म यूटीसी समय को सेकंड में पाएं.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
ऐप्लिकेशन ग्रुप कुंजी पाएं.
यह फ़ंक्शन, ऐप्लिकेशन ग्रुप कुंजियों का पता लगाता है या उन्हें वापस लाता है. इस फ़ंक्शन के साथ काम करने वाली कुंजी के टाइप हैं: फ़ैब्रिक सीक्रेट, रूट कुंजी, epoch कुंजी, ग्रुप मास्टर कुंजी, और इंटरमीडिएट कुंजी.
ब्यौरा | |||||||||
---|---|---|---|---|---|---|---|---|---|
पैरामीटर |
|
||||||||
रिटर्न वैल्यू |
|
RetrieveGroupKey
virtual WEAVE_ERROR RetrieveGroupKey( uint32_t keyId, WeaveGroupKey & key )=0
StoreGroupKey
virtual WEAVE_ERROR StoreGroupKey( const WeaveGroupKey & key )=0
सुरक्षित किए गए फ़ंक्शन
शुरू करें
void Init( void )
लोकल ग्रुप की स्टोर पैरामीटर शुरू करें.
OnEpochKeysChange
void OnEpochKeysChange( void )
मौजूदा कुंजी आईडी दिखाता है.
ऐप्लिकेशन epoch कुंजियों के सेट में कोई भी बदलाव (मिटाएं या स्टोर करें) होने पर, epoch बटन से जुड़े मेंबर वैरिएबल को डिफ़ॉल्ट वैल्यू पर सेट करता है. इस तरीके को कॉल करने के लिए, उस सब-क्लास की ज़िम्मेदारी है जो StoreGroupKey(), DeleteGroupKey(), और DeleteGroupKeysOfAType() फ़ंक्शन को लागू करता है.