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)。

Variables

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 應用程式 Epoch 紀元金鑰大小。

kWeaveAppFabricRootKeyDiversifierSize

布料根鍵簡化器大小。

kWeaveAppGroupKeySize

精簡群組金鑰大小。

kWeaveAppGroupMasterKeySize

Weave 應用程式群組主金鑰大小。

kWeaveAppIntermediateKeyDiversifierSize

中繼鍵簡化器大小。

kWeaveAppIntermediateKeySize

Weave 應用程式中繼金鑰大小。

kWeaveAppRootKeySize

編織應用程式根金鑰大小。

kWeaveFabricSecretSize

織布秘密尺寸。

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

Weave 應用程式群組全域 ID (AGGID)。

屬性
kWeaveAppGroupGlobalId_NestHVAC

Nest 空調集團。

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。

Variables

kWeaveAppClientRootKeyDiversifier

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

用於 Weave 用戶端根金鑰衍生作業的金鑰分離器。

這個值代表「用戶端根金鑰」詞組中 SHA-1 HASH 的前 4 個位元組。

kWeaveAppFabricRootKeyDiversifier

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

用於 Weave 織物根鍵衍生的按鍵潛水器。

這個值代表「Fabric Root Key」詞組中 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
)