nl:: Weave:: Profiles:: Security:: AppKeys:: GroupKeyStoreBase
Dies ist eine abstrakte Klasse.
#include <src/lib/profiles/security/WeaveApplicationKeys.h>
Die Definition der Weave-Gruppenschlüsselspeicherklasse.
Zusammenfassung
Funktionen in dieser Klasse werden aufgerufen, um Anwendungsgruppenschlüssel zu verwalten.
Übernahme
Direkte bekannte abgeleitete Klassen:nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore
Geschützte Attribute |
|
---|---|
LastUsedEpochKeyId
|
uint32_t
|
NextEpochKeyStartTime
|
uint32_t
|
Öffentliche Funktionen |
|
---|---|
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)
|
Leitet den Anwendungsschlüssel ab.
|
EnumerateGroupKeys(uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0
|
virtual WEAVE_ERROR
|
GetCurrentAppKeyId(uint32_t keyId, uint32_t & curKeyId)
|
Gibt die aktuelle Schlüssel-ID zurück.
|
GetCurrentUTCTime(uint32_t & utcTime)
|
virtual WEAVE_ERROR
Ruft die aktuelle UTC-Zeit der Plattform in Sekunden ab.
|
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
|
App-Gruppenschlüssel abrufen.
|
RetrieveGroupKey(uint32_t keyId, WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
StoreGroupKey(const WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
Geschützte Funktionen |
|
---|---|
Init(void)
|
void
Initialisieren Sie die Parameter des lokalen Gruppenschlüsselspeichers.
|
OnEpochKeysChange(void)
|
void
Gibt die aktuelle Schlüssel-ID zurück.
|
RetrieveLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
StoreLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
Geschützte Attribute
LastUsedEpochKeyId
uint32_t LastUsedEpochKeyId
NextEpochKeyStartTime
uint32_t NextEpochKeyStartTime
Öffentliche Funktionen
Löschen
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 )
Leitet den Anwendungsschlüssel ab.
Es werden drei Arten von Anwendungsschlüssel unterstützt: der aktuelle Anwendungsschlüssel, der rotierende Anwendungsschlüssel und der statische Anwendungsschlüssel. Wenn der aktuelle Anwendungsschlüssel angefordert wird, findet und verwendet die Funktion den aktuellen Epochenschlüssel basierend auf der aktuellen Systemzeit und dem Startzeitparameter jedes Epochenschlüssels.
Details | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||||
Rückgabewerte |
|
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 )
Gibt die aktuelle Schlüssel-ID zurück.
Ermittelt den aktuellen Epochenschlüssel anhand der aktuellen Systemzeit und des Startzeitparameters jedes Epochenschlüssels. Wenn das System keine gültige, genaue Zeit hat, wird die zuletzt verwendete Epochenschlüssel-ID zurückgegeben.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Ruft die aktuelle UTC-Zeit der Plattform in Sekunden ab.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
App-Gruppenschlüssel abrufen.
Diese Funktion leitet Anwendungsgruppenschlüssel ab oder ruft sie ab. Von dieser Funktion unterstützte Schlüsseltypen sind: Fabric-Secret, Stammschlüssel, Epochenschlüssel, Gruppen-Masterschlüssel und Zwischenschlüssel.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
RetrieveGroupKey
virtual WEAVE_ERROR RetrieveGroupKey( uint32_t keyId, WeaveGroupKey & key )=0
StoreGroupKey
virtual WEAVE_ERROR StoreGroupKey( const WeaveGroupKey & key )=0
Geschützte Funktionen
Init
void Init( void )
Initialisieren Sie die Parameter des lokalen Gruppenschlüsselspeichers.
OnEpochKeysChange
void OnEpochKeysChange( void )
Gibt die aktuelle Schlüssel-ID zurück.
Legt die mit Epochenschlüsseln verknüpften Mitgliedervariablen auf die Standardwerte fest, wenn eine Änderung (Löschen oder Speichern) an den Epochenschlüsseln der Anwendung vorgenommen wird. Für den Aufruf dieser Methode ist die Unterklasse verantwortlich, die die Funktionen StoreGroupKey(), DeleteGroupKey() und DeleteGroupKeysOfAType() implementiert.