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

Questo spazio dei nomi include tutte le interfacce all'interno di Weave per la libreria di chiavi dell'applicazione Weave all'interno del profilo di sicurezza Weave.

Riepilogo

Enumerazioni

@220{
  kWeaveAppGroupKeySize = 32,
  kWeaveAppRootKeySize = kWeaveAppGroupKeySize,
  kWeaveAppEpochKeySize = kWeaveAppGroupKeySize,
  kWeaveAppGroupMasterKeySize = kWeaveAppGroupKeySize,
  kWeaveAppIntermediateKeySize = kWeaveAppGroupKeySize,
  kWeaveFabricSecretSize = 36,
  kWeaveAppFabricRootKeyDiversifierSize = sizeof(kWeaveAppFabricRootKeyDiversifier),
  kWeaveAppClientRootKeyDiversifierSize = sizeof(kWeaveAppClientRootKeyDiversifier),
  kWeaveAppIntermediateKeyDiversifierSize = sizeof(kWeaveAppIntermediateKeyDiversifier)
}
enum
Definizioni dei parametri del protocollo delle chiavi di applicazione Weave.
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
ID globali del gruppo di applicazioni Weave (AGGID).

Variabili

kWeaveAppClientRootKeyDiversifier = { 0x53, 0xE3, 0xFF, 0xE5 }[]
const uint8_t
Diversificatore chiave utilizzato per la derivazione della chiave radice del client Weave.
kWeaveAppFabricRootKeyDiversifier = { 0x21, 0xFA, 0x8F, 0x6A }[]
const uint8_t
diversificatore chiave utilizzato per la derivazione della chiave radice del fabric Weave.
kWeaveAppIntermediateKeyDiversifier = { 0xBC, 0xAA, 0x95, 0xAD }[]
const uint8_t
diversificatore chiave utilizzato per la derivazione di chiavi intermedie Weave.

Funzioni

GetAppGroupMasterKeyId(uint32_t groupGlobalId, GroupKeyStoreBase *groupKeyStore, uint32_t & groupMasterKeyId)
Ottieni l'ID chiave master del gruppo di applicazioni specificato l'ID globale del gruppo di applicazioni.
LogGroupKeys(GroupKeyStoreBase *groupKeyStore)

Corsi

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

La definizione della classe di archivio chiavi del gruppo Weave.

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

Contiene informazioni sulle chiavi del gruppo di applicazioni Weave.

Enumerazioni

@220

 @220

Definizioni dei parametri del protocollo delle chiavi di applicazione Weave.

Proprietà
kWeaveAppClientRootKeyDiversifierSize

Dimensione diversificatore chiave radice client.

kWeaveAppEpochKeySize

Dimensioni della chiave del periodo dell'applicazione Weave.

kWeaveAppFabricRootKeyDiversifierSize

Dimensione del diversificatore chiave radice del fabric.

kWeaveAppGroupKeySize

Dimensioni della chiave del gruppo dei componenti Weave.

kWeaveAppGroupMasterKeySize

Dimensioni della chiave master del gruppo di applicazioni Weave.

kWeaveAppIntermediateKeyDiversifierSize

Dimensione del diversificatore chiave intermedio.

kWeaveAppIntermediateKeySize

Dimensione della chiave intermedia dell'applicazione Weave.

kWeaveAppRootKeySize

Dimensioni della chiave radice dell'applicazione Weave.

kWeaveFabricSecretSize

Dimensione secret del fabric Weave.

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

ID globali del gruppo di applicazioni Weave (AGGID).

Proprietà
kWeaveAppGroupGlobalId_NestHVAC

Gruppo di climatizzazione Nest.

kWeaveAppGroupGlobalId_NestPhysicalAccess

ID globali del gruppo di applicazioni Nest Labs.

Nota:non tentare di assegnare questi valori autonomamente. Questi valori sono gestiti da Nest Labs. Presenta una richiesta formale utilizzando il "Registro ID globale di Nest Weave: Nest Application Group" https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Nest Physical Access Group.

kWeaveAppGroupGlobalId_NestSecurityControl

Gruppo di controllo di sicurezza Nest.

kWeaveAppGroupGlobalId_NestStructureSecurity

Gruppo di sicurezza della struttura Nest.

kWeaveAppGroupGlobalId_Unspecified

L'ID globale del gruppo di applicazioni non è specificato.

Variabili

kWeaveAppClientRootKeyDiversifier

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

Diversificatore chiave utilizzato per la derivazione della chiave radice del client Weave.

Questo valore rappresenta i primi 4 byte dell'HASH SHA-1 della frase "Chiave radice client".

kWeaveAppFabricRootKeyDiversifier

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

diversificatore chiave utilizzato per la derivazione della chiave radice del fabric Weave.

Questo valore rappresenta i primi 4 byte dell'HASH SHA-1 della frase "Fabric Root Key".

kWeaveAppIntermediateKeyDiversifier

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

diversificatore chiave utilizzato per la derivazione di chiavi intermedie Weave.

Questo valore rappresenta i primi 4 byte dell'HASH SHA-1 della frase "Chiave intermedia".

Funzioni

GetAppGroupMasterKeyId

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

Ottieni l'ID chiave master del gruppo di applicazioni specificato l'ID globale del gruppo di applicazioni.

Dettagli
Parametri
[in] groupGlobalId
L'ID globale del gruppo di applicazioni.
[in] groupKeyStore
Un puntatore all'oggetto archivio chiavi del gruppo.
[out] groupMasterKeyId
L'ID chiave master del gruppo di applicazioni.
Valori restituiti
WEAVE_NO_ERROR
In caso di successo.
WEAVE_ERROR_INVALID_ARGUMENT
Se il puntatore all'archivio chiavi del gruppo non è fornito.
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
Se l'oggetto FabricState non è stato inizializzato con un archivio chiavi di gruppo completamente funzionale.
WEAVE_ERROR_KEY_NOT_FOUND
Se una chiave di gruppo con l'ID globale specificato non viene trovata nell'archivio chiavi della piattaforma.
other
Altri errori specifici della piattaforma restituiti dalle API dell'archivio chiavi della piattaforma.

LogGroupKeys

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)