нл:: Переплетение:: Профили:: Безопасность:: AppKeys:: ГруппаKeyStoreBase
Это абстрактный класс.#include <src/lib/profiles/security/WeaveApplicationKeys.h>
Определение класса хранилища групповых ключей Weave.
Краткое содержание
Функции этого класса вызываются для управления ключами группы приложений.
Наследование
Прямые известные подклассы:nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore
Защищенные атрибуты | |
---|---|
LastUsedEpochKeyId | uint32_t |
NextEpochKeyStartTime | uint32_t |
Общественные функции | |
---|---|
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) | Получает ключ приложения. |
EnumerateGroupKeys (uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0 | virtual WEAVE_ERROR |
GetCurrentAppKeyId (uint32_t keyId, uint32_t & curKeyId) | Возвращает текущий идентификатор ключа. |
GetCurrentUTCTime (uint32_t & utcTime) | virtual WEAVE_ERROR Получите текущее время UTC платформы в секундах. |
GetGroupKey (uint32_t keyId, WeaveGroupKey & groupKey) | Получите ключ группы приложений. |
RetrieveGroupKey (uint32_t keyId, WeaveGroupKey & key)=0 | virtual WEAVE_ERROR |
StoreGroupKey (const WeaveGroupKey & key)=0 | virtual WEAVE_ERROR |
Защищенные функции | |
---|---|
Init (void) | void Инициализируйте параметры хранилища ключей локальной группы. |
OnEpochKeysChange (void) | void Возвращает текущий идентификатор ключа. |
RetrieveLastUsedEpochKeyId (void)=0 | virtual WEAVE_ERROR |
StoreLastUsedEpochKeyId (void)=0 | virtual WEAVE_ERROR |
Защищенные атрибуты
LastUsedEpochKeyId
uint32_t LastUsedEpochKeyId
СледующаяEpochKeyStartTime
uint32_t NextEpochKeyStartTime
Общественные функции
Прозрачный
virtual WEAVE_ERROR Clear( void )=0
Удалитьгрупповой ключ
virtual WEAVE_ERROR DeleteGroupKey( uint32_t keyId )=0
Удалитьгруппокэйсофатипе
virtual WEAVE_ERROR DeleteGroupKeysOfAType( uint32_t keyType )=0
ДеривеApplicationKey
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 )
Получает ключ приложения.
Поддерживаются три типа ключей приложения: текущий ключ приложения, вращающийся ключ приложения и статический ключ приложения. Когда запрашивается текущий ключ приложения, функция находит и использует текущий ключ эпохи на основе текущего системного времени и параметра времени начала каждого ключа эпохи.
Подробности | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||||||||
Возвращаемые значения |
|
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 )
Возвращает текущий идентификатор ключа.
Находит текущий ключ эпохи на основе текущего системного времени и параметра времени начала каждого ключа эпохи. Если система не имеет действительного и точного времени, возвращается идентификатор ключа последней использованной эпохи.
Подробности | |||||||||
---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||
Возвращаемые значения |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Получите текущее время UTC платформы в секундах.
Подробности | |||||||||
---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||
Возвращаемые значения |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Получите ключ группы приложений.
Эта функция извлекает или извлекает ключи группы приложений. Типы ключей, поддерживаемые этой функцией: секрет структуры, корневой ключ, ключ эпохи, главный ключ группы и промежуточный ключ.
Подробности | |||||||||
---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||
Возвращаемые значения |
|
Получить групповой ключ
virtual WEAVE_ERROR RetrieveGroupKey( uint32_t keyId, WeaveGroupKey & key )=0
StoreGroupKey
virtual WEAVE_ERROR StoreGroupKey( const WeaveGroupKey & key )=0
Защищенные функции
Инициализировать
void Init( void )
Инициализируйте параметры хранилища ключей локальной группы.
OnEpochKeysChange
void OnEpochKeysChange( void )
Возвращает текущий идентификатор ключа.
Устанавливает переменные-члены, связанные с ключами эпох, в значения по умолчанию, когда любое изменение (удаление или сохранение) происходит в наборе ключей эпох приложения. Ответственность за вызов этого метода лежит на подклассе, который реализует функции StoreGroupKey(), DeleteGroupKey() и DeleteGroupKeysOfAType().
ПолучитьLastUsedEpochKeyId
virtual WEAVE_ERROR RetrieveLastUsedEpochKeyId( void )=0
StoreLastUsedEpochKeyId
virtual WEAVE_ERROR StoreLastUsedEpochKeyId( void )=0