nl::Weave::WeaveKeyId

#include <src/lib/core/WeaveKeyIds.h>

A definição do identificador Weave Key.

Resumo

Esta classe contém tipos de chave, flags de chave, definição de campos de ID de chave e funções de API.

Tipos públicos

@52{
  kType_None = 0x00000000,
  kType_General = 0x00001000,
  kType_Session = 0x00002000,
  kType_AppStaticKey = 0x00004000,
  kType_AppRotatingKey = kType_AppStaticKey | kTypeModifier_IncorporatesEpochKey,
  kType_AppRootKey = 0x00010000,
  kType_AppEpochKey = 0x00020000 | kTypeModifier_IncorporatesEpochKey,
  kType_AppGroupMasterKey = 0x00030000,
  kType_AppIntermediateKey = kType_AppRootKey | kTypeModifier_IncorporatesEpochKey,
  kNone = kType_None | 0x0000,
  kFabricSecret = kType_General | 0x0001,
  kFabricRootKey = kType_AppRootKey | (0 << kShift_RootKeyNumber),
  kClientRootKey = kType_AppRootKey | (1 << kShift_RootKeyNumber),
  kServiceRootKey = kType_AppRootKey | (2 << kShift_RootKeyNumber),
  kKeyNumber_Max = kMask_KeyNumber
}
enum
Campos, sinalizações e tipos de ID da chave pública do Weave.

Funções estáticas públicas

ConvertToCurrentAppKeyId(uint32_t keyId)
uint32_t
Converter o ID da chave de grupo de aplicativos no ID da chave atual do aplicativo.
ConvertToStaticAppKeyId(uint32_t keyId)
uint32_t
Converta o ID da chave do aplicativo em um ID da chave estática.
DescribeKey(uint32_t keyId)
const char *
Decodifique um identificador de chave Weave com uma string descritiva.
GetAppGroupLocalNumber(uint32_t keyId)
uint8_t
Acessar o número local do grupo de aplicativos usado para derivar a chave de aplicativo especificada.
GetAppGroupMasterKeyId(uint32_t keyId)
uint32_t
Receber o ID da chave mestra do grupo de aplicativos usado para derivar a chave de aplicativo especificada.
GetEpochKeyId(uint32_t keyId)
uint32_t
Acessar ID da chave de época do grupo de aplicativos que foi usado para derivar a chave de aplicativo especificada.
GetEpochKeyNumber(uint32_t keyId)
uint8_t
Acessar o número da chave de época do grupo de aplicativos que foi usado para derivar a chave de aplicativo especificada.
GetRootKeyId(uint32_t keyId)
uint32_t
Recebe o ID da chave raiz do grupo de aplicativos que foi usado para derivar a chave de aplicativo especificada.
GetRootKeyNumber(uint32_t keyId)
uint8_t
Acessar número da chave raiz do grupo de aplicativos que foi usado para derivar a chave de aplicativo especificada.
GetType(uint32_t keyId)
uint32_t
Acessa o tipo de chave Weave do ID de chave especificado.
IncorporatesAppGroupMasterKey(uint32_t keyId)
bool
Determine se o ID da chave do grupo de aplicativos especificado incorpora a chave mestra do grupo.
IncorporatesEpochKey(uint32_t keyId)
bool
Determine se o ID da chave do grupo de aplicativos especificado incorpora a chave de época.
IncorporatesRootKey(uint32_t keyId)
bool
Determine se o ID da chave do grupo de aplicativos especificado incorpora uma chave raiz.
IsAppEpochKey(uint32_t keyId)
bool
Determine se o ID da chave especificado é de um tipo de chave da época do aplicativo.
IsAppGroupKey(uint32_t keyId)
bool
Determine se o ID da chave especificado pertence a um dos tipos de chave do grupo de aplicativos (estática ou rotativa).
IsAppGroupMasterKey(uint32_t keyId)
bool
Determine se o ID da chave especificado é de um tipo de chave mestra do grupo de aplicativos.
IsAppRootKey(uint32_t keyId)
bool
Determine se o ID da chave especificado é de um tipo de chave raiz do aplicativo.
IsAppRotatingKey(uint32_t keyId)
bool
Determine se o ID da chave especificado é de um tipo de rotação de aplicativo.
IsAppStaticKey(uint32_t keyId)
bool
Determine se o ID da chave especificado é de um tipo estático de aplicativo.
IsGeneralKey(uint32_t keyId)
bool
Determine se o ID da chave especificado é de um tipo geral.
IsMessageEncryptionKeyId(uint32_t keyId, bool allowLogicalKeys)
bool
Determinar se um determinado ID de chave identifica uma chave adequada para a criptografia de mensagens do Weave.
IsSameKeyOrGroup(uint32_t keyId1, uint32_t keyId2)
bool
Determina se dois IDs de chave identificam a mesma chave ou, no caso de chaves rotativas, o mesmo grupo de chaves independente de qualquer época específica.
IsSessionKey(uint32_t keyId)
bool
Determine se o ID da chave especificado é de um tipo de sessão.
IsValidKeyId(uint32_t keyId)
bool
Determine se o identificador de chave tem um valor (legal) válido.
MakeAppGroupMasterKeyId(uint8_t appGroupLocalNumber)
uint32_t
Crie o ID da chave mestra do grupo de aplicativos com o número local do grupo de aplicativos.
MakeAppIntermediateKeyId(uint32_t rootKeyId, uint32_t epochKeyId, bool useCurrentEpochKey)
uint32_t
Criar o ID da chave intermediária do aplicativo com base nos IDs das chaves constituintes.
MakeAppKeyId(uint32_t keyType, uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Crie o ID da chave do grupo de aplicativos com base nos IDs das chaves constituintes e outras informações.
MakeAppRotatingKeyId(uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Criar o ID da chave rotativa do aplicativo com base nos IDs das chaves constituintes e outras informações.
MakeAppStaticKeyId(uint32_t rootKeyId, uint32_t appGroupMasterKeyId)
uint32_t
Construa o ID da chave estática do aplicativo com base nos IDs das chaves constituintes.
MakeEpochKeyId(uint8_t epochKeyNumber)
uint32_t
Crie o ID da chave raiz do grupo de aplicativos com o número da chave de época fornecido.
MakeGeneralKeyId(uint16_t generalKeyNumber)
uint16_t
Criar o ID da chave geral com o número da chave geral.
MakeRootKeyId(uint8_t rootKeyNumber)
uint32_t
Criar o ID da chave raiz do grupo de aplicativos com o número da chave raiz fornecido.
MakeSessionKeyId(uint16_t sessionKeyNumber)
uint16_t
Criar o ID da chave de sessão com o número da chave de sessão.
UpdateEpochKeyId(uint32_t keyId, uint32_t epochKeyId)
uint32_t
O ID da chave do grupo de aplicativos foi atualizado com o novo número da chave de época.
UsesCurrentEpochKey(uint32_t keyId)
bool
Determine se o ID da chave do grupo de aplicativos especificado usa a chave de época "atual".

Tipos públicos

@52

 @52

Campos, sinalizações e tipos de ID da chave pública do Weave.

Propriedades
kClientRootKey

ID da chave raiz do cliente.

kFabricRootKey

ID da chave raiz do Fabric.

kFabricSecret

Entrelaçar o código secreto do tecido.

kKeyNumber_Max

Valores máximos para subcampos de ID da chave.

kNone

Entrelaçar IDs de chave global.

ID da chave Weave não especificado.

kServiceRootKey

ID da chave raiz do serviço.

kType_AppEpochKey

Tipo de chave de época do grupo de aplicativos.

kType_AppGroupMasterKey

Tipo de chave mestra do grupo de aplicativos.

kType_AppIntermediateKey

Tipo de chave intermediária do grupo de aplicativos.

kType_AppRootKey

Tipos de chave do Weave (exceto os tipos de criptografia de mensagens do Weave).

kType_AppRotatingKey

Tipo de chave de rotação do aplicativo.

kType_AppStaticKey

Tipo de chave estática do aplicativo.

kType_General

Tipo de chave geral.

kType_None

Tipos de chave do Weave usados para a criptografia de mensagens do Weave.

kType_Session

Tipo de chave de sessão.

Funções estáticas públicas

ConvertToCurrentAppKeyId

uint32_t ConvertToCurrentAppKeyId(
  uint32_t keyId
)

Converter o ID da chave de grupo de aplicativos no ID da chave atual do aplicativo.

Detalhes
Parâmetros
[in] keyId
ID da chave do aplicativo
Retorna
ID da chave atual do aplicativo.

ConvertToStaticAppKeyId

uint32_t ConvertToStaticAppKeyId(
  uint32_t keyId
)

Converta o ID da chave do aplicativo em um ID da chave estática.

Detalhes
Parâmetros
[in] keyId
ID da chave do aplicativo
Retorna
ID da chave estática do aplicativo.

DescribeKey

const char * DescribeKey(
  uint32_t keyId
)

Decodifique um identificador de chave Weave com uma string descritiva.

Detalhes
Parâmetros
[in] keyId
Entrelaçamos o ID da chave para decodificar e para qual retornar uma string descritiva.
Retorna
Um ponteiro para uma string terminada em NULL que descreve o ID da chave especificado.

GetAppGroupLocalNumber

uint8_t GetAppGroupLocalNumber(
  uint32_t keyId
)

Acessar o número local do grupo de aplicativos usado para derivar a chave de aplicativo especificada.

Detalhes
Parâmetros
[in] keyId
Identificador de chave de grupo de aplicativos do Weave.
Retorna
número local do grupo de aplicativos.

GetAppGroupMasterKeyId

uint32_t GetAppGroupMasterKeyId(
  uint32_t keyId
)

Receber o ID da chave mestra do grupo de aplicativos usado para derivar a chave de aplicativo especificada.

Detalhes
Parâmetros
[in] keyId
Identificador de chave de grupo de aplicativos do Weave.
Retorna
ID da chave mestra do grupo de aplicativos.

GetEpochKeyId

uint32_t GetEpochKeyId(
  uint32_t keyId
)

Acessar ID da chave de época do grupo de aplicativos que foi usado para derivar a chave de aplicativo especificada.

Detalhes
Parâmetros
[in] keyId
Identificador de chave de grupo de aplicativos do Weave.
Retorna
ID da chave de época.

GetEpochKeyNumber

uint8_t GetEpochKeyNumber(
  uint32_t keyId
)

Acessar o número da chave de época do grupo de aplicativos que foi usado para derivar a chave de aplicativo especificada.

Detalhes
Parâmetros
[in] keyId
Identificador de chave de grupo de aplicativos do Weave.
Retorna
número da chave de época.

GetRootKeyId

uint32_t GetRootKeyId(
  uint32_t keyId
)

Recebe o ID da chave raiz do grupo de aplicativos que foi usado para derivar a chave de aplicativo especificada.

Detalhes
Parâmetros
[in] keyId
Identificador de chave de grupo de aplicativos do Weave.
Retorna
ID da chave raiz.

GetRootKeyNumber

uint8_t GetRootKeyNumber(
  uint32_t keyId
)

Acessar número da chave raiz do grupo de aplicativos que foi usado para derivar a chave de aplicativo especificada.

Detalhes
Parâmetros
[in] keyId
Identificador de chave de grupo de aplicativos do Weave.
Retorna
número da chave raiz.

GetType

uint32_t GetType(
  uint32_t keyId
)

Acessa o tipo de chave Weave do ID de chave especificado.

Detalhes
Parâmetros
[in] keyId
Identificador de chave do Weave.
Retorna
tipo do ID da chave.

IncorporatesAppGroupMasterKey

bool IncorporatesAppGroupMasterKey(
  uint32_t keyId
)

Determine se o ID da chave do grupo de aplicativos especificado incorpora a chave mestra do grupo.

Detalhes
Parâmetros
[in] keyId
Identificador de chave de grupo de aplicativos do Weave.
Retorna
true se o keyId incorporar a chave mestra do grupo.

IncorporatesEpochKey

bool IncorporatesEpochKey(
  uint32_t keyId
)

Determine se o ID da chave do grupo de aplicativos especificado incorpora a chave de época.

Detalhes
Parâmetros
[in] keyId
Identificador de chave de grupo de aplicativos do Weave.
Retorna
true se o keyId incorporar a chave de época.

IncorporatesRootKey

bool IncorporatesRootKey(
  uint32_t keyId
)

Determine se o ID da chave do grupo de aplicativos especificado incorpora uma chave raiz.

Detalhes
Parâmetros
[in] keyId
Identificador de chave de grupo de aplicativos do Weave.
Retorna
true se o keyId incorporar a chave raiz.

IsAppEpochKey

bool IsAppEpochKey(
  uint32_t keyId
)

Determine se o ID da chave especificado é de um tipo de chave da época do aplicativo.

Detalhes
Parâmetros
[in] keyId
Identificador de chave do Weave.
Retorna
true se o keyId de um tipo de chave de época do aplicativo.

IsAppGroupKey

bool IsAppGroupKey(
  uint32_t keyId
)

Determine se o ID da chave especificado pertence a um dos tipos de chave do grupo de aplicativos (estática ou rotativa).

Detalhes
Parâmetros
[in] keyId
Identificador de chave do Weave.
Retorna
verdadeiro se o keyId for do tipo de chave rotativa ou estática.

IsAppGroupMasterKey

bool IsAppGroupMasterKey(
  uint32_t keyId
)

Determine se o ID da chave especificado é de um tipo de chave mestra do grupo de aplicativos.

Detalhes
Parâmetros
[in] keyId
Identificador de chave do Weave.
Retorna
true se o keyId de um tipo de chave mestra do grupo de aplicativos.

IsAppRootKey

bool IsAppRootKey(
  uint32_t keyId
)

Determine se o ID da chave especificado é de um tipo de chave raiz do aplicativo.

Detalhes
Parâmetros
[in] keyId
Identificador de chave do Weave.
Retorna
true se o keyId de um tipo de chave raiz do aplicativo.

IsAppRotatingKey

bool IsAppRotatingKey(
  uint32_t keyId
)

Determine se o ID da chave especificado é de um tipo de rotação de aplicativo.

Detalhes
Parâmetros
[in] keyId
Identificador de chave do Weave.
Retorna
true se o keyId de um tipo de rotação do aplicativo.

IsAppStaticKey

bool IsAppStaticKey(
  uint32_t keyId
)

Determine se o ID da chave especificado é de um tipo estático de aplicativo.

Detalhes
Parâmetros
[in] keyId
Identificador de chave do Weave.
Retorna
true se o keyId de um tipo estático de aplicativo.

IsGeneralKey

bool IsGeneralKey(
  uint32_t keyId
)

Determine se o ID da chave especificado é de um tipo geral.

Detalhes
Parâmetros
[in] keyId
Identificador de chave do Weave.
Retorna
true se o keyId tiver o tipo General.

IsMessageEncryptionKeyId

bool IsMessageEncryptionKeyId(
  uint32_t keyId,
  bool allowLogicalKeys
)

Determinar se um determinado ID de chave identifica uma chave adequada para a criptografia de mensagens do Weave.

Detalhes
Parâmetros
[in] keyId
Criar ID da chave.
[in] allowLogicalKeys
Especifica se os IDs de chaves lógicas (como a chave giratória "atual") devem ser considerados adequados para a criptografia de mensagens.
Retorna
true. Se a chave identificada puder ser usada para criptografar mensagens do Weave.

IsSameKeyOrGroup

bool IsSameKeyOrGroup(
  uint32_t keyId1,
  uint32_t keyId2
)

Determina se dois IDs de chave identificam a mesma chave ou, no caso de chaves rotativas, o mesmo grupo de chaves independente de qualquer época específica.

Detalhes
Parâmetros
[in] keyId1
O primeiro ID de chave a ser testado.
[in] keyId2
O segundo ID de chave a ser testado.
Retorna
Verdadeiro se os IDs das chaves representarem a mesma chave.

IsSessionKey

bool IsSessionKey(
  uint32_t keyId
)

Determine se o ID da chave especificado é de um tipo de sessão.

Detalhes
Parâmetros
[in] keyId
Identificador de chave do Weave.
Retorna
true se o keyId de um tipo de sessão.

IsValidKeyId

bool IsValidKeyId(
  uint32_t keyId
)

Determine se o identificador de chave tem um valor (legal) válido.

Detalhes
Parâmetros
[in] keyId
Criar ID da chave.
Retorna
true se o valor do ID da chave for válido.

MakeAppGroupMasterKeyId

uint32_t MakeAppGroupMasterKeyId(
  uint8_t appGroupLocalNumber
)

Crie o ID da chave mestra do grupo de aplicativos com o número local do grupo de aplicativos.

Detalhes
Parâmetros
[in] appGroupLocalNumber
Número local do grupo de aplicativos.
Retorna
ID da chave mestra do grupo de aplicativos.

MakeAppIntermediateKeyId

uint32_t MakeAppIntermediateKeyId(
  uint32_t rootKeyId,
  uint32_t epochKeyId,
  bool useCurrentEpochKey
)

Criar o ID da chave intermediária do aplicativo com base nos IDs das chaves constituintes.

Detalhes
Parâmetros
[in] rootKeyId
ID da chave raiz usado para derivar a chave intermediária do aplicativo.
[in] epochKeyId
ID da chave de época usado para derivar a chave intermediária do aplicativo.
[in] useCurrentEpochKey
Uma flag booleana que indica se a chave precisa ser derivada usando a chave de época "atual".
Retorna
ID da chave intermediária do aplicativo.

MakeAppKeyId

uint32_t MakeAppKeyId(
  uint32_t keyType,
  uint32_t rootKeyId,
  uint32_t epochKeyId,
  uint32_t appGroupMasterKeyId,
  bool useCurrentEpochKey
)

Crie o ID da chave do grupo de aplicativos com base nos IDs das chaves constituintes e outras informações.

Detalhes
Parâmetros
[in] keyType
Tipo de chave de grupo de aplicativos derivado.
[in] rootKeyId
ID da chave raiz usado para derivar a chave do grupo de aplicativos.
[in] epochKeyId
ID da chave da época usado para derivar a chave do grupo de aplicativos.
[in] appGroupMasterKeyId
ID da chave mestra do grupo de aplicativos usado para derivar a chave do grupo de aplicativos.
[in] useCurrentEpochKey
Uma flag booleana que indica se a chave precisa ser derivada usando a chave de época "atual".
Retorna
ID da chave do grupo de aplicativos.

MakeAppRotatingKeyId

uint32_t MakeAppRotatingKeyId(
  uint32_t rootKeyId,
  uint32_t epochKeyId,
  uint32_t appGroupMasterKeyId,
  bool useCurrentEpochKey
)

Criar o ID da chave rotativa do aplicativo com base nos IDs das chaves constituintes e outras informações.

Detalhes
Parâmetros
[in] rootKeyId
ID da chave raiz usado para derivar a chave de rotação do aplicativo.
[in] epochKeyId
ID da chave da época usado para derivar a chave de rotação do aplicativo.
[in] appGroupMasterKeyId
ID da chave mestra do grupo de aplicativos usado para derivar a chave de rotação do aplicativo.
[in] useCurrentEpochKey
Uma flag booleana que indica se a chave precisa ser derivada usando a chave de época "atual".
Retorna
ID da chave de rotação do aplicativo.

MakeAppStaticKeyId

uint32_t MakeAppStaticKeyId(
  uint32_t rootKeyId,
  uint32_t appGroupMasterKeyId
)

Construa o ID da chave estática do aplicativo com base nos IDs das chaves constituintes.

Detalhes
Parâmetros
[in] rootKeyId
ID da chave raiz usado para derivar a chave estática do aplicativo.
[in] appGroupMasterKeyId
ID da chave mestra do grupo de aplicativos usado para derivar a chave estática do aplicativo.
Retorna
ID da chave estática do aplicativo.

MakeEpochKeyId

uint32_t MakeEpochKeyId(
  uint8_t epochKeyNumber
)

Crie o ID da chave raiz do grupo de aplicativos com o número da chave de época fornecido.

Detalhes
Parâmetros
[in] epochKeyNumber
Número da chave da época.
Retorna
ID da chave de época.

MakeGeneralKeyId

uint16_t MakeGeneralKeyId(
  uint16_t generalKeyNumber
)

Criar o ID da chave geral com o número da chave geral.

Detalhes
Parâmetros
[in] generalKeyNumber
Número da chave geral.
Retorna
ID geral da chave.

MakeRootKeyId

uint32_t MakeRootKeyId(
  uint8_t rootKeyNumber
)

Criar o ID da chave raiz do grupo de aplicativos com o número da chave raiz fornecido.

Detalhes
Parâmetros
[in] rootKeyNumber
Número de chave raiz.
Retorna
ID da chave raiz.

MakeSessionKeyId

uint16_t MakeSessionKeyId(
  uint16_t sessionKeyNumber
)

Criar o ID da chave de sessão com o número da chave de sessão.

Detalhes
Parâmetros
[in] sessionKeyNumber
Número da chave da sessão.
Retorna
ID da chave de sessão.

UpdateEpochKeyId

uint32_t UpdateEpochKeyId(
  uint32_t keyId,
  uint32_t epochKeyId
)

O ID da chave do grupo de aplicativos foi atualizado com o novo número da chave de época.

Detalhes
Parâmetros
[in] keyId
ID da chave do aplicativo
[in] epochKeyId
ID da chave de época, que será usado na construção do ID atualizado da chave do aplicativo.
Retorna
ID da chave do aplicativo.

UsesCurrentEpochKey

bool UsesCurrentEpochKey(
  uint32_t keyId
)

Determine se o ID da chave do grupo de aplicativos especificado usa a chave de época "atual".

Detalhes
Parâmetros
[in] keyId
Identificador de chave de grupo de aplicativos do Weave.
Retorna
true se o keyId indicar o uso da chave da época atual.