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

Este espacio de nombres incluye todas las interfaces de Weave para la biblioteca de claves de aplicaciones 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 del grupo de aplicaciones de Weave (AGGID).

Variables

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

remotas

GetAppGroupMasterKeyId(uint32_t groupGlobalId, GroupKeyStoreBase *groupKeyStore, uint32_t & groupMasterKeyId)
Obtén el ID de la clave maestra del grupo de aplicaciones determinado con el ID global del grupo de aplicaciones.
LogGroupKeys(GroupKeyStoreBase *groupKeyStore)

Clases

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

Es 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 grupos 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 la clave raíz del cliente.

kWeaveAppEpochKeySize

Tamaño de la clave de época de la aplicación de Weave.

kWeaveAppFabricRootKeyDiversifierSize

Tamaño del diversificador de claves raíz de Fabric

kWeaveAppGroupKeySize

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

kWeaveAppGroupMasterKeySize

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

kWeaveAppIntermediateKeyDiversifierSize

Tamaño del diversificador de claves intermedio.

kWeaveAppIntermediateKeySize

Tamaño de clave intermedio de aplicación de Weave

kWeaveAppRootKeySize

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

kWeaveFabricSecretSize

Tamaño secreto de la tela tejido.

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

IDs globales del grupo de aplicaciones de Weave (AGGID).

Propiedades
kWeaveAppGroupGlobalId_NestHVAC

Grupo de HVAC de Nest.

kWeaveAppGroupGlobalId_NestPhysicalAccess

ID 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 a través del "Registro de ID global del grupo de aplicaciones de Nest: Nest Weave" https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Nest Physical Access Group.

kWeaveAppGroupGlobalId_NestSecurityControl

Grupo de control de seguridad de Nest.

kWeaveAppGroupGlobalId_NestStructureSecurity

Grupo de Seguridad de la Estructura de 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 utilizado para la derivación de claves raíz de clientes de Weave.

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

kWeaveAppFabricRootKeyDiversifier

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

Divisor de claves que se usa para la derivación de claves raíz de tejidos de Weave.

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

kWeaveAppIntermediateKeyDiversifier

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

Diversificador de claves usado para la derivación intermedia de claves de Weave.

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

remotas

GetAppGroupMasterKeyId

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

Obtén el ID de la clave maestra del grupo de aplicaciones determinado con el ID global del grupo de aplicaciones.

Detalles
Parámetros
[in] groupGlobalId
El ID global del grupo de aplicaciones.
[in] groupKeyStore
Un puntero para el objeto del almacén de claves del grupo.
[out] groupMasterKeyId
El ID de la clave maestra del grupo de aplicaciones.
Valores que se muestran
WEAVE_NO_ERROR
Si la operación es exitosa.
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 una clave de grupo con un ID global especificado no se encuentra en el almacén de claves de la plataforma.
other
Otros errores específicos de la plataforma que muestran las APIs del almacén de claves de la plataforma.

LogGroupKeys

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)