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 )
גזירה של מפתח האפליקציה.
יש תמיכה בשלושה סוגים של מפתחות אפליקציה: מפתח האפליקציה הנוכחי, מפתח אפליקציה מסתובב ומפתח אפליקציה סטטי. כשנשלחת בקשה למפתח האפליקציה הנוכחי, הפונקציה מוצאת את מפתח התקופה הנוכחית ומשתמש בו על סמך זמן המערכת הנוכחי ופרמטר שעת ההתחלה של כל מפתח תקופה של זמן מערכת.
פרטים | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||||||||
מוחזר ערכים |
|
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 )
הפונקציה מחזירה את מזהה המפתח הנוכחי.
הפונקציה מוצאת את המפתח של תקופת הזמן הנוכחית על סמך זמן המערכת הנוכחי ופרמטר שעת ההתחלה של כל מַפתח של תקופה של זמן מערכת. אם למערכת אין שעה תקינה ומדויקת, מוחזר מזהה מפתח התקופה האחרונה שהיה בשימוש.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
מוחזר ערכים |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
הצגת השעה הנוכחית לפי שעון UTC (בשניות).
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
מוחזר ערכים |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
קבלת מפתח של קבוצת אפליקציות.
הפונקציה הזו גורמת או מאחזרת מפתחות של קבוצות אפליקציות. סוגי המפתחות שנתמכים בפונקציה הזו הם: סוד בד, מפתח שורש, מפתח תקופה, מפתח מאסטר של קבוצה ומפתח ביניים.
פרטים | |||||||||
---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||
מוחזר ערכים |
|
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(), כדי לקרוא לשיטה הזו.