nl:: Weave:: Perfiles:: Seguridad::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 de grupo de Weave.
Resumen
Se llama a las funciones de esta clase para administrar claves de grupo de aplicaciones.
Herencia
Subclases conocidas directas:nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::KeyKey:
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)
|
Muestra el ID de la clave actual.
|
GetCurrentUTCTime(uint32_t & utcTime)
|
virtual WEAVE_ERROR
Obtén el tiempo UTC actual de la plataforma 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
Muestra el ID de la clave actual.
|
RetrieveLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
StoreLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
Atributos protegidos
Último id de clave de uso
uint32_t LastUsedEpochKeyId
Hora de la siguiente clave de inicio
uint32_t NextEpochKeyStartTime
Funciones públicas
Borrar
virtual WEAVE_ERROR Clear( void )=0
BorrarGroupKey
virtual WEAVE_ERROR DeleteGroupKey( uint32_t keyId )=0
BorrarGroupKeysOfAType
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 busca y usa la clave de ciclo de entrenamiento actual según la hora actual del sistema y el parámetro de hora de inicio de cada clave de ciclo de entrenamiento.
Detalles | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||||||
Valores que se muestran |
|
EnumerateGroupKeys
virtual WEAVE_ERROR EnumerateGroupKeys( uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount )=0
ID de clave de la aplicación de GetCurrent
WEAVE_ERROR GetCurrentAppKeyId( uint32_t keyId, uint32_t & curKeyId )
Muestra el ID de la clave actual.
Encuentra la clave de ciclo de entrenamiento actual en función de la hora actual del sistema y el parámetro de hora de inicio de cada clave de ciclo de entrenamiento. Si el sistema no tiene una hora válida y precisa, se muestra el ID de la clave de época en uso por última vez.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
Hora actualUTC
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Obtén el tiempo UTC actual de la plataforma en segundos.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
ObtenerGrupoClave
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Obtén la clave del grupo de aplicaciones.
Esta función deriva o recupera claves de grupo de aplicaciones. Los tipos de claves compatibles con esta función son el secreto de tejido, la clave raíz, la clave de época, la clave principal de grupo y la clave intermedia.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
Recuperar grupo de claves
virtual WEAVE_ERROR RetrieveGroupKey( uint32_t keyId, WeaveGroupKey & key )=0
Clave del grupo de tiendas
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.
Cambio en las claves de onEpoch
void OnEpochKeysChange( void )
Muestra el ID de la clave actual.
Establece las variables de miembro asociadas con las claves de ciclo de vida en los valores predeterminados cuando se produce cualquier cambio (borrar o almacenar) en el conjunto de claves de ciclo de vida de la aplicación. Es la responsabilidad de la subclase que implementa las funciones StoreGroupKey(), DeleteGroupKey() y DeleteGroupKeysOfAType() para llamar a este método.