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::0GroupKeyStore1{/umKeyStore1{/um:
KeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImplnl::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 )
애플리케이션 키를 가져옵니다.
현재 애플리케이션 키, 순환 애플리케이션 키, 정적 애플리케이션 키의 세 가지 애플리케이션 키 유형이 지원됩니다. 현재 애플리케이션 키가 요청되면 함수는 현재 시스템 시간과 각 에포크 키의 시작 시간 매개변수를 기반으로 현재 에포크 키를 찾아 사용합니다.
세부정보 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||||||||
반환 값 |
|
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를 반환합니다.
현재 시스템 시간과 각 epoch 키의 시작 시간 매개변수를 기반으로 현재 epoch 키를 찾습니다. 시스템에 유효하고 정확한 시간이 없으면 마지막으로 사용된 epoch 키 ID가 반환됩니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
GetCurrentUTCTime
virtual WEAVE_ERROR GetCurrentUTCTime( uint32_t & utcTime )
현재 플랫폼 UTC 시간을 초 단위로 가져옵니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
GetGroupKey
WEAVE_ERROR GetGroupKey( uint32_t keyId, WeaveGroupKey & groupKey )
애플리케이션 그룹 키를 가져옵니다.
이 함수는 애플리케이션 그룹 키를 파생하거나 검색합니다. 이 함수에서 지원되는 키 유형은 fabric 비밀, 루트 키, 시대 키, 그룹 마스터 키, 중간 키입니다.
세부정보 | |||||||||
---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||
반환 값 |
|
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() 함수를 구현하는 서브클래스의 책임입니다.