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)
}
枚举
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
}
枚举
Weave 应用组全局 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

Fabric 根键多样化器的大小。

kWeaveAppGroupKeySize

编制组成部分组键大小。

kWeaveAppGroupMasterKeySize

Weave 应用组主密钥大小。

kWeaveAppIntermediateKeyDiversifierSize

中间键多样化器的大小。

kWeaveAppIntermediateKeySize

Weave 应用中间密钥大小。

kWeaveAppRootKeySize

Weave 应用根密钥大小。

kWeaveFabricSecretSize

织物的秘密大小。

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

Weave 应用组全局 ID (AGGID)。

属性
kWeaveAppGroupGlobalId_NestHVAC

Nest HVAC Group。

kWeaveAppGroupGlobalId_NestPhysicalAccess

Nest Labs 应用组全局 ID。

注意:请勿尝试自行分配这些值。这些值由 Nest Labs 管理。请通过“Nest Weave:Nest 应用群组”提出正式请求 全局 ID 注册表”https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Nest 物理访问群组。

kWeaveAppGroupGlobalId_NestSecurityControl

Nest 安全控制组。

kWeaveAppGroupGlobalId_NestStructureSecurity

Nest 结构安全群组。

kWeaveAppGroupGlobalId_Unspecified

未指定应用组全局 ID。

变量

kWeaveAppClientRootKeyDiversifier

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

用于派生 Weave 客户端根密钥的密钥多样化符。

此值表示“客户端根密钥”的 SHA-1 哈希的前 4 个字节词组。

kWeaveAppFabricRootKeyDiversifier

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

用于派生 Weave 织物根键的密钥多样符。

此值表示“Fabric 根密钥”的 SHA-1 哈希的前 4 个字节词组。

kWeaveAppIntermediateKeyDiversifier

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

用于派生 Weave 中间密钥的密钥多样符。

此值表示“中间密钥”的 SHA-1 哈希的前 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
)