nl::Weave::الملفات الشخصية::الأمان::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{/10Key::Key::Appa:}إعدادات أساسية:الأمن المفتاح::المستخدم: المستخدم }

السمات المحمية

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

حذف المجموعة

virtual WEAVE_ERROR DeleteGroupKey(
  uint32_t keyId
)=0

حذف المجموعة الرئيسية من النوع

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

وقت الحصول على التوقيت العالمي المنسق (UTC)

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

مفتاح استرداد المجموعة

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

مفتاح المجموعة Store

virtual WEAVE_ERROR StoreGroupKey(
  const WeaveGroupKey & key
)=0

دوال محمية

إنيت

void Init(
  void
)

إعداد معلمات متجر مفتاح المجموعة المحلية

تغيير مفتاح OnEpochKeys

void OnEpochKeysChange(
  void
)

عرض رقم تعريف المفتاح الحالي.

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

استرداد آخر استخدام للمفتاح EpochKeyId

virtual WEAVE_ERROR RetrieveLastUsedEpochKeyId(
  void
)=0

StoreLastUsedEpochKeyId

virtual WEAVE_ERROR StoreLastUsedEpochKeyId(
  void
)=0