nl :: Tecer:: Perfis :: Segurança:: AppKeys :: GroupKeyStoreBase
Esta é uma classe abstrata.#include <src/lib/profiles/security/WeaveApplicationKeys.h>
A definição da classe de armazenamento de chaves do grupo Weave.
Resumo
As funções nesta classe são chamadas para gerenciar as chaves do grupo de aplicativos.
Herança
Subclasses diretamente conhecidas:nl :: Weave :: DeviceLayer :: Internal :: GroupKeyStoreImpl
nl :: Weave :: DeviceLayer :: Internal :: GroupKeyStoreImpl
nl :: Weave :: DeviceLayer :: Internal :: GroupKeyStoreImpl
nl :: Weave :: Profiles :: Security :: AppKeys :: DummyGroupKeyStore
Atributos protegidos | |
---|---|
LastUsedEpochKeyId | uint32_t |
NextEpochKeyStartTime | uint32_t |
Funções públicas | |
---|---|
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) | Deriva a chave do aplicativo. |
EnumerateGroupKeys (uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0 | virtual WEAVE_ERROR |
GetCurrentAppKeyId (uint32_t keyId, uint32_t & curKeyId) | Retorna o ID da chave atual. |
GetCurrentUTCTime (uint32_t & utcTime) | virtual WEAVE_ERROR Obtenha a hora UTC da plataforma atual em segundos. |
GetGroupKey (uint32_t keyId, WeaveGroupKey & groupKey) | Obtenha a chave do grupo de aplicativos. |
RetrieveGroupKey (uint32_t keyId, WeaveGroupKey & key)=0 | virtual WEAVE_ERROR |
StoreGroupKey (const WeaveGroupKey & key)=0 | virtual WEAVE_ERROR |
Funções protegidas | |
---|---|
Init (void) | void Inicialize os parâmetros de armazenamento de chaves do grupo local. |
OnEpochKeysChange (void) | void Retorna o ID da chave atual. |
RetrieveLastUsedEpochKeyId (void)=0 | virtual WEAVE_ERROR |
StoreLastUsedEpochKeyId (void)=0 | virtual WEAVE_ERROR |
Atributos protegidos
LastUsedEpochKeyId
uint32_t LastUsedEpochKeyId
NextEpochKeyStartTime
uint32_t NextEpochKeyStartTime
Funções públicas
Claro
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 )
Deriva a chave do aplicativo.
Três tipos de chaves de aplicativo são suportados: chave de aplicativo atual, chave de aplicativo rotativa e chave de aplicativo estática. Quando a chave de aplicativo atual é solicitada, a função encontra e usa a chave de época atual com base na hora do sistema atual e o parâmetro de hora de início de cada chave de época.
Detalhes | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||||||||||||
Valores Retornados |
|
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 )
Retorna o ID da chave atual.
Encontra a chave de época atual com base na hora do sistema atual e o parâmetro de hora de início de cada chave de época. Se o sistema não tiver uma hora válida e precisa, a ID da chave da última época usada é retornada.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||
Valores Retornados |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Obtenha a hora UTC da plataforma atual em segundos.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||
Valores Retornados |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Obtenha a chave do grupo de aplicativos.
Esta função deriva ou recupera chaves do grupo de aplicativos. Os tipos de chave suportados por esta função são: segredo de tecido, chave raiz, chave de época, chave mestra de grupo e chave intermediária.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
| ||||||||
Valores Retornados |
|
RetrieveGroupKey
virtual WEAVE_ERROR RetrieveGroupKey( uint32_t keyId, WeaveGroupKey & key )=0
StoreGroupKey
virtual WEAVE_ERROR StoreGroupKey( const WeaveGroupKey & key )=0
Funções protegidas
Iniciar
void Init( void )
Inicialize os parâmetros de armazenamento de chaves do grupo local.
OnEpochKeysChange
void OnEpochKeysChange( void )
Retorna o ID da chave atual.
Define as variáveis de membro associadas às chaves de época para os valores padrão quando qualquer alteração (exclusão ou armazenamento) ocorre no conjunto de chaves de época do aplicativo. É responsabilidade da subclasse que implementa as funções StoreGroupKey (), DeleteGroupKey () e DeleteGroupKeysOfAType () chamar esse método.
RetrieveLastUsedEpochKeyId
virtual WEAVE_ERROR RetrieveLastUsedEpochKeyId( void )=0
StoreLastUsedEpochKeyId
virtual WEAVE_ERROR StoreLastUsedEpochKeyId( void )=0