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

Dieser Namespace umfasst alle Schnittstellen in Weave für die Weave-Anwendungsschlüsselbibliothek im Weave-Sicherheitsprofil.

Zusammenfassung

Aufzählungen

@220{
  kWeaveAppGroupKeySize = 32,
  kWeaveAppRootKeySize = kWeaveAppGroupKeySize,
  kWeaveAppEpochKeySize = kWeaveAppGroupKeySize,
  kWeaveAppGroupMasterKeySize = kWeaveAppGroupKeySize,
  kWeaveAppIntermediateKeySize = kWeaveAppGroupKeySize,
  kWeaveFabricSecretSize = 36,
  kWeaveAppFabricRootKeyDiversifierSize = sizeof(kWeaveAppFabricRootKeyDiversifier),
  kWeaveAppClientRootKeyDiversifierSize = sizeof(kWeaveAppClientRootKeyDiversifier),
  kWeaveAppIntermediateKeyDiversifierSize = sizeof(kWeaveAppIntermediateKeyDiversifier)
}
enum
Weave-Anwendungsschlüssel-Protokoll-Parameterdefinitionen.
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 Application Group Global IDs (AGGID).

Variablen

kWeaveAppClientRootKeyDiversifier = { 0x53, 0xE3, 0xFF, 0xE5 }[]
const uint8_t
Schlüsseldiversifier, der für die Ableitung des Stammschlüssels des Weave-Clients verwendet wird.
kWeaveAppFabricRootKeyDiversifier = { 0x21, 0xFA, 0x8F, 0x6A }[]
const uint8_t
Schlüsseldiversifikator, der für die Ableitung von Weave-Stoff-Wurzelschlüsseln verwendet wird.
kWeaveAppIntermediateKeyDiversifier = { 0xBC, 0xAA, 0x95, 0xAD }[]
const uint8_t
Schlüsseldiversifikator, der für die Zwischenschlüsselableitung von Weave verwendet wird.

Funktionen

GetAppGroupMasterKeyId(uint32_t groupGlobalId, GroupKeyStoreBase *groupKeyStore, uint32_t & groupMasterKeyId)
Ruft die Masterschlüssel-ID der Anwendungsgruppe anhand der globalen ID der Anwendungsgruppe ab.
LogGroupKeys(GroupKeyStoreBase *groupKeyStore)

Klassen

nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase

Die Definition der Weave-Gruppenschlüsselspeicherklasse.

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

Enthält Informationen zu Weave-Anwendungsgruppenschlüsseln.

Aufzählungen

220

 @220

Weave-Anwendungsschlüssel-Protokoll-Parameterdefinitionen.

Attribute
kWeaveAppClientRootKeyDiversifierSize

Größe des Diversifiers des Client-Stammschlüssels.

kWeaveAppEpochKeySize

Schlüsselgröße der Weave-Anwendungsphase.

kWeaveAppFabricRootKeyDiversifierSize

Fabric-Stammschlüssel-Diversifier-Größe.

kWeaveAppGroupKeySize

Weave-Bestandteil der Gruppenschlüsselgröße.

kWeaveAppGroupMasterKeySize

Größe des Hauptschlüssels der Weave-Anwendungsgruppe.

kWeaveAppIntermediateKeyDiversifierSize

Schlüsseldiversifikatorgröße (Zwischengröße).

kWeaveAppIntermediateKeySize

Zwischenschlüsselgröße der Weave-Anwendung.

kWeaveAppRootKeySize

Größe des Weave-Stammschlüssels der Anwendung.

kWeaveFabricSecretSize

Geheimnis der Webstoffgröße.

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

Weave Application Group Global IDs (AGGID).

Attribute
kWeaveAppGroupGlobalId_NestHVAC

Nest HLK-Gruppe.

kWeaveAppGroupGlobalId_NestPhysicalAccess

Globale IDs der Nest Labs-Anwendungsgruppe.

Hinweis:Versuchen Sie nicht, diese Werte selbst zuzuweisen. Diese Werte werden von Nest Labs verwaltet. Bitte stellen Sie eine formelle Anfrage über die „Nest Weave: Nest Application Group“. Global ID Registry“ https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.

kWeaveAppGroupGlobalId_NestSecurityControl

Sicherheits-Kontrollgruppe von Nest.

kWeaveAppGroupGlobalId_NestStructureSecurity

Sicherheitsgruppe des Nest-Gebäudes.

kWeaveAppGroupGlobalId_Unspecified

Globale ID der Anwendungsgruppe ist nicht angegeben.

Variablen

kWeaveAppClientRootKeyDiversifier

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

Schlüsseldiversifier, der für die Ableitung des Stammschlüssels des Weave-Clients verwendet wird.

Dieser Wert stellt die ersten 4 Byte des SHA-1-HASHs von „Client-Stammschlüssel“ dar Wortgruppe.

kWeaveAppFabricRootKeyDiversifier

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

Schlüsseldiversifikator, der für die Ableitung von Weave-Stoff-Wurzelschlüsseln verwendet wird.

Dieser Wert stellt die ersten 4 Byte des SHA-1-HASHs von „Fabric-Root-Schlüssel“ dar Wortgruppe.

kWeaveAppIntermediateKeyDiversifier

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

Schlüsseldiversifikator, der für die Zwischenschlüsselableitung von Weave verwendet wird.

Dieser Wert stellt die ersten 4 Byte des SHA-1 HASH des „Zwischenschlüssels“ dar Wortgruppe.

Funktionen

GetAppGroupMasterKeyId

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

Ruft die Masterschlüssel-ID der Anwendungsgruppe anhand der globalen ID der Anwendungsgruppe ab.

Details
Parameter
[in] groupGlobalId
Die globale ID der Anwendungsgruppe.
[in] groupKeyStore
Ein Verweis auf das Gruppenschlüsselspeicherobjekt.
[out] groupMasterKeyId
Die Masterschlüssel-ID der Anwendungsgruppe.
Rückgabewerte
WEAVE_NO_ERROR
Bei Erfolg.
WEAVE_ERROR_INVALID_ARGUMENT
Wenn kein Zeiger auf den Gruppenschlüsselspeicher angegeben ist.
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
Wenn das FabricState-Objekt nicht mit einem voll funktionsfähigen Gruppenschlüsselspeicher initialisiert wurde.
WEAVE_ERROR_KEY_NOT_FOUND
Wenn im Plattformschlüsselspeicher kein Gruppenschlüssel mit der angegebenen globalen ID gefunden wird.
other
Andere plattformspezifische Fehler, die von den Platform Key Store APIs zurückgegeben werden.

LogGroupKeys

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)