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

Esse namespace inclui todas as interfaces no Weave para a biblioteca de chaves de aplicativo do Weave dentro do perfil de segurança do Weave.

Resumo

Enumerações

@220{
  kWeaveAppGroupKeySize = 32,
  kWeaveAppRootKeySize = kWeaveAppGroupKeySize,
  kWeaveAppEpochKeySize = kWeaveAppGroupKeySize,
  kWeaveAppGroupMasterKeySize = kWeaveAppGroupKeySize,
  kWeaveAppIntermediateKeySize = kWeaveAppGroupKeySize,
  kWeaveFabricSecretSize = 36,
  kWeaveAppFabricRootKeyDiversifierSize = sizeof(kWeaveAppFabricRootKeyDiversifier),
  kWeaveAppClientRootKeyDiversifierSize = sizeof(kWeaveAppClientRootKeyDiversifier),
  kWeaveAppIntermediateKeyDiversifierSize = sizeof(kWeaveAppIntermediateKeyDiversifier)
}
enum
Definições de parâmetros do protocolo de chaves de aplicativo do 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
IDs globais do grupo de aplicativos do Weave (AGGID).

Variáveis

kWeaveAppClientRootKeyDiversifier = { 0x53, 0xE3, 0xFF, 0xE5 }[]
const uint8_t
Diversificador de chave usado para derivação de chave raiz de cliente do Weave.
kWeaveAppFabricRootKeyDiversifier = { 0x21, 0xFA, 0x8F, 0x6A }[]
const uint8_t
Diversificador principal usado para derivação de chave raiz de tecido do Weave.
kWeaveAppIntermediateKeyDiversifier = { 0xBC, 0xAA, 0x95, 0xAD }[]
const uint8_t
Diversificador de chave usado para derivação de chaves intermediárias do Weave.

Funções

GetAppGroupMasterKeyId(uint32_t groupGlobalId, GroupKeyStoreBase *groupKeyStore, uint32_t & groupMasterKeyId)
Recebe o ID da chave mestra do grupo de aplicativos conforme o ID global do grupo de aplicativos.
LogGroupKeys(GroupKeyStoreBase *groupKeyStore)

Classes

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

A definição da classe de armazenamento de chaves do grupo do Weave.

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

Contém informações sobre as chaves do grupo do aplicativo Weave.

Enumerações

a 220

 @220

Definições de parâmetros do protocolo de chaves de aplicativo do Weave.

Propriedades
kWeaveAppClientRootKeyDiversifierSize

Tamanho do diversificador da chave raiz do cliente.

kWeaveAppEpochKeySize

Tamanho da chave da época do aplicativo do Weave.

kWeaveAppFabricRootKeyDiversifierSize

Tamanho do diversificador da chave raiz do Fabric.

kWeaveAppGroupKeySize

Crie o tamanho da chave do grupo constituinte.

kWeaveAppGroupMasterKeySize

Tamanho da chave mestra do grupo de aplicativos do Weave.

kWeaveAppIntermediateKeyDiversifierSize

Tamanho intermediário do diversificador da chave.

kWeaveAppIntermediateKeySize

Tamanho de chave intermediário do aplicativo do Weave.

kWeaveAppRootKeySize

Tamanho da chave raiz do aplicativo do Weave.

kWeaveFabricSecretSize

Tamanho do secret do tecido.

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

IDs globais do grupo de aplicativos do Weave (AGGID).

Propriedades
kWeaveAppGroupGlobalId_NestHVAC

Grupo AVAC (aquecimento, ventilação e ar-condicionado) do Nest.

kWeaveAppGroupGlobalId_NestPhysicalAccess

IDs globais do grupo de aplicativos do Nest Labs.

Observação:não tente alocar esses valores por conta própria. Esses valores estão sendo administrados pela Nest Labs. Faça uma solicitação formal usando o "Nest Weave: grupo de aplicativos Nest" Registro de Identificação Global" https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Grupo de acesso físico do Nest.

kWeaveAppGroupGlobalId_NestSecurityControl

Grupo de controle de segurança do Nest.

kWeaveAppGroupGlobalId_NestStructureSecurity

Grupo de segurança da estrutura Nest.

kWeaveAppGroupGlobalId_Unspecified

O ID global do grupo de aplicativos não foi especificado.

Variáveis

kWeaveAppClientRootKeyDiversifier

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

Diversificador de chave usado para derivação de chave raiz de cliente do Weave.

Esse valor representa os primeiros 4 bytes do SHA-1 HASH da "Chave raiz do cliente" frase

kWeaveAppFabricRootKeyDiversifier

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

Diversificador principal usado para derivação de chave raiz de tecido do Weave.

Esse valor representa os primeiros 4 bytes do SHA-1 HASH de "Fabric Root Key" frase

kWeaveAppIntermediateKeyDiversifier

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

Diversificador de chave usado para derivação de chaves intermediárias do Weave.

Esse valor representa os primeiros 4 bytes do SHA-1 HASH da "Chave intermediária" frase

Funções

GetAppGroupMasterKeyId

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

Recebe o ID da chave mestra do grupo de aplicativos conforme o ID global do grupo de aplicativos.

Detalhes
Parâmetros
[in] groupGlobalId
O ID global do grupo de aplicativos.
[in] groupKeyStore
Um ponteiro para o objeto de armazenamento de chaves de grupo.
[out] groupMasterKeyId
O ID da chave mestra do grupo de aplicativos.
Valores de retorno
WEAVE_NO_ERROR
Se a operação for bem-sucedida.
WEAVE_ERROR_INVALID_ARGUMENT
Se o ponteiro para o armazenamento de chaves de grupo não for fornecido.
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
Se o objeto FabricState não tiver sido inicializado com o repositório de chaves de grupo totalmente funcional.
WEAVE_ERROR_KEY_NOT_FOUND
Se uma chave de grupo com o ID global especificado não for encontrada no repositório de chaves da plataforma.
other
Outros erros específicos da plataforma retornados pelas APIs de armazenamento de chaves da plataforma.

LogGroupKeys

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)