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
รหัสร่วมของกลุ่มแอปพลิเคชัน (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)
รับรหัสคีย์หลักของกลุ่มแอปพลิเคชันตามรหัสส่วนกลางของกลุ่มแอปพลิเคชัน
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

ผสานขนาดคีย์ Epoch ของแอปพลิเคชัน

kWeaveAppFabricRootKeyDiversifierSize

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

kWeaveAppGroupKeySize

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

kWeaveAppGroupMasterKeySize

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

kWeaveAppIntermediateKeyDiversifierSize

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

kWeaveAppIntermediateKeySize

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

kWeaveAppRootKeySize

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

kWeaveFabricSecretSize

ขนาดลับของผ้าทอ

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

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

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

กลุ่ม Nest HVAC

kWeaveAppGroupGlobalId_NestPhysicalAccess

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

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

kWeaveAppGroupGlobalId_NestSecurityControl

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

kWeaveAppGroupGlobalId_NestStructureSecurity

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

kWeaveAppGroupGlobalId_Unspecified

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

ตัวแปร

kWeaveAppClientRootKeyDiversifier

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

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

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

kWeaveAppFabricRootKeyDiversifier

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

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

ค่านี้จะแสดงถึง 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
)