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
Las funciones de esta clase se llaman para administrar claves de grupos 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 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)
|
Devuelve el ID de clave actual.
|
GetCurrentUTCTime(uint32_t & utcTime)
|
virtual WEAVE_ERROR
Obtén la hora UTC de la plataforma actual 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 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 según la hora actual del sistema 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 según la hora actual del sistema y el parámetro de hora de inicio de cada clave de época. Si el sistema no tiene una hora precisa y válida, se muestra el ID de la 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 UTC de la plataforma actual 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 admitidos por esta función son: Fabric secret, clave raíz, clave de ciclo de entrenamiento, clave maestra de 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 )
Devuelve 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 ciclo de entrenamiento de la aplicación. Es responsabilidad de la subclase que implementa las funciones StoreGroupKey(), DeleteGroupKey() y DeleteGroupKeysOfAType() llamar a este método.