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

קבלת מפתח של קבוצת אפליקציות.

הפונקציה הזו מייצרת או מאחזרת מפתחות של קבוצות אפליקציות. סוגי המפתחות שנתמכים בפונקציה הזו הם: fabric secret,‏ root key,‏ epoch key,‏ group master key ו-intermediate key.

פרטים
פרמטרים
[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

פונקציות מוגנות

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