nl::Weave::Profiles::Security::AppKeys

इस नेमस्पेस में, 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

ऐप्लिकेशन epoch कुंजी का साइज़ बदलें.

kWeaveAppFabricRootKeyDiversifierSize

फ़ैब्रिक रूट की डाइवर्सिफ़ायर का साइज़.

kWeaveAppGroupKeySize

ग्रुप कुंजी का साइज़ वीव करें.

kWeaveAppGroupMasterKeySize

ऐप्लिकेशन समूह मास्टर कुंजी का आकार वीव करें.

kWeaveAppIntermediateKeyDiversifierSize

इंटरमीडिएट की डाइवर्सिफ़ायर का साइज़.

kWeaveAppIntermediateKeySize

ऐप्लिकेशन की इंटरमीडिएट कुंजी साइज़ सेट करें.

kWeaveAppRootKeySize

ऐप्लिकेशन रूट कुंजी का आकार मोड़ें.

kWeaveFabricSecretSize

कपड़े का सीक्रेट साइज़ बुनें.

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

Weave ऐप्लिकेशन ग्रुप ग्लोबल आईडी (AGGID).

प्रॉपर्टी
kWeaveAppGroupGlobalId_NestHVAC

Nest एचवीएसी ग्रुप.

kWeaveAppGroupGlobalId_NestPhysicalAccess

Nest Labs ऐप्लिकेशन ग्रुप के ग्लोबल आईडी.

ध्यान दें: इन वैल्यू को खुद तय करने की कोशिश न करें. इन वैल्यू को Nest Labs मैनेज करता है. कृपया "Nest Weave: Nest ऐप्लिकेशन ग्रुप" का इस्तेमाल करके औपचारिक अनुरोध करें ग्लोबल आईडी रजिस्ट्री" https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Nest फ़िज़िकल ऐक्सेस ग्रुप.

kWeaveAppGroupGlobalId_NestSecurityControl

Nest सिक्योरिटी कंट्रोल ग्रुप.

kWeaveAppGroupGlobalId_NestStructureSecurity

Nest स्ट्रक्चर सुरक्षा ग्रुप.

kWeaveAppGroupGlobalId_Unspecified

ऐप्लिकेशन ग्रुप का ग्लोबल आईडी नहीं बताया गया है.

वैरिएबल

kWeaveAppClientRootKeyDiversifier

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

Weave क्लाइंट रूट की डेरिवेशन के लिए इस्तेमाल की जाने वाली की डाइवर्सिफ़ायर.

यह वैल्यू "क्लाइंट रूट कुंजी" के SHA-1 HASH के पहले चार बाइट दिखाती है वाक्यांश.

kWeaveAppFabricRootKeyDiversifier

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

की डाइवर्सिफ़ायर का इस्तेमाल वीव फ़ैब्रिक रूट की डेरिवेशन के लिए किया जाता है.

यह वैल्यू "Fabric Root Key" के SHA-1 HASH के पहले चार बाइट दिखाती है वाक्यांश.

kWeaveAppIntermediateKeyDiversifier

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

मुख्य डाइवर्सिफ़ायर का इस्तेमाल Weave इंटरमीडिएट की डेरिवेशन के लिए किया जाता है.

यह वैल्यू "इंटरमीडिएट की" के SHA-1 HASH की पहली चार बाइट दिखाती है वाक्यांश.

फ़ंक्शन

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
प्लैटफ़ॉर्म के 'की स्टोर' एपीआई से मिलने वाली, प्लैटफ़ॉर्म से जुड़ी अन्य गड़बड़ियां.

LogGroupKeys

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)