nl:: Weave:: 프로필:: 보안:: AppKeys:: GroupKeyStoreBase
이 클래스는 추상 클래스입니다.
#include <src/lib/profiles/security/WeaveApplicationKeys.h>
Weave 그룹 키 저장소 클래스의 정의입니다.
요약
이 클래스의 함수는 애플리케이션 그룹 키를 관리하기 위해 호출됩니다.
상속
직접 알려진 서브클래스:nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Group:GroupKeyStoreImpl}nl }
보호된 속성 |
|
---|---|
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
그룹 삭제
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 )
애플리케이션 키를 가져옵니다.
현재 애플리케이션 키, 순환하는 애플리케이션 키, 정적 애플리케이션 키라는 세 가지 유형의 애플리케이션 키가 지원됩니다. 현재 애플리케이션 키가 요청되면 함수는 현재 시스템 시간과 각 에포크 키의 시작 시간 매개변수를 기반으로 현재 에포크 키를 찾아서 사용합니다.
세부정보 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
매개변수 |
|
||||||||||||||||||
반환 값 |
|
열거형 그룹 키
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
스토어 그룹 키
virtual WEAVE_ERROR StoreGroupKey( const WeaveGroupKey & key )=0
보호된 함수
Init
void Init( void )
로컬 그룹 키 저장소 매개변수를 초기화합니다.
OnEpochKeysChange
void OnEpochKeysChange( void )
현재 키 ID를 반환합니다.
변경사항 (삭제 또는 저장)이 애플리케이션 에포크 키 세트에 변경될 때 에포크 키와 연결된 멤버 변수를 기본값으로 설정합니다. 이 메서드를 호출하려면 StoreGroupKey(), DeleteGroupKey(), DeleteGroupKeysOfAType() 함수를 구현하는 서브클래스에서 담당합니다.