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::GroupKeyStoreImplnl::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

الدوال المحمية

إنت

void Init(
  void
)

إعداد مَعلمات تخزين مفاتيح المجموعة المحلية

OnEpochKeysChange

void OnEpochKeysChange(
  void
)

تعرِض معرّف المفتاح الحالي.

لضبط متغيرات الأعضاء المرتبطة بمفاتيح الحقبة على القيم التلقائية عند حدوث أي تغيير (حذف أو تخزين) لمجموعة مفاتيح حقبة التطبيق. تعتبر الفئة الفرعية مسؤولة عن تنفيذ الدوال StoreGroupKey() وDeleteGroupKey() وDeleteGroupKeysOfAType() لاستدعاء هذه الطريقة.

RetrieveLastUsedEpochKeyId

virtual WEAVE_ERROR RetrieveLastUsedEpochKeyId(
  void
)=0

StoreLastUsedEpochKeyId

virtual WEAVE_ERROR StoreLastUsedEpochKeyId(
  void
)=0