nl:: Weave:: Profiles:: Security:: AppKeys:: GroupKeyStoreBase
Bu, soyut bir sınıftır.
#include <src/lib/profiles/security/WeaveApplicationKeys.h>
Weave grup anahtar mağazası sınıfının tanımı.
Özet
Bu sınıftaki işlevler, uygulama grubu anahtarlarını yönetmek için çağrılır.
Devralma
Doğrudan Bilinen Alt Sınıflar:nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore
Korunan özellikler |
|
---|---|
LastUsedEpochKeyId
|
uint32_t
|
NextEpochKeyStartTime
|
uint32_t
|
Herkese açık işlevler |
|
---|---|
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)
|
Uygulama anahtarı türetir.
|
EnumerateGroupKeys(uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0
|
virtual WEAVE_ERROR
|
GetCurrentAppKeyId(uint32_t keyId, uint32_t & curKeyId)
|
Geçerli anahtar kimliğini döndürür.
|
GetCurrentUTCTime(uint32_t & utcTime)
|
virtual WEAVE_ERROR
Platformun geçerli UTC saatini saniye cinsinden alır.
|
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
|
Uygulama grubu anahtarını alın.
|
RetrieveGroupKey(uint32_t keyId, WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
StoreGroupKey(const WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
Korunan işlevler |
|
---|---|
Init(void)
|
void
Yerel grup anahtar deposu parametrelerini başlatın.
|
OnEpochKeysChange(void)
|
void
Geçerli anahtar kimliğini döndürür.
|
RetrieveLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
StoreLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
Korunan özellikler
LastUsedEpochKeyId
uint32_t LastUsedEpochKeyId
NextEpochKeyStartTime
uint32_t NextEpochKeyStartTime
Herkese açık işlevler
Temizle
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 )
Uygulama anahtarı türetir.
Üç tür uygulama anahtarı desteklenir: geçerli uygulama anahtarı, dönen uygulama anahtarı ve statik uygulama anahtarı. Geçerli uygulama anahtarı istendiğinde, işlev geçerli sistem saatine ve her bir dönem anahtarının başlangıç zamanı parametresine göre geçerli epoch anahtarını bulup kullanır.
Ayrıntılar | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||||||||||||
Döndürülen değerler |
|
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 )
Geçerli anahtar kimliğini döndürür.
Geçerli sistem saatine ve her bir çağ anahtarının başlangıç saati parametresine göre geçerli çağ anahtarını bulur. Sistemin geçerli ve doğru bir zamanı yoksa son kullanılan dönem anahtarı kimliği döndürülür.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen değerler |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Platformun geçerli UTC saatini saniye cinsinden alır.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen değerler |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Uygulama grubu anahtarını alın.
Bu işlev, uygulama grubu anahtarlarını türetebilir veya alabilir. Bu işlev tarafından desteklenen anahtar türleri şunlardır: yapı gizli anahtarı, kök anahtarı, dönem anahtarı, grup ana anahtarı ve ara anahtar.
Ayrıntılar | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parametreler |
|
||||||||
Döndürülen değerler |
|
RetrieveGroupKey
virtual WEAVE_ERROR RetrieveGroupKey( uint32_t keyId, WeaveGroupKey & key )=0
StoreGroupKey
virtual WEAVE_ERROR StoreGroupKey( const WeaveGroupKey & key )=0
Korunan işlevler
Başlatma
void Init( void )
Yerel grup anahtar deposu parametrelerini başlatın.
OnEpochKeysChange
void OnEpochKeysChange( void )
Geçerli anahtar kimliğini döndürür.
Uygulama epoch anahtarlarının kümesinde herhangi bir değişiklik (silme veya depolama) yapıldığında epoch anahtarlarıyla ilişkili üye değişkenlerini varsayılan değerlere ayarlar. Bu yöntemi çağırmak StoreGroupKey(), DeleteGroupKey() ve DeleteGroupKeysOfAType() işlevlerini uygulayan alt sınıfın sorumluluğundadır.