nl::Weave::Profiles::Security::AppKeys

이 네임스페이스는 Weave 보안 프로필 내에 있는 Weave 애플리케이션 키 라이브러리에 대한 Weave 내의 모든 인터페이스를 포함합니다.

요약

열거

@220{
  kWeaveAppGroupKeySize = 32,
  kWeaveAppRootKeySize = kWeaveAppGroupKeySize,
  kWeaveAppEpochKeySize = kWeaveAppGroupKeySize,
  kWeaveAppGroupMasterKeySize = kWeaveAppGroupKeySize,
  kWeaveAppIntermediateKeySize = kWeaveAppGroupKeySize,
  kWeaveFabricSecretSize = 36,
  kWeaveAppFabricRootKeyDiversifierSize = sizeof(kWeaveAppFabricRootKeyDiversifier),
  kWeaveAppClientRootKeyDiversifierSize = sizeof(kWeaveAppClientRootKeyDiversifier),
  kWeaveAppIntermediateKeyDiversifierSize = sizeof(kWeaveAppIntermediateKeyDiversifier)
}
enum
Weave 애플리케이션 키 프로토콜 매개변수 정의.
WeaveAppGroupGlobalId{
  kWeaveAppGroupGlobalId_Unspecified = 0,
  kWeaveAppGroupGlobalId_NestPhysicalAccess = (kWeaveVendor_NestLabs << 16) | 0x0001,
  kWeaveAppGroupGlobalId_NestStructureSecurity = (kWeaveVendor_NestLabs << 16) | 0x0002,
  kWeaveAppGroupGlobalId_NestHVAC = (kWeaveVendor_NestLabs << 16) | 0x0003,
  kWeaveAppGroupGlobalId_NestSecurityControl = (kWeaveVendor_NestLabs << 16) | 0x0004
}
enum
Weave Application Group Global ID (AGGID)

변수

kWeaveAppClientRootKeyDiversifier = { 0x53, 0xE3, 0xFF, 0xE5 }[]
const uint8_t
Weave 클라이언트 루트 키 파생에 사용되는 키 다양자입니다.
kWeaveAppFabricRootKeyDiversifier = { 0x21, 0xFA, 0x8F, 0x6A }[]
const uint8_t
Weave 패브릭 루트 키 파생에 사용되는 키 다이버레이터입니다.
kWeaveAppIntermediateKeyDiversifier = { 0xBC, 0xAA, 0x95, 0xAD }[]
const uint8_t
Weave 중간 키 파생에 사용되는 키 다양자입니다.

함수

GetAppGroupMasterKeyId(uint32_t groupGlobalId, GroupKeyStoreBase *groupKeyStore, uint32_t & groupMasterKeyId)
애플리케이션 그룹 전역 ID가 지정된 애플리케이션 그룹 마스터 키 ID를 가져옵니다.
LogGroupKeys(GroupKeyStoreBase *groupKeyStore)

클래스

nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase

Weave 그룹 키 저장소 클래스의 정의입니다.

nl::Weave::Profiles::Security::AppKeys::WeaveGroupKey

Weave 애플리케이션 그룹 키에 대한 정보를 포함합니다.

열거

@220

 @220

Weave 애플리케이션 키 프로토콜 매개변수 정의.

속성
kWeaveAppClientRootKeyDiversifierSize

클라이언트 루트 키 다각화 크기입니다.

kWeaveAppEpochKeySize

Weave 애플리케이션 에포크 키 크기입니다.

kWeaveAppFabricRootKeyDiversifierSize

패브릭 루트 키 다양자 크기입니다.

kWeaveAppGroupKeySize

Weave 구성요소 그룹 키 크기입니다.

kWeaveAppGroupMasterKeySize

Weave 애플리케이션 그룹 마스터 키 크기입니다.

kWeaveAppIntermediateKeyDiversifierSize

중간 키 다각화 크기입니다.

kWeaveAppIntermediateKeySize

Weave 애플리케이션 중간 키 크기.

kWeaveAppRootKeySize

Weave 애플리케이션 루트 키 크기.

kWeaveFabricSecretSize

직물 직물 비밀 크기.

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

Weave Application Group Global ID (AGGID)

속성
kWeaveAppGroupGlobalId_NestHVAC

Nest HVAC 그룹입니다.

kWeaveAppGroupGlobalId_NestPhysicalAccess

Nest Labs 애플리케이션 그룹 전체 ID

참고: 이 값을 직접 할당하려고 하지 마세요. 이 값은 Nest Labs에서 관리합니다. 'Nest Weave: Nest 애플리케이션 그룹'을 사용하여 공식적으로 요청하세요. Global ID Registry' https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Nest 물리적 액세스 그룹

kWeaveAppGroupGlobalId_NestSecurityControl

Nest 보안 통제 그룹.

kWeaveAppGroupGlobalId_NestStructureSecurity

Nest Structure Security 그룹

kWeaveAppGroupGlobalId_Unspecified

애플리케이션 그룹 전역 ID가 지정되지 않았습니다.

변수

kWeaveAppClientRootKeyDiversifier

const uint8_t kWeaveAppClientRootKeyDiversifier[] = { 0x53, 0xE3, 0xFF, 0xE5 }

Weave 클라이언트 루트 키 파생에 사용되는 키 다양자입니다.

이 값은 '클라이언트 루트 키' SHA-1 HASH의 처음 4바이트를 나타냅니다. 있습니다.

kWeaveAppFabricRootKeyDiversifier

const uint8_t kWeaveAppFabricRootKeyDiversifier[] = { 0x21, 0xFA, 0x8F, 0x6A }

Weave 패브릭 루트 키 파생에 사용되는 키 다이버레이터입니다.

이 값은 '패브릭 루트 키' SHA-1 HASH의 처음 4바이트를 나타냅니다. 있습니다.

kWeaveAppIntermediateKeyDiversifier

const uint8_t kWeaveAppIntermediateKeyDiversifier[] = { 0xBC, 0xAA, 0x95, 0xAD }

Weave 중간 키 파생에 사용되는 키 다양자입니다.

이 값은 '중간 키' SHA-1 HASH의 처음 4바이트를 나타냅니다. 있습니다.

함수

GetAppGroupMasterKeyId

WEAVE_ERROR GetAppGroupMasterKeyId(
  uint32_t groupGlobalId,
  GroupKeyStoreBase *groupKeyStore,
  uint32_t & groupMasterKeyId
)

애플리케이션 그룹 전역 ID가 지정된 애플리케이션 그룹 마스터 키 ID를 가져옵니다.

세부정보
매개변수
[in] groupGlobalId
애플리케이션 그룹 전역 ID입니다.
[in] groupKeyStore
그룹 키 저장소 객체를 가리키는 포인터입니다.
[out] groupMasterKeyId
애플리케이션 그룹 마스터 키 ID입니다.
반환 값
WEAVE_NO_ERROR
성공 시
WEAVE_ERROR_INVALID_ARGUMENT
그룹 키 저장소에 대한 포인터가 제공되지 않은 경우.
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
FabricState 객체가 완전한 기능을 갖춘 그룹 키 저장소로 초기화되지 않은 경우
WEAVE_ERROR_KEY_NOT_FOUND
지정된 전역 ID가 있는 그룹 키를 플랫폼 키 저장소에서 찾을 수 없는 경우
other
플랫폼 키 저장소 API에서 반환하는 기타 플랫폼별 오류

LogGroupKeys

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)