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 do Weave.
Resumo
As funções nessa classe são chamadas para gerenciar chaves de grupos de aplicativos.
Herança
Subclasses conhecidas diretas:nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl:On:Store: {/10
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 da 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
Receba o horário UTC da plataforma atual em segundos.
|
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
|
Receba 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
Inicializar parâmetros de armazenamento de chave 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 da 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 de 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 |
|
EnumerarGroupKeys
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. Se o sistema não tiver um horário válido e preciso, o último ID da chave de época usado será retornado.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Receba o horário UTC da plataforma atual em segundos.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
Chave de grupo
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Receba a chave do grupo de aplicativos.
Essa função deriva ou recupera chaves de grupos de aplicativos. Os tipos de chave compatíveis com esta função são: secret de tecido, chave raiz, chave de época, chave mestra de grupo e chave intermediária.
Detalhes | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parâmetros |
|
||||||||
Valores de retorno |
|
RecuperarGrupoChave
virtual WEAVE_ERROR RetrieveGroupKey( uint32_t keyId, WeaveGroupKey & key )=0
Chave de grupo de lojas
virtual WEAVE_ERROR StoreGroupKey( const WeaveGroupKey & key )=0
Funções protegidas
Init
void Init( void )
Inicializar parâmetros de armazenamento de chave de grupo local.
OnEpochKeysChange
void OnEpochKeysChange( void )
Retorna o ID da chave atual.
Define variáveis de membro associadas a chaves de época para os valores padrão quando alguma alteração (excluir ou armazenar) acontece no conjunto de chaves de época do aplicativo. É responsabilidade da subclasse que implementa as funções StoreGroupKey(), DeleteGroupKey() e DeleteGroupKeysOfAType() para chamar esse método.