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 Schlüssel für Anwendungsgruppen zu verwalten.
Übernahme
Direkt bekannte Unterklassen: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
Die aktuelle UTC-Zeit der Plattform in Sekunden.
|
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
Parameter für den lokalen Gruppenschlüsselspeicher 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
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üsseln unterstützt: aktueller Anwendungsschlüssel, rotierende Anwendungsschlüssel und statische Anwendungsschlüssel. Wenn der aktuelle Anwendungsschlüssel angefordert wird, ermittelt und verwendet die Funktion den aktuellen Epochenschlüssel anhand der aktuellen Systemzeit und des Startzeitparameters 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.
Sucht den aktuellen Epocheschlüssel anhand der aktuellen Systemzeit und des Startzeitparameters jedes Epocheschlüssels. Wenn das System keine gültige, genaue Uhrzeit hat, wird die zuletzt verwendete Epoche-Schlüssel-ID zurückgegeben.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Die aktuelle UTC-Zeit der Plattform in Sekunden.
Details | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Rückgabewerte |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Schlüssel der Anwendungsgruppe abrufen
Diese Funktion leitet oder ruft Anwendungsgruppenschlüssel ab. Von dieser Funktion werden die folgenden Schlüsseltypen 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 den lokalen Gruppenschlüsselspeicher initialisieren.
OnEpochKeysChange
void OnEpochKeysChange( void )
Gibt die aktuelle Schlüssel-ID zurück.
Stellt Mitgliedsvariablen, die mit Epochenschlüsseln verknüpft sind, auf die Standardwerte zurück, wenn Änderungen (Löschen oder Speichern) an den Epochenschlüsseln der Anwendung vorgenommen werden. Die Unterklasse, die die Funktionen „StoreGroupKey()“, „DeleteGroupKey()“ und „DeleteGroupKeysOfAType()“ implementiert, ist dafür verantwortlich, diese Methode aufzurufen.