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
สานคำจำกัดความพารามิเตอร์โปรโตคอลของคีย์แอปพลิเคชัน
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 (AGGID)

ตัวแปร

kWeaveAppClientRootKeyDiversifier = { 0x53, 0xE3, 0xFF, 0xE5 }[]
const uint8_t
ตัวกระจายคีย์ที่ใช้สำหรับการระบุแหล่งที่มาคีย์รูทของไคลเอ็นต์ Weave
kWeaveAppFabricRootKeyDiversifier = { 0x21, 0xFA, 0x8F, 0x6A }[]
const uint8_t
ตัวกระจายสัญญาณคีย์ที่ใช้สำหรับคีย์รูทของผ้าถัก
kWeaveAppIntermediateKeyDiversifier = { 0xBC, 0xAA, 0x95, 0xAD }[]
const uint8_t
ตัวกระจายคีย์ที่ใช้สำหรับการสร้างคีย์กลางของ Weave

ฟังก์ชัน

GetAppGroupMasterKeyId(uint32_t groupGlobalId, GroupKeyStoreBase *groupKeyStore, uint32_t & groupMasterKeyId)
รับรหัสคีย์ต้นแบบของกลุ่มแอปพลิเคชันที่ระบุรหัสส่วนกลางของกลุ่มแอปพลิเคชัน
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

kWeaveAppFabricRootKeyDiversifierSize

ขนาดความหลากหลายของคีย์รูทของ Fabric

kWeaveAppGroupKeySize

รวมขนาดคีย์กลุ่มส่วนประกอบ

kWeaveAppGroupMasterKeySize

ขนาดคีย์หลักของกลุ่มแอปพลิเคชัน Weave

kWeaveAppIntermediateKeyDiversifierSize

ขนาดตัวกระจายคีย์ระดับกลาง

kWeaveAppIntermediateKeySize

ขนาดคีย์กลางของแอปพลิเคชัน Weave

kWeaveAppRootKeySize

ขนาดคีย์รูทของแอปพลิเคชัน Weave

kWeaveFabricSecretSize

ความลับของเนื้อผ้าสาน

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

รหัสส่วนกลางของกลุ่มแอปพลิเคชัน Weave (AGGID)

พร็อพเพอร์ตี้
kWeaveAppGroupGlobalId_NestHVAC

กลุ่มระบบปรับอากาศ (HVAC) ของ Nest

kWeaveAppGroupGlobalId_NestPhysicalAccess

รหัสส่วนกลางของกลุ่มแอปพลิเคชัน Nest Labs

หมายเหตุ: อย่าพยายามจัดสรรค่าเหล่านี้ด้วยตนเอง ค่าเหล่านี้อยู่ภายใต้การดูแลระบบของ Nest Labs โปรดส่งคำขออย่างเป็นทางการโดยใช้ "Nest Weave: กลุ่มแอปพลิเคชัน Nest" รีจิสทรีรหัสทั่วโลก" https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Nest Physical Access Group

kWeaveAppGroupGlobalId_NestSecurityControl

กลุ่มควบคุมความปลอดภัยของ Nest

kWeaveAppGroupGlobalId_NestStructureSecurity

กลุ่มความปลอดภัยของโครงสร้าง Nest

kWeaveAppGroupGlobalId_Unspecified

ไม่ได้ระบุ Global ID ของกลุ่มแอปพลิเคชัน

ตัวแปร

kWeaveAppClientRootKeyDiversifier

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

ตัวกระจายคีย์ที่ใช้สำหรับการระบุแหล่งที่มาคีย์รูทของไคลเอ็นต์ Weave

ค่านี้แสดง 4 ไบต์แรกของ SHA-1 HASH ของ "คีย์รูทของไคลเอ็นต์" วลี

kWeaveAppFabricRootKeyDiversifier

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

ตัวกระจายสัญญาณคีย์ที่ใช้สำหรับคีย์รูทของผ้าถัก

ค่านี้แสดง 4 ไบต์แรกของ SHA-1 HASH ของ "Fabric Root Key" วลี

kWeaveAppIntermediateKeyDiversifier

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

ตัวกระจายคีย์ที่ใช้สำหรับการสร้างคีย์กลางของ Weave

ค่านี้แสดง 4 ไบต์แรกของ SHA-1 HASH ของ "Intermediate Key" วลี

ฟังก์ชัน

GetAppGroupMasterKeyId

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

รับรหัสคีย์ต้นแบบของกลุ่มแอปพลิเคชันที่ระบุรหัสส่วนกลางของกลุ่มแอปพลิเคชัน

รายละเอียด
พารามิเตอร์
[in] groupGlobalId
รหัสส่วนกลางของกลุ่มแอปพลิเคชัน
[in] groupKeyStore
ตัวชี้ไปยังออบเจ็กต์แหล่งเก็บคีย์ของกลุ่ม
[out] groupMasterKeyId
รหัสคีย์มาสเตอร์ของกลุ่มแอปพลิเคชัน
ผลลัพธ์
WEAVE_NO_ERROR
สำเร็จแล้ว
WEAVE_ERROR_INVALID_ARGUMENT
หากไม่ได้ระบุตัวชี้ไปยังคีย์สโตร์
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
หากออบเจ็กต์ FabricState ไม่ได้เริ่มต้นใช้งานด้วยที่เก็บคีย์แบบกลุ่มที่ทำงานได้อย่างสมบูรณ์
WEAVE_ERROR_KEY_NOT_FOUND
หากไม่พบคีย์กลุ่มที่มีรหัสส่วนกลางที่ระบุในแหล่งเก็บคีย์แพลตฟอร์ม
other
ข้อผิดพลาดอื่นๆ เฉพาะแพลตฟอร์มที่แสดงผลโดย API ของแหล่งเก็บคีย์แพลตฟอร์ม

LogGroupKeys

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)