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

Este espacio de nombres incluye todas las interfaces dentro de Weave para la biblioteca de claves de aplicación de Weave dentro del perfil de seguridad de Weave.

Resumen

Enumeraciones

@220{
  kWeaveAppGroupKeySize = 32,
  kWeaveAppRootKeySize = kWeaveAppGroupKeySize,
  kWeaveAppEpochKeySize = kWeaveAppGroupKeySize,
  kWeaveAppGroupMasterKeySize = kWeaveAppGroupKeySize,
  kWeaveAppIntermediateKeySize = kWeaveAppGroupKeySize,
  kWeaveFabricSecretSize = 36,
  kWeaveAppFabricRootKeyDiversifierSize = sizeof(kWeaveAppFabricRootKeyDiversifier),
  kWeaveAppClientRootKeyDiversifierSize = sizeof(kWeaveAppClientRootKeyDiversifier),
  kWeaveAppIntermediateKeyDiversifierSize = sizeof(kWeaveAppIntermediateKeyDiversifier)
}
enum
Teje las definiciones de parámetros de protocolo de claves de aplicación.
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
IDs globales de grupos de aplicaciones de Weave (AGGID).

Variables

kWeaveAppClientRootKeyDiversifier = { 0x53, 0xE3, 0xFF, 0xE5 }[]
const uint8_t
Diversificador de claves que se usa para la derivación de claves raíz del cliente de Weave.
kWeaveAppFabricRootKeyDiversifier = { 0x21, 0xFA, 0x8F, 0x6A }[]
const uint8_t
Diversificador de claves que se usa para la derivación de claves de raíz de tejido de Weave.
kWeaveAppIntermediateKeyDiversifier = { 0xBC, 0xAA, 0x95, 0xAD }[]
const uint8_t
Diversificador de claves que se usa para la derivación de claves intermedias de Weave.

Funciones

GetAppGroupMasterKeyId(uint32_t groupGlobalId, GroupKeyStoreBase *groupKeyStore, uint32_t & groupMasterKeyId)
Obtiene el ID de clave maestra del grupo de aplicaciones determinado ID global del grupo de aplicaciones.
LogGroupKeys(GroupKeyStoreBase *groupKeyStore)

Clases

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

La definición de la clase de almacén de claves del grupo de Weave.

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

Contiene información sobre las claves de grupo de aplicaciones de Weave.

Enumeraciones

@220

 @220

Teje las definiciones de parámetros de protocolo de claves de aplicación.

Propiedades
kWeaveAppClientRootKeyDiversifierSize

Tamaño del diversificador de clave raíz del cliente

kWeaveAppEpochKeySize

Tamaño de la clave de ciclo de entrenamiento de la aplicación de Weave.

kWeaveAppFabricRootKeyDiversifierSize

Tamaño del diversificador de la clave raíz de Fabric.

kWeaveAppGroupKeySize

Tamaño de la clave del grupo constituyente de Weave.

kWeaveAppGroupMasterKeySize

Tamaño de la clave maestra del grupo de aplicaciones de Weave.

kWeaveAppIntermediateKeyDiversifierSize

Tamaño del diversificador de clave intermedio.

kWeaveAppIntermediateKeySize

Tamaño de la clave intermedia de la aplicación de Weave.

kWeaveAppRootKeySize

Tamaño de la clave raíz de la aplicación de Weave.

kWeaveFabricSecretSize

Tejido con el tamaño secreto.

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

IDs globales de grupos de aplicaciones de Weave (AGGID).

Propiedades
kWeaveAppGroupGlobalId_NestHVAC

Grupo de HVAC de Nest.

kWeaveAppGroupGlobalId_NestPhysicalAccess

IDs globales del grupo de aplicaciones de Nest Labs.

Nota: No intentes asignar estos valores por tu cuenta. Nest Labs administra estos valores. Realiza una solicitud formal usando el permiso "Nest Weave: Nest Application Group Global ID Registry" https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Grupo de acceso físico de Nest.

kWeaveAppGroupGlobalId_NestSecurityControl

Grupo de control de seguridad de Nest.

kWeaveAppGroupGlobalId_NestStructureSecurity

Grupo de seguridad de la estructura Nest.

kWeaveAppGroupGlobalId_Unspecified

No se especificó el ID global del grupo de aplicaciones.

Variables

kWeaveAppClientRootKeyDiversifier

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

Diversificador de claves que se usa para la derivación de claves raíz del cliente de Weave.

Este valor representa los 4 primeros bytes del HASH SHA-1 de la “clave raíz del cliente”. frase.

kWeaveAppFabricRootKeyDiversifier

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

Diversificador de claves que se usa para la derivación de claves de raíz de tejido de Weave.

Este valor representa los primeros 4 bytes del HASH SHA-1 de “clave raíz de Fabric” frase.

kWeaveAppIntermediateKeyDiversifier

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

Diversificador de claves que se usa para la derivación de claves intermedias de Weave.

Este valor representa los primeros 4 bytes del HASH SHA-1 de la “clave intermedia” frase.

Funciones

GetAppGroupMasterKeyId

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

Obtiene el ID de clave maestra del grupo de aplicaciones determinado ID global del grupo de aplicaciones.

Detalles
Parámetros
[in] groupGlobalId
El ID global del grupo de aplicaciones.
[in] groupKeyStore
Un puntero al objeto del almacén de claves del grupo.
[out] groupMasterKeyId
El ID de la clave maestra del grupo de aplicaciones.
Valores de retorno
WEAVE_NO_ERROR
Si tiene éxito.
WEAVE_ERROR_INVALID_ARGUMENT
Si no se proporciona un puntero al almacén de claves del grupo.
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
Si el objeto FabricState no se inicializó con un almacén de claves de grupo completamente funcional.
WEAVE_ERROR_KEY_NOT_FOUND
Si no se encuentra una clave de grupo con un ID global especificado en el almacén de claves de la plataforma.
other
Otros errores específicos de la plataforma que muestran las APIs de la tienda de claves de la plataforma

LogGroupKeys

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)