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

Dieser Namespace enthält alle Schnittstellen in Weave für die Weave-Anwendungsschlüsselbibliothek innerhalb des Weave-Sicherheitsprofils.

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
Protokollparameterdefinitionen für Weave-Anwendungsschlüssel
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
Globale IDs der Weave-Anwendungsgruppe (AGGID).

Variablen

kWeaveAppClientRootKeyDiversifier = { 0x53, 0xE3, 0xFF, 0xE5 }[]
const uint8_t
Schlüsseldiversifizierer für die Ableitung des Weave-Client-Stammschlüssels.
kWeaveAppFabricRootKeyDiversifier = { 0x21, 0xFA, 0x8F, 0x6A }[]
const uint8_t
Schlüsseldiversifizierer für die Ableitung des Weave-Fabric-Stammschlüssels.
kWeaveAppIntermediateKeyDiversifier = { 0xBC, 0xAA, 0x95, 0xAD }[]
const uint8_t
Schlüsseldiversifizierer für die Weave-Zwischenschlüsselableitung.

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)

Kurse

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

Protokollparameterdefinitionen für Weave-Anwendungsschlüssel

Attribute
kWeaveAppClientRootKeyDiversifierSize

Größe des Client-Stammschlüssel-Diversifizierers.

kWeaveAppEpochKeySize

Größe des Weave-Anwendungs-Epochenschlüssels.

kWeaveAppFabricRootKeyDiversifierSize

Größe des Fabric-Root-Schlüssel-Diversifizierers.

kWeaveAppGroupKeySize

Schlüsselgröße der einzelnen Weave-Gruppe.

kWeaveAppGroupMasterKeySize

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

kWeaveAppIntermediateKeyDiversifierSize

Größe des Zwischenschlüssels.

kWeaveAppIntermediateKeySize

Zwischenschlüsselgröße der Weave-Anwendung.

kWeaveAppRootKeySize

Größe des Weave-Anwendungsstammschlüssels.

kWeaveFabricSecretSize

Geheime Größe des Webstoffs.

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

Globale IDs der Weave-Anwendungsgruppe (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.Nest Physical Access Group.

kWeaveAppGroupGlobalId_NestSecurityControl

Nest-Sicherheitskontrollgruppe.

kWeaveAppGroupGlobalId_NestStructureSecurity

Nest Structure Security-Gruppe.

kWeaveAppGroupGlobalId_Unspecified

Die globale ID der Anwendungsgruppe ist nicht angegeben.

Variablen

kWeaveAppClientRootKeyDiversifier

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

Schlüsseldiversifizierer für die Ableitung des Weave-Client-Stammschlüssels.

Dieser Wert stellt die ersten 4 Byte des SHA-1-Hash-Werts des „Client Root Key“-Ausdrucks dar.

kWeaveAppFabricRootKeyDiversifier

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

Schlüsseldiversifizierer für die Ableitung des Weave-Fabric-Stammschlüssels.

Dieser Wert stellt die ersten 4 Byte der SHA-1-Hash-Anweisung des „Fabric Root Key“-Ausdrucks dar.

kWeaveAppIntermediateKeyDiversifier

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

Schlüsseldiversifizierer für die Weave-Zwischenschlüsselableitung.

Dieser Wert stellt die ersten 4 Byte des SHA-1 HASH der Wortgruppe „Intermediate Key“ dar.

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 Zeiger 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 Plattformschlüsselspeicher-APIs zurückgegeben werden.

LogGroupKeys

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)