nl:: Weave:: Profiles:: Security:: AppKeys:: GroupKeyStoreBase
Esta es una clase abstracta.
#include <src/lib/profiles/security/WeaveApplicationKeys.h>
La definición de la clase de almacén de claves del grupo de Weave.
Resumen
Se llama a las funciones de esta clase para administrar las claves de grupo de aplicaciones.
Herencia
Subclases conocidas directas: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
|
Funciones 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 la clave de la aplicación.
|
EnumerateGroupKeys(uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0
|
virtual WEAVE_ERROR
|
GetCurrentAppKeyId(uint32_t keyId, uint32_t & curKeyId)
|
Muestra el ID de clave actual.
|
GetCurrentUTCTime(uint32_t & utcTime)
|
virtual WEAVE_ERROR
Obtén la hora actual de la plataforma en UTC en segundos.
|
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
|
Obtén la clave del grupo de aplicaciones.
|
RetrieveGroupKey(uint32_t keyId, WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
StoreGroupKey(const WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
Funciones protegidas |
|
---|---|
Init(void)
|
void
Inicializa los parámetros del almacén de claves del grupo local.
|
OnEpochKeysChange(void)
|
void
Devuelve el ID de clave actual.
|
RetrieveLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
StoreLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
Atributos protegidos
LastUsedEpochKeyId
uint32_t LastUsedEpochKeyId
NextEpochKeyStartTime
uint32_t NextEpochKeyStartTime
Funciones públicas
Borrar
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 la clave de la aplicación.
Se admiten tres tipos de claves de aplicación: clave de aplicación actual, clave de aplicación rotativa y clave de aplicación estática. Cuando se solicita la clave de aplicación actual, la función encuentra y usa la clave de época actual en función de la hora del sistema actual y el parámetro de hora de inicio de cada clave de época.
Detalles | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 )
Devuelve el ID de clave actual.
Encuentra la clave de época actual en función de la hora del sistema actual y el parámetro de hora de inicio de cada clave de época. Si el sistema no tiene una hora válida y precisa, se muestra el ID de clave de época que se usó por última vez.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores de retorno |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Obtén la hora actual de la plataforma en UTC en segundos.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores de retorno |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Obtén la clave del grupo de aplicaciones.
Esta función deriva o recupera claves de grupos de aplicaciones. Los tipos de claves que admite esta función son: secreto de Fabric, clave raíz, clave de época, clave maestra del grupo y clave intermedia.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
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
Funciones protegidas
Init
void Init( void )
Inicializa los parámetros del almacén de claves del grupo local.
OnEpochKeysChange
void OnEpochKeysChange( void )
Muestra el ID de clave actual.
Establece las variables de miembro asociadas con las claves de época en los valores predeterminados cuando se produce algún cambio (borrar o almacenar) en el conjunto de claves de época de la aplicación. Es responsabilidad de la subclase que implementa las funciones StoreGroupKey(), DeleteGroupKey() y DeleteGroupKeysOfAType() llamar a este método.