nl:: Weave:: Profiles:: Security:: AppKeys:: GroupKeyStoreBase
Ini adalah class abstrak.
#include <src/lib/profiles/security/WeaveApplicationKeys.h>
Definisi class penyimpanan kunci grup Weave.
Ringkasan
Fungsi dalam class ini dipanggil untuk mengelola kunci grup aplikasi.
Inheritance
Subclass Langsung yang Diketahui:nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore
Atribut yang dilindungi |
|
---|---|
LastUsedEpochKeyId
|
uint32_t
|
NextEpochKeyStartTime
|
uint32_t
|
Fungsi publik |
|
---|---|
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)
|
Menghasilkan kunci aplikasi.
|
EnumerateGroupKeys(uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0
|
virtual WEAVE_ERROR
|
GetCurrentAppKeyId(uint32_t keyId, uint32_t & curKeyId)
|
Menampilkan ID kunci saat ini.
|
GetCurrentUTCTime(uint32_t & utcTime)
|
virtual WEAVE_ERROR
Mendapatkan waktu UTC platform saat ini dalam detik.
|
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
|
Mendapatkan kunci grup aplikasi.
|
RetrieveGroupKey(uint32_t keyId, WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
StoreGroupKey(const WeaveGroupKey & key)=0
|
virtual WEAVE_ERROR
|
Fungsi yang dilindungi |
|
---|---|
Init(void)
|
void
Melakukan inisialisasi parameter penyimpanan kunci grup lokal.
|
OnEpochKeysChange(void)
|
void
Menampilkan ID kunci saat ini.
|
RetrieveLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
StoreLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
Atribut yang dilindungi
LastUsedEpochKeyId
uint32_t LastUsedEpochKeyId
NextEpochKeyStartTime
uint32_t NextEpochKeyStartTime
Fungsi publik
Hapus
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 )
Menghasilkan kunci aplikasi.
Ada tiga jenis kunci aplikasi yang didukung: kunci aplikasi saat ini, kunci aplikasi berputar, dan kunci aplikasi statis. Saat kunci aplikasi saat ini diminta, fungsi akan menemukan dan menggunakan kunci epoch saat ini berdasarkan waktu sistem saat ini dan parameter waktu mulai dari setiap kunci epoch.
Detail | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||||||||
Nilai yang Ditampilkan |
|
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 )
Menampilkan ID kunci saat ini.
Menemukan kunci epoch saat ini berdasarkan waktu sistem saat ini dan parameter waktu mulai setiap kunci epoch. Jika sistem tidak memiliki waktu yang valid dan akurat, ID kunci epoch yang terakhir digunakan akan ditampilkan.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai yang Ditampilkan |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
Mendapatkan waktu UTC platform saat ini dalam detik.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai yang Ditampilkan |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
Mendapatkan kunci grup aplikasi.
Fungsi ini memperoleh atau mengambil kunci grup aplikasi. Jenis kunci yang didukung oleh fungsi ini adalah: rahasia fabric, kunci root, kunci epoch, kunci master grup, dan kunci perantara.
Detail | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||
Nilai yang Ditampilkan |
|
RetrieveGroupKey
virtual WEAVE_ERROR RetrieveGroupKey( uint32_t keyId, WeaveGroupKey & key )=0
StoreGroupKey
virtual WEAVE_ERROR StoreGroupKey( const WeaveGroupKey & key )=0
Fungsi yang dilindungi
Init
void Init( void )
Melakukan inisialisasi parameter penyimpanan kunci grup lokal.
OnEpochKeysChange
void OnEpochKeysChange( void )
Menampilkan ID kunci saat ini.
Menetapkan variabel anggota yang terkait dengan kunci epoch ke nilai default saat perubahan (hapus atau simpan) terjadi pada kumpulan kunci epoch aplikasi. Subclass yang mengimplementasikan fungsi StoreGroupKey(), DeleteGroupKey(), dan DeleteGroupKeysOfAType() bertanggung jawab untuk memanggil metode ini.