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)
}
列舉
武器應用程式金鑰通訊協定參數定義。
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 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

武器應用程式金鑰通訊協定參數定義。

屬性
kWeaveAppClientRootKeyDiversifierSize

用戶端根金鑰擴散器大小。

kWeaveAppEpochKeySize

Weave 應用程式 Epoch 金鑰大小。

kWeaveAppFabricRootKeyDiversifierSize

布面根金鑰分界器大小。

kWeaveAppGroupKeySize

編織組成群組金鑰大小。

kWeaveAppGroupMasterKeySize

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

kWeaveAppIntermediateKeyDiversifierSize

中間鍵分隔符大小。

kWeaveAppIntermediateKeySize

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

kWeaveAppRootKeySize

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

kWeaveFabricSecretSize

織布密鑰大小。

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

Weave Application Group Global ID (AGGID)。

屬性
kWeaveAppGroupGlobalId_NestHVAC

Nest 空調群組。

kWeaveAppGroupGlobalId_NestPhysicalAccess

Nest Labs 應用程式群組全域 ID。

注意:請勿嘗試自行分配這些值。這些值是由 Nest Labs 管理。請使用「Nest Weave:Nest 應用程式群組」提出正式要求 Global ID Registry」https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Nest Physical Access Group。

kWeaveAppGroupGlobalId_NestSecurityControl

Nest 安全性控制組。

kWeaveAppGroupGlobalId_NestStructureSecurity

Nest 結構體安全性群組。

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 布料根金鑰衍生的鍵盤分流器。

這個值代表「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
)