nl:: বুনা:: প্রোফাইল:: নিরাপত্তা:: AppKeys:: GroupKeyStoreBase

এটি একটি বিমূর্ত ক্লাস।

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

ওয়েভ গ্রুপ কী স্টোর ক্লাসের সংজ্ঞা।

সারাংশ

এই ক্লাসের ফাংশনগুলিকে অ্যাপ্লিকেশন গ্রুপ কীগুলি পরিচালনা করতে বলা হয়।

উত্তরাধিকার

সরাসরি পরিচিত সাবক্লাস:
  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
সেকেন্ডে বর্তমান প্ল্যাটফর্ম UTC সময় পান।
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
অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটিগুলি প্ল্যাটফর্ম কী স্টোর APIগুলি দ্বারা প্রত্যাবর্তিত হয়েছে৷

GroupKeys গণনা করুন

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 কী আইডি ফেরত দেওয়া হয়।

বিস্তারিত
পরামিতি
[in] keyId
অ্যাপ্লিকেশন কী আইডি।
[out] curKeyId
অ্যাপ্লিকেশন বর্তমান কী আইডি।
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর।
WEAVE_ERROR_INVALID_KEY_ID
যদি ইনপুট কী আইডির একটি অবৈধ মান থাকে।
WEAVE_ERROR_KEY_NOT_FOUND
প্ল্যাটফর্ম কী স্টোরে ইপোচ কীগুলি না পাওয়া গেলে।
other
অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটিগুলি প্ল্যাটফর্ম কী স্টোর APIগুলি দ্বারা প্রত্যাবর্তিত হয়েছে৷

GetCurrentUTCTtime

virtual WEAVE_ERROR GetCurrentUTCTime(
  uint32_t & utcTime
)

সেকেন্ডে বর্তমান প্ল্যাটফর্ম UTC সময় পান।

বিস্তারিত
পরামিতি
[out] utcTime
সময় মান একটি রেফারেন্স.
রিটার্ন মান
WEAVE_NO_ERROR
সাফল্যের উপর।
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
যদি প্ল্যাটফর্ম একটি রিয়েল টাইম ঘড়ি সমর্থন না করে।
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
যদি সিস্টেমের রিয়েল টাইম ঘড়ি একটি সঠিক সময় উৎসের সাথে সিঙ্ক্রোনাইজ করা না হয়।
other
অন্যান্য বুনা বা প্ল্যাটফর্ম ত্রুটি কোড.

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
অন্যান্য প্ল্যাটফর্ম-নির্দিষ্ট ত্রুটিগুলি প্ল্যাটফর্ম কী স্টোর APIগুলি দ্বারা প্রত্যাবর্তিত হয়েছে৷

RetrieveGroupKey

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

স্টোরগ্রুপ কী

virtual WEAVE_ERROR StoreGroupKey(
  const WeaveGroupKey & key
)=0

সুরক্ষিত ফাংশন

ইনিট

void Init(
  void
)

স্থানীয় গ্রুপ কী স্টোর প্যারামিটার শুরু করুন।

OneEpochKeysChange

void OnEpochKeysChange(
  void
)

বর্তমান কী আইডি প্রদান করে।

অ্যাপ্লিকেশন epoch কীগুলির সেটে কোনো পরিবর্তন (মুছুন বা সঞ্চয়) ঘটলে ডিফল্ট মানগুলিতে epoch কীগুলির সাথে যুক্ত সদস্য ভেরিয়েবল সেট করে। এই পদ্ধতিটিকে কল করার জন্য স্টোরগ্রুপকি(), ডিলিটগ্রুপকি(), এবং ডিলিটগ্রুপকিসঅফএটাইপ() ফাংশনগুলিকে প্রয়োগকারী সাবক্লাসের দায়িত্ব৷

RetrieveLastUsedEpochKeyId

virtual WEAVE_ERROR RetrieveLastUsedEpochKeyId(
  void
)=0

StoreLastUsedEpochKeyId

virtual WEAVE_ERROR StoreLastUsedEpochKeyId(
  void
)=0