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 magasin de clés du 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::GroupKeyStoreImplnl::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 actuelle de la plate-forme, en secondes.
|
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
|
Permet d'obtenir une clé de 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 keystore du 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 trouve et utilise la clé d'epoch actuelle en fonction de l'heure système actuelle et du paramètre d'heure de début de chaque clé d'epoch.
Détails | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||||||||||||
Valeurs de retour |
|
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'epoch actuelle en fonction de l'heure système actuelle et du paramètre d'heure de début de chaque clé d'epoch. Si le système ne dispose pas d'une heure valide et précise, l'ID de clé de l'epoch de la dernière utilisation est renvoyé.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs de retour |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Obtenez l'heure UTC actuelle de la plate-forme, en secondes.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs de retour |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Permet d'obtenir une clé de 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 : " fabric secret" (secrète de la structure), clé racine, clé "epoch", "clé principale de groupe" et clé intermédiaire.
Détails | |||||||||
---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
||||||||
Valeurs de retour |
|
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 keystore du groupe local.
OnEpochKeysChange
void OnEpochKeysChange( void )
Renvoie l'ID de clé actuel.
Définit les variables de membre associées aux clés epoch sur les valeurs par défaut lorsqu'une modification (suppression ou stockage) est apportée à l'ensemble de clés epoch de l'application. La sous-classe qui implémente les fonctions StoreGroupKey(), DeleteGroupKey() et DeleteGroupKeysOfAType() est responsable de l'appel de cette méthode.