nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
To abstrakcyjna klasa.
#include <src/lib/profiles/security/WeaveApplicationKeys.h>
Definicja klasy magazynu kluczy grupy Weave.
Podsumowanie
Funkcje z tej klasy są wywoływane do zarządzania kluczami grupy aplikacji.
Dziedziczenie
Bezpośrednie znane podklasy:nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore
Atrybuty chronione |
|
---|---|
LastUsedEpochKeyId
|
uint32_t
|
NextEpochKeyStartTime
|
uint32_t
|
Funkcje publiczne |
|
---|---|
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)
|
Wyprowadza klucz aplikacji.
|
EnumerateGroupKeys(uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0
|
virtual WEAVE_ERROR
|
GetCurrentAppKeyId(uint32_t keyId, uint32_t & curKeyId)
|
Zwraca bieżący identyfikator klucza.
|
GetCurrentUTCTime(uint32_t & utcTime)
|
virtual WEAVE_ERROR
Pobiera bieżący czas UTC na platformie w sekundach.
|
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
|
Pobierz klucz grupy aplikacji.
|
RetrieveGroupKey(uint32_t keyId, WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
StoreGroupKey(const WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
Funkcje chronione |
|
---|---|
Init(void)
|
void
Zainicjuj parametry magazynu kluczy grup lokalnych.
|
OnEpochKeysChange(void)
|
void
Zwraca identyfikator bieżącego klucza.
|
RetrieveLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
StoreLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
Atrybuty chronione
LastUsedEpochKeyId
uint32_t LastUsedEpochKeyId
NextEpochKeyStartTime
uint32_t NextEpochKeyStartTime
Funkcje publiczne
Wyczyść
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
)
Wyprowadza klucz aplikacji.
Obsługiwane są 3 typy kluczy aplikacji: bieżący klucz aplikacji, klucz z rotacją aplikacji i statyczny klucz aplikacji. Gdy zostanie przesłane żądanie bieżącego klucza aplikacji, funkcja wyszukuje i używa bieżącego klucza ery na podstawie bieżącego czasu systemowego i parametru czasu rozpoczęcia każdego klucza ery.
Szczegóły | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||||||||||||
Zwracane wartości |
|
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
)
Zwraca bieżący identyfikator klucza.
Znajduje bieżący klucz ery na podstawie bieżącego czasu systemowego i parametru czasu rozpoczęcia każdego klucza ery. Jeśli system nie ma prawidłowego, dokładnego czasu, zwracany jest identyfikator ostatniego użytego klucza ery.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime(
uint32_t & utcTime
)
Pobiera bieżący czas UTC na platformie w sekundach.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
GetGroupKey
WEAVE_ERROR GetGroupKey(
uint32_t keyId,
WeaveGroupKey & groupKey
)
Pobierz klucz grupy aplikacji.
Ta funkcja wyprowadza lub pobiera klucze grup aplikacji. Ta funkcja obsługuje następujące typy kluczy: secret fabric, root key, epoch key, group master key i intermediate key.
Szczegóły | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametry |
|
||||||||
Zwracane wartości |
|
RetrieveGroupKey
virtual WEAVE_ERROR RetrieveGroupKey(
uint32_t keyId,
WeaveGroupKey & key
)=0
StoreGroupKey
virtual WEAVE_ERROR StoreGroupKey(
const WeaveGroupKey & key
)=0
Funkcje chronione
Rozpocznij
void Init(
void
)
Inicjalizacja parametrów lokalnego magazynu kluczy grupowych.
OnEpochKeysChange
void OnEpochKeysChange(
void
)
Zwraca identyfikator bieżącego klucza.
Gdy nastąpi jakakolwiek zmiana (usunięcie lub zapisanie) w zbiorze kluczy okresu aplikacji, zmienne członkowskie powiązane z kluczami okresu zostaną ustawione na wartości domyślne. Wywołanie tej metody należy do podklasy, która implementuje funkcje StoreGroupKey(), DeleteGroupKey() i DeleteGroupKeysOfAType().