nl:: Weave:: Profiles:: Security:: AppKeys:: GroupKeyStoreBase
これは抽象クラスです。
#include <src/lib/profiles/security/WeaveApplicationKeys.h>
Weave グループ キーストア ストアの定義。
まとめ
このクラスの関数は、アプリケーション グループ キーを管理するために呼び出されます。
継承
既知のサブクラス:nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal
プロテクト属性 |
|
---|---|
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)
|
現在のキー ID を返します。
|
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
現在のキー ID を返します。
|
RetrieveLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
StoreLastUsedEpochKeyId(void)=0
|
virtual WEAVE_ERROR
|
プロテクト属性
LastUsedEpochKeyId
uint32_t LastUsedEpochKeyId
NextEpochKeyStartTime です。
uint32_t NextEpochKeyStartTime
パブリック関数
クリア
virtual WEAVE_ERROR Clear( void )=0
グループキーを削除
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 )
アプリケーション キーを取得します。
現在のアプリケーション キー、ローテーションするアプリケーション キー、静的アプリケーション キーの 3 種類のアプリケーション キーがサポートされています。現在のアプリキーがリクエストされると、関数は、現在のシステム時刻と各エポックキーの開始時刻パラメータに基づいて、現在のエポックキーを見つけて使用します。
詳細 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||||||||||||
戻り値 |
|
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 )
現在のキー ID を返します。
現在のシステム時刻と各エポックキーの開始時刻パラメータに基づいて、現在のエポックキーを検索します。システムに有効かつ正確な時刻が設定されていない場合は、最後に使用されたエポック ID が返されます。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
GetCurrentUTCTime(英語)
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
現在のプラットフォームの UTC 時刻を秒単位で取得します。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
グループキー
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
アプリケーション グループ キーを取得します。
この関数は、アプリケーション グループ キーを取得または取得します。この関数でサポートされる鍵のタイプは、ファブリック シークレット、ルートキー、エポックキー、グループ マスターキー、中間キーです。
詳細 | |||||||||
---|---|---|---|---|---|---|---|---|---|
パラメータ |
|
||||||||
戻り値 |
|
グループキーの取得
virtual WEAVE_ERROR RetrieveGroupKey( uint32_t keyId, WeaveGroupKey & key )=0
ストアグループ キー
virtual WEAVE_ERROR StoreGroupKey( const WeaveGroupKey & key )=0
プロテクト関数
init
void Init( void )
ローカル グループ キーストア パラメータを初期化する。
OnEpochKeysChange
void OnEpochKeysChange( void )
現在のキー ID を返します。
エポックキーに関連付けられたメンバー変数を、アプリのエポックキーのセットに変更(削除または保存)したときに、デフォルト値に設定します。このメソッドを呼び出すのは、StoreGroupKey()、DeleteGroupKey()、DeleteGroupKeysOfAType() 関数を実装するサブクラスの役割です。