nl::
  これは抽象クラスです。
  #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) | 現在の鍵 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
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 )
アプリケーション キーを取得します。
現在のアプリケーション キー、ローテーション アプリケーション キー、静的アプリケーション キーの 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 時間を秒単位で取得します。
| 詳細 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| パラメータ | 
 | ||||||||
| 戻り値 | 
 | ||||||||
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
アプリケーション グループ キーを取得します。
この関数は、アプリケーション グループキーを導出または取得します。この関数でサポートされている鍵のタイプは、ファブリック シークレット、ルート鍵、エポック鍵、グループ マスター鍵、中間鍵です。
| 詳細 | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| パラメータ | 
 | ||||||||
| 戻り値 | 
 | ||||||||
RetrieveGroupKey
virtual WEAVE_ERROR RetrieveGroupKey( uint32_t keyId, WeaveGroupKey & key )=0
StoreGroupKey
virtual WEAVE_ERROR StoreGroupKey( const WeaveGroupKey & key )=0
プロテクト関数
init
void Init( void )
ローカル グループ キーストア パラメータを初期化します。
OnEpochKeysChange
void OnEpochKeysChange( void )
現在の鍵 ID を返します。
アプリケーション エポックキーのセットに変更(削除または保存)が発生した場合、エポックキーに関連付けられているメンバー変数をデフォルト値に設定します。このメソッドの呼び出しは、StoreGroupKey()、DeleteGroupKey()、DeleteGroupKeysOfAType() 関数を実装するサブクラスが行います。