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
)

يمكنك الحصول على التوقيت العالمي المنسّق (UTC) الحالي للنظام الأساسي بالثواني.

التفاصيل
المعلمات
[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