nl :: Tejido:: Perfiles: Seguridad:: AppKeys :: GroupKeyStoreBase
Esto es una clase abstracta.#include <src/lib/profiles/security/WeaveApplicationKeys.h>
La definición de la clase de tienda de claves del grupo 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 :: Perfiles :: Seguridad :: AppKeys :: DummyGroupKeyStore
Atributos protegidos | |
---|---|
LastUsedEpochKeyId | uint32_t |
NextEpochKeyStartTime | uint32_t |
Funciones publicas | |
---|---|
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) | Devuelve el ID de clave actual. |
GetCurrentUTCTime (uint32_t & utcTime) | virtual WEAVE_ERROR Obtenga la hora UTC de la plataforma actual en segundos. |
GetGroupKey (uint32_t keyId, WeaveGroupKey & groupKey) | Obtenga 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 Inicialice 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 publicas
Claro
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 giratoria 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 época actual basándose en la hora actual del sistema y el parámetro de hora de inicio de cada clave de época.
Detalles | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||||||||||||
Valores devueltos |
|
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 exacta y válida, se devuelve el ID de la clave de época utilizada por última vez.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||
Valores devueltos |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Obtenga la hora UTC de la plataforma actual en segundos.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||
Valores devueltos |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Obtenga la clave del grupo de aplicaciones.
Esta función deriva o recupera claves de grupos de aplicaciones. Los tipos de clave admitidos por esta función son: secreto de estructura, clave raíz, clave de época, clave maestra de grupo y clave intermedia.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||
Valores devueltos |
|
RetrieveGroupKey
virtual WEAVE_ERROR RetrieveGroupKey( uint32_t keyId, WeaveGroupKey & key )=0
StoreGroupKey
virtual WEAVE_ERROR StoreGroupKey( const WeaveGroupKey & key )=0
Funciones protegidas
En eso
void Init( void )
Inicialice los parámetros del almacén de claves del grupo local.
OnEpochKeysChange
void OnEpochKeysChange( void )
Devuelve el ID de clave actual.
Establece las variables miembro asociadas con las claves de época a los valores predeterminados cuando ocurre algún cambio (eliminar 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 () para llamar a este método.
RetrieveLastUsedEpochKeyId
virtual WEAVE_ERROR RetrieveLastUsedEpochKeyId( void )=0
StoreLastUsedEpochKeyId
virtual WEAVE_ERROR StoreLastUsedEpochKeyId( void )=0