nl:: Weave:: Profiles:: Security:: AppKeys:: GroupKeyStoreBase
Das 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 Unterklassen:nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::Weave::DeviceLayer::Intern::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer: :Internal::Weave: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
Aktuelle UTC-Zeit der Plattform in Sekunden abrufen.
|
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
|
Anwendungsgruppenschlü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
Parameter für Schlüsselspeicher lokaler Gruppen initialisieren
|
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
Klar
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üsseln unterstützt: der aktuelle Anwendungsschlüssel, der rotierende Anwendungsschlüssel und der statische Anwendungsschlüssel. Wenn der aktuelle Anwendungsschlüssel angefordert wird, ermittelt 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 basierend auf der aktuellen Systemzeit und dem Startzeitparameter jedes Epochenschlüssels. Wenn das System keine gültige und genaue Zeit hat, wird die letzte Epochenschlüssel-ID zurückgegeben.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Aktuelle UTC-Zeit der Plattform in Sekunden abrufen.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Anwendungsgruppenschlüssel abrufen.
Diese Funktion leitet Anwendungsgruppenschlüssel ab oder ruft sie ab. Folgende Schlüsseltypen werden von dieser Funktion unterstützt: Fabric-Secret, Stammschlüssel, Epochenschlüssel, Gruppenmasterschlü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 )
Parameter für Schlüsselspeicher lokaler Gruppen initialisieren
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) am Satz von Epochenschlüsseln der Anwendung erfolgt. Es liegt in der Verantwortung der Unterklasse, die die Funktionen StoreGroupKey(), DeleteGroupKey() und DeleteGroupKeysOfAType() implementiert, um diese Methode aufzurufen.