nl:: Weave:: Profiles:: Security:: AppKeys:: GroupKeyStoreBase
Essa é 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 chaves de grupos de apps.
Herança
Subclasses conhecidas diretas:nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImplnl::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
Recebe o horário UTC da plataforma atual em segundos.
|
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
|
Obter a chave do grupo do aplicativo.
|
RetrieveGroupKey(uint32_t keyId, WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
StoreGroupKey(const WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
Funções protegidas |
|
---|---|
Init(void)
|
void
Inicializar parâmetros de armazenamento de chaves de 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.
Três tipos de chaves de aplicativo são compatíveis: chave de aplicativo atual, chave de aplicativo rotativa e chave de aplicativo estática. Quando a chave do aplicativo atual é solicitada, a função encontra e usa 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.
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 )
Recebe o horário UTC da plataforma atual em segundos.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Obter a chave do grupo do aplicativo.
Essa função deriva ou recupera chaves de grupos de aplicativos. Os tipos de chave suportados por essa função são: secret de malha, chave raiz, chave de época, chave mestra de 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 )
Inicializar parâmetros de armazenamento de chaves de 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 mudança (exclusão ou armazenamento) acontece no conjunto de chaves de época do aplicativo. É responsabilidade da subclasse que implementa as funções StoreGroupKey(), DeleteGroupKey() e DeleteGroupKeysOfAType() chamar esse método.