nl:: Weave:: Profiles:: Security:: 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 dessa classe são chamadas para gerenciar as chaves do grupo de aplicativos.
Herança
Subclasses conhecidas diretas: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
Encontra o horário UTC atual da plataforma em segundos.
|
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
|
Receber 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 da chave 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
Limpar
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.
Há suporte para três tipos de chaves de aplicativo: a atual, a rotativa e a estática. Quando a chave de aplicativo atual é solicitada, a função encontra e usa a chave da época atual com base no horário atual do sistema e no parâmetro do horário de início de cada chave da época.
Detalhes | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||||||||||||
Valores de retorno |
|
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 no horário atual do sistema e no parâmetro de horário de início de cada chave de época. Se o sistema não tiver um horário válido e preciso, o ID da chave de época usada pela última vez será retornado.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Receba a hora UTC atual da plataforma em segundos.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Receber a chave do grupo de aplicativos.
Essa função extrai ou recupera chaves de grupo de aplicativos. Os tipos de chave aceitos por essa função são: segredo do fabric, chave raiz, chave de época, chave mestra do grupo e chave intermediária.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
RetrieveGroupKey
virtual WEAVE_ERROR RetrieveGroupKey( uint32_t keyId, WeaveGroupKey & key )=0
StoreGroupKey
virtual WEAVE_ERROR StoreGroupKey( const WeaveGroupKey & key )=0
Funções protegidas
Init
void Init( void )
Inicialize os parâmetros da chave do grupo local.
OnEpochKeysChange
void OnEpochKeysChange( void )
Retorna o ID da chave atual.
Define as variáveis de membro associadas às chaves de época como os valores padrão quando ocorre qualquer mudança (exclusão ou armazenamento) no conjunto de chaves de época do aplicativo. É responsabilidade da subclasse que implementa as funções StoreGroupKey(), DeleteGroupKey() e DeleteGroupKeysOfAType() chamar esse método.