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

Cet espace de noms inclut toutes les interfaces de Weave pour la bibliothèque de clés d'application Weave dans le profil de sécurité Weave.

Résumé

Énumérations

@220{
  kWeaveAppGroupKeySize = 32,
  kWeaveAppRootKeySize = kWeaveAppGroupKeySize,
  kWeaveAppEpochKeySize = kWeaveAppGroupKeySize,
  kWeaveAppGroupMasterKeySize = kWeaveAppGroupKeySize,
  kWeaveAppIntermediateKeySize = kWeaveAppGroupKeySize,
  kWeaveFabricSecretSize = 36,
  kWeaveAppFabricRootKeyDiversifierSize = sizeof(kWeaveAppFabricRootKeyDiversifier),
  kWeaveAppClientRootKeyDiversifierSize = sizeof(kWeaveAppClientRootKeyDiversifier),
  kWeaveAppIntermediateKeyDiversifierSize = sizeof(kWeaveAppIntermediateKeyDiversifier)
}
enum
Définitions des paramètres du protocole des clés d'application 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 globaux de groupe d'applications Weave (AGGID).

Variables

kWeaveAppClientRootKeyDiversifier = { 0x53, 0xE3, 0xFF, 0xE5 }[]
const uint8_t
Diversificateur de clé utilisé pour la dérivation des clés racine du client Weave.
kWeaveAppFabricRootKeyDiversifier = { 0x21, 0xFA, 0x8F, 0x6A }[]
const uint8_t
diversificateur de clé utilisé pour la dérivation des clés racines du tissu Weave.
kWeaveAppIntermediateKeyDiversifier = { 0xBC, 0xAA, 0x95, 0xAD }[]
const uint8_t
Diversificateur de clé utilisé pour la dérivation des clés intermédiaires pour Weave.

distantes

GetAppGroupMasterKeyId(uint32_t groupGlobalId, GroupKeyStoreBase *groupKeyStore, uint32_t & groupMasterKeyId)
Obtenir l'ID de clé principale du groupe d'applications en fonction de l'ID global du groupe d'applications.
LogGroupKeys(GroupKeyStoreBase *groupKeyStore)

Classes

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

Définition de la classe de magasin de clés du groupe Weave.

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

Contient des informations sur les clés de groupe d'applications Weave.

Énumérations

@220

 @220

Définitions des paramètres du protocole des clés d'application Weave.

Propriétés
kWeaveAppClientRootKeyDiversifierSize

Taille du diversificateur de clé racine du client.

kWeaveAppEpochKeySize

Taille de la clé epoch de l'application Weave.

kWeaveAppFabricRootKeyDiversifierSize

Taille du diversificateur de clé racine Fabric.

kWeaveAppGroupKeySize

Taille de la clé du groupe des composants Weave.

kWeaveAppGroupMasterKeySize

Taille de la clé principale du groupe d'applications Weave.

kWeaveAppIntermediateKeyDiversifierSize

Taille du diversificateur de clé intermédiaire.

kWeaveAppIntermediateKeySize

Taille de la clé intermédiaire de l'application Weave.

kWeaveAppRootKeySize

Taille de la clé racine de l'application Weave.

kWeaveFabricSecretSize

Taille secrète du tissu tissé.

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

ID globaux de groupe d'applications Weave (AGGID).

Propriétés
kWeaveAppGroupGlobalId_NestHVAC

Groupe CVC Nest.

kWeaveAppGroupGlobalId_NestPhysicalAccess

ID globaux du groupe d'applications Nest Labs.

Remarque:N'essayez pas d'attribuer ces valeurs vous-même. Ces valeurs sont gérées par Nest Labs. Veuillez envoyer une demande formelle à l'aide du registre "Nest Weave: Nest Application Group Global ID Registry" https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Nest Physical Access Group.

kWeaveAppGroupGlobalId_NestSecurityControl

Groupe de contrôle de la sécurité Nest.

kWeaveAppGroupGlobalId_NestStructureSecurity

Groupe de sécurité de la structure Nest.

kWeaveAppGroupGlobalId_Unspecified

L'ID global du groupe d'applications n'est pas spécifié.

Variables

kWeaveAppClientRootKeyDiversifier

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

Diversificateur de clé utilisé pour la dérivation des clés racine du client Weave.

Cette valeur représente les quatre premiers octets du hachage SHA-1 de la phrase "Clé racine du client".

kWeaveAppFabricRootKeyDiversifier

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

diversificateur de clé utilisé pour la dérivation des clés racines du tissu Weave.

Cette valeur représente les quatre premiers octets de la fonction HASH SHA-1 de la phrase "Fabric Root Key".

kWeaveAppIntermediateKeyDiversifier

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

Diversificateur de clé utilisé pour la dérivation des clés intermédiaires pour Weave.

Cette valeur représente les quatre premiers octets du hachage SHA-1 de l'expression "clé intermédiaire".

distantes

GetAppGroupMasterKeyId

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

Obtenir l'ID de clé principale du groupe d'applications en fonction de l'ID global du groupe d'applications.

Détails
Paramètres
[in] groupGlobalId
ID global du groupe d'applications.
[in] groupKeyStore
Pointeur vers l'objet keystore de groupe.
[out] groupMasterKeyId
ID de la clé principale du groupe d'applications.
Valeurs de retour
WEAVE_NO_ERROR
Pour la réussite.
WEAVE_ERROR_INVALID_ARGUMENT
Si aucun pointeur vers le magasin de clés de groupe n'est fourni.
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
Si l'objet FabricState n'a pas été initialisé avec un magasin de clés de groupe entièrement fonctionnel.
WEAVE_ERROR_KEY_NOT_FOUND
Si une clé de groupe avec l'ID global spécifié est introuvable dans le magasin de clés de la plate-forme.
other
Autres erreurs spécifiques à la plate-forme renvoyées par les API du keystore de la plate-forme

LogGroupKeys

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)