nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questa è una classe astratta.
#include <src/lib/profiles/security/WeaveApplicationKeys.h>
La definizione della classe del magazzino chiavi di gruppo Weave.
Riepilogo
Le funzioni di questa classe vengono chiamate per gestire le chiavi dei gruppi di applicazioni.
Eredità
Sottoclassi note dirette:nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::Device gomito::Internal::0StoreKeyStore} {nl:1
nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore
Attributi protetti |
|
---|---|
LastUsedEpochKeyId
|
uint32_t
|
NextEpochKeyStartTime
|
uint32_t
|
Funzioni pubbliche |
|
---|---|
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)
|
Deduce la chiave dell'applicazione.
|
EnumerateGroupKeys(uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0
|
virtual WEAVE_ERROR
|
GetCurrentAppKeyId(uint32_t keyId, uint32_t & curKeyId)
|
Restituisce l'ID chiave corrente.
|
GetCurrentUTCTime(uint32_t & utcTime)
|
virtual WEAVE_ERROR
Visualizza l'ora UTC attuale della piattaforma in secondi.
|
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
|
Recupera chiave gruppo di applicazioni.
|
RetrieveGroupKey(uint32_t keyId, WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
StoreGroupKey(const WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
Funzioni protette |
|
---|---|
Init(void)
|
void
Inizializza i parametri del magazzino chiavi di gruppo locale.
|
OnEpochKeysChange(void)
|
void
Restituisce l'ID chiave corrente.
|
RetrieveLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
StoreLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
Attributi protetti
LastUsedEpochKeyId
uint32_t LastUsedEpochKeyId
NextEpochKeyStartTime
uint32_t NextEpochKeyStartTime
Funzioni pubbliche
Cancella
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
)
Deduce la chiave dell'applicazione.
Sono supportati tre tipi di chiavi di applicazione: chiave di applicazione corrente, chiave di applicazione con rotazione e chiave di applicazione statica. Quando viene richiesta la chiave dell'applicazione corrente, la funzione trova e utilizza la chiave dell'epoca corrente in base all'ora di sistema corrente e al parametro dell'ora di inizio di ogni chiave dell'epoca.
Dettagli | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||||||||||||
Valori restituiti |
|
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
)
Restituisce l'ID chiave corrente.
Trova la chiave dell'epoca corrente in base all'ora di sistema corrente e al parametro dell'ora di inizio di ogni chiave dell'epoca. Se il sistema non ha un'ora valida e precisa, viene restituito l'ID chiave dell'epoca dell'ultima utilizzata.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime(
uint32_t & utcTime
)
Recupera l'ora UTC attuale della piattaforma in secondi.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
GetGroupKey
WEAVE_ERROR GetGroupKey(
uint32_t keyId,
WeaveGroupKey & groupKey
)
Ottieni la chiave del gruppo di applicazioni.
Questa funzione ricava o recupera le chiavi del gruppo di applicazioni. I tipi di chiavi supportati da questa funzione sono: secret della struttura, chiave radice, chiave epoch, chiave master di gruppo e chiave intermedia.
Dettagli | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametri |
|
||||||||
Valori restituiti |
|
RetrieveGroupKey
virtual WEAVE_ERROR RetrieveGroupKey(
uint32_t keyId,
WeaveGroupKey & key
)=0
StoreGroupKey
virtual WEAVE_ERROR StoreGroupKey(
const WeaveGroupKey & key
)=0
Funzioni protette
Inizializzazione
void Init(
void
)
Inizializza i parametri del magazzino chiavi di gruppo locale.
OnEpochKeysChange
void OnEpochKeysChange(
void
)
Restituisce l'ID chiave corrente.
Imposta le variabili membro associate alle chiavi di epoca sui valori predefiniti quando si verifica una modifica (eliminazione o memorizzazione) dell'insieme di chiavi di epoca dell'applicazione. È responsabilità della sottoclasse che implementa le funzioni StoreGroupKey(), DeleteGroupKey() ed DeleteGroupKeysOfAType() chiamare questo metodo.