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
يمكنك الحصول على التوقيت العالمي المنسّق (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
أخطاء أخرى خاصة بالنظام الأساسي تعرضها واجهات برمجة التطبيقات لتخزين المفاتيح في النظام الأساسي

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 أو Platform.

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