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:(Group1KeyIm:{nl1:StoreKey0: {:(1) (Group1KeyLayer:() : Group1Keyum: {Group1:(101םם:URL): ;GroupKeyLayer::(}
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
הפניה למזהה המפתח המבוקש. כשנשלחת בקשה למפתח האפליקציה הנוכחי, השדה הזה מתעדכן כדי לשקף את הסוג החדש (מפתח אפליקציה מסתובב) ואת המזהה של מפתח ה-epoch בפועל ששימש ליצירת מפתח האפליקציה.
[in] keySalt
מצביע למאגר עם ערך salt של מפתח אפליקציה.
[in] saltLen
אורך ה-salt של מפתח האפליקציה.
[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 של מאגר המפתחות של הפלטפורמה.

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
)

מחזירה את מזהה המפתח הנוכחי.

הפונקציה מחפשת את מפתח התקופה הנוכחי על סמך השעה הנוכחית של המערכת ופרמטר שעת ההתחלה של כל מפתח זמן מערכת. אם למערכת אין זמן חוקי ומדויק, מוחזר מזהה מפתח התקופה של המערכת (epoch) האחרון שנעשה בו שימוש.

פרטים
פרמטרים
[in] keyId
המזהה של מפתח האפליקציה.
[out] curKeyId
מזהה המפתח הנוכחי של האפליקציה.
ערכים מוחזרים
WEAVE_NO_ERROR
בהצלחה.
WEAVE_ERROR_INVALID_KEY_ID
אם למזהה של מפתח הקלט היה ערך לא חוקי.
WEAVE_ERROR_KEY_NOT_FOUND
אם לא נמצאו מפתחות epoch במאגר המפתחות של הפלטפורמה.
other
שגיאות אחרות שספציפיות לפלטפורמה שהוחזרו על ידי ממשקי ה-API של מאגר המפתחות של הפלטפורמה.

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
שגיאות אחרות שספציפיות לפלטפורמה שהוחזרו על ידי ממשקי ה-API של מאגר המפתחות של הפלטפורמה.

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
)

מחזירה את מזהה המפתח הנוכחי.

מגדירה משתני חבר המשויכים למפתחות epoch לערכי ברירת המחדל בכל פעם ששינוי (מחיקה או אחסון) מתרחש בקבוצת מפתחות ה-epoch של האפליקציה. זו האחריות של מחלקת המשנה שמטמיעה את הפונקציות StoreGroupKey() , DeleteGroupKey() ו-DeleteGroupKeysOfAType() .

RetrieveLastUsedEpochKeyId

virtual WEAVE_ERROR RetrieveLastUsedEpochKeyId(
  void
)=0

StoreLastUsedEpochKeyId

virtual WEAVE_ERROR StoreLastUsedEpochKeyId(
  void
)=0