nl:: Weave:: Profiles:: Security:: AppKeys:: GroupKeyStoreBase
Il s'agit d'une classe abstraite.
#include <src/lib/profiles/security/WeaveApplicationKeys.h>
Définition de la classe de store de clés de groupe Weave.
Résumé
Les fonctions de cette classe sont appelées pour gérer les clés de groupe d'applications.
Héritage
Sous-classes directes connues :nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore
Attributs protégés |
|
---|---|
LastUsedEpochKeyId
|
uint32_t
|
NextEpochKeyStartTime
|
uint32_t
|
Fonctions publiques |
|
---|---|
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)
|
Dérive la clé d'application.
|
EnumerateGroupKeys(uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0
|
virtual WEAVE_ERROR
|
GetCurrentAppKeyId(uint32_t keyId, uint32_t & curKeyId)
|
Renvoie l'ID de clé actuel.
|
GetCurrentUTCTime(uint32_t & utcTime)
|
virtual WEAVE_ERROR
Obtenez l'heure UTC de la plate-forme actuelle, en secondes.
|
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
|
Obtenir la clé du groupe d'applications
|
RetrieveGroupKey(uint32_t keyId, WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
StoreGroupKey(const WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
Fonctions protégées |
|
---|---|
Init(void)
|
void
Initialisez les paramètres du magasin de clés de groupe local.
|
OnEpochKeysChange(void)
|
void
Renvoie l'ID de clé actuel.
|
RetrieveLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
StoreLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
Attributs protégés
LastUsedEpochKeyId
uint32_t LastUsedEpochKeyId
NextEpochKeyStartTime
uint32_t NextEpochKeyStartTime
Fonctions publiques
Effacer
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 )
Dérive la clé d'application.
Trois types de clés d'application sont acceptés : la clé d'application actuelle, la clé d'application rotative et la clé d'application statique. Lorsque la clé d'application actuelle est demandée, la fonction recherche et utilise la clé d'époque actuelle en fonction de l'heure système actuelle et du paramètre d'heure de début de chaque clé d'époque.
Détails | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||||||||
Valeurs renvoyées |
|
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 )
Renvoie l'ID de clé actuel.
Recherche la clé d'époque actuelle en fonction de l'heure système actuelle et du paramètre d'heure de début de chaque clé d'époque. Si le système ne dispose pas d'une heure précise et valide, l'ID de clé d'époque utilisé en dernier est renvoyé.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs renvoyées |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Obtenez l'heure UTC actuelle de la plate-forme, en secondes.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs renvoyées |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Obtenir la clé du groupe d'applications
Cette fonction dérive ou récupère des clés de groupe d'applications. Les types de clés compatibles avec cette fonction sont les suivants : secret fabric, clé racine, clé d'époque, clé principale de groupe et clé intermédiaire.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs renvoyées |
|
RetrieveGroupKey
virtual WEAVE_ERROR RetrieveGroupKey( uint32_t keyId, WeaveGroupKey & key )=0
StoreGroupKey
virtual WEAVE_ERROR StoreGroupKey( const WeaveGroupKey & key )=0
Fonctions protégées
Init
void Init( void )
Initialisez les paramètres du magasin de clés de groupe local.
OnEpochKeysChange
void OnEpochKeysChange( void )
Renvoie l'ID de clé actuel.
Définit les variables membres associées aux clés d'époque sur les valeurs par défaut lorsqu'une modification (suppression ou stockage) est apportée à l'ensemble des clés d'époque de l'application. Il incombe à la sous-classe qui implémente les fonctions StoreGroupKey(), DeleteGroupKey() et DeleteGroupKeysOfAType() d'appeler cette méthode.