nl::Weave::WeaveKeyId

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

A definição do identificador de chaves do Weave.

Resumo

Essa classe contém tipos de chave, flags de chave, definição de campos de ID de chave e funções da 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 chave pública do Weave.

Funções estáticas públicas

ConvertToCurrentAppKeyId(uint32_t keyId)
uint32_t
Converter o ID da chave do grupo de aplicativos no ID da chave atual do aplicativo.
ConvertToStaticAppKeyId(uint32_t keyId)
uint32_t
Converta o ID da chave de aplicativo em um ID de chave estática.
DescribeKey(uint32_t keyId)
const char *
Decodifique um identificador de chave do Weave com uma string descritiva.
GetAppGroupLocalNumber(uint32_t keyId)
uint8_t
Acessa o número local do grupo de aplicativos que foi usado para derivar a chave de aplicativo especificada.
GetAppGroupMasterKeyId(uint32_t keyId)
uint32_t
Recebe o ID da chave mestra do grupo de aplicativos que foi usado para derivar a chave de aplicativo especificada.
GetEpochKeyId(uint32_t keyId)
uint32_t
Recebe o 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
Receba o número da chave da época do grupo de aplicativos que foi usada para derivar a chave de aplicativo especificada.
GetRootKeyId(uint32_t keyId)
uint32_t
Acessa 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
Recebe o 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 do 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 de chave do grupo de aplicativos especificado incorpora a chave de época.
IncorporatesRootKey(uint32_t keyId)
bool
Determine se o ID de chave do grupo de aplicativos especificado incorpora a chave raiz.
IsAppEpochKey(uint32_t keyId)
bool
Determine se o ID de chave especificado é de um tipo de chave de época do aplicativo.
IsAppGroupKey(uint32_t keyId)
bool
Determine se o ID de chave especificado pertence a um dos tipos de chave do grupo de aplicativos (estática ou giratória).
IsAppGroupMasterKey(uint32_t keyId)
bool
Determine se o ID de chave especificado é de um tipo de chave mestra do grupo de aplicativos.
IsAppRootKey(uint32_t keyId)
bool
Determine se o ID de 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 rotativo de aplicativo.
IsAppStaticKey(uint32_t keyId)
bool
Determine se o ID de chave especificado é de um tipo estático de aplicativo.
IsGeneralKey(uint32_t keyId)
bool
Determine se o ID de chave especificado é de um tipo geral.
IsMessageEncryptionKeyId(uint32_t keyId, bool allowLogicalKeys)
bool
Determine 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 giratórias, o mesmo grupo de chaves, independentemente de qualquer época específica.
IsSessionKey(uint32_t keyId)
bool
Determine se o ID de chave especificado é de um tipo de sessão.
IsValidKeyId(uint32_t keyId)
bool
Determinar se o identificador de chave tem um valor válido (legal).
MakeAppGroupMasterKeyId(uint8_t appGroupLocalNumber)
uint32_t
Cria o ID da chave mestra do grupo de aplicativos conforme o número local do grupo.
MakeAppIntermediateKeyId(uint32_t rootKeyId, uint32_t epochKeyId, bool useCurrentEpochKey)
uint32_t
Crie um ID de chave intermediária do aplicativo com base nos IDs de chave 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 de chave constituintes e outras informações.
MakeAppRotatingKeyId(uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Crie um aplicativo que gira o ID da chave com base nos IDs constituintes e outras informações.
MakeAppStaticKeyId(uint32_t rootKeyId, uint32_t appGroupMasterKeyId)
uint32_t
Cria o ID da chave estática do aplicativo, considerando os IDs de chave integrantes.
MakeEpochKeyId(uint8_t epochKeyNumber)
uint32_t
Cria o ID da chave raiz do grupo de aplicativos com base no número de chave da época.
MakeGeneralKeyId(uint16_t generalKeyNumber)
uint16_t
Cria o ID geral da chave considerando o número geral de chave.
MakeRootKeyId(uint8_t rootKeyNumber)
uint32_t
Cria o ID da chave raiz do grupo de aplicativos com base no número da chave raiz.
MakeSessionKeyId(uint16_t sessionKeyNumber)
uint16_t
Cria o ID da chave de sessão com base no número da chave de sessão.
UpdateEpochKeyId(uint32_t keyId, uint32_t epochKeyId)
uint32_t
Atualize o ID da chave do grupo de aplicativos com o novo número de chave da época.
UsesCurrentEpochKey(uint32_t keyId)
bool
Determinar se o ID de chave do grupo de aplicativos especificado usa "atual" chave de época.

Tipos públicos

a 52

 @52

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

Propriedades
kClientRootKey

ID da chave raiz do cliente.

kFabricRootKey

ID da chave raiz do Fabric.

kFabricSecret

Código secreto do Tecido.

kKeyNumber_Max

Valores máximos para subcampos do ID da chave.

kNone

Crie IDs de chave global.

ID da chave do 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 chaves de malha (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 do grupo de aplicativos no ID da chave atual do aplicativo.

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

ConvertToStaticAppKeyId

uint32_t ConvertToStaticAppKeyId(
  uint32_t keyId
)

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

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

DescribeKey

const char * DescribeKey(
  uint32_t keyId
)

Decodifique um identificador de chave do Weave com uma string descritiva.

Detalhes
Parâmetros
[in] keyId
Crie o ID da chave para decodificar e para a qual retornar uma string descritiva.
Retornos
Um ponteiro para uma string terminada em NULL descrevendo o ID de chave especificado.

GetAppGroupLocalNumber

uint8_t GetAppGroupLocalNumber(
  uint32_t keyId
)

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

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

GetAppGroupMasterKeyId

uint32_t GetAppGroupMasterKeyId(
  uint32_t keyId
)

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

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

GetEpochKeyId

uint32_t GetEpochKeyId(
  uint32_t keyId
)

Recebe o 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 do grupo de aplicativos do Weave.
Retornos
ID da chave de época.

GetEpochKeyNumber

uint8_t GetEpochKeyNumber(
  uint32_t keyId
)

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

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

GetRootKeyId

uint32_t GetRootKeyId(
  uint32_t keyId
)

Acessa 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 do grupo de aplicativos do Weave.
Retornos
ID da chave raiz.

GetRootKeyNumber

uint8_t GetRootKeyNumber(
  uint32_t keyId
)

Recebe o 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 do grupo de aplicativos do Weave.
Retornos
número da chave raiz.

GetType

uint32_t GetType(
  uint32_t keyId
)

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

Detalhes
Parâmetros
[in] keyId
Identificador de chave do Weave.
Retornos
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 do grupo de aplicativos do Weave.
Retornos
verdadeiro se o keyId incorporar a chave mestra do grupo.

IncorporatesEpochKey

bool IncorporatesEpochKey(
  uint32_t keyId
)

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

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

IncorporatesRootKey

bool IncorporatesRootKey(
  uint32_t keyId
)

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

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

IsAppEpochKey

bool IsAppEpochKey(
  uint32_t keyId
)

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

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

IsAppGroupKey

bool IsAppGroupKey(
  uint32_t keyId
)

Determine se o ID de chave especificado pertence a um dos tipos de chave do grupo de aplicativos (estática ou em rotação).

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

IsAppGroupMasterKey

bool IsAppGroupMasterKey(
  uint32_t keyId
)

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

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

IsAppRootKey

bool IsAppRootKey(
  uint32_t keyId
)

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

Detalhes
Parâmetros
[in] keyId
Identificador de chave do Weave.
Retornos
verdadeiro 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 rotativo de aplicativo.

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

IsAppStaticKey

bool IsAppStaticKey(
  uint32_t keyId
)

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

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

IsGeneralKey

bool IsGeneralKey(
  uint32_t keyId
)

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

Detalhes
Parâmetros
[in] keyId
Identificador de chave do Weave.
Retornos
verdadeiro se o keyId tiver o tipo Geral.

IsMessageEncryptionKeyId

bool IsMessageEncryptionKeyId(
  uint32_t keyId,
  bool allowLogicalKeys
)

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

Detalhes
Parâmetros
[in] keyId
ID da chave do Weave.
[in] allowLogicalKeys
Especifica se os IDs de chaves lógicas (como a chave rotativa "atual") serão considerados adequados para a criptografia de mensagens.
Retornos
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, independentemente de qualquer época específica.

Detalhes
Parâmetros
[in] keyId1
O primeiro ID da chave a ser testado.
[in] keyId2
O ID da segunda chave a ser testada.
Retornos
Verdadeiro se os IDs das chaves representarem a mesma chave.

IsSessionKey

bool IsSessionKey(
  uint32_t keyId
)

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

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

IsValidKeyId

bool IsValidKeyId(
  uint32_t keyId
)

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

Detalhes
Parâmetros
[in] keyId
ID da chave do Weave.
Retornos
verdadeiro se o valor do ID da chave for válido.

MakeAppGroupMasterKeyId

uint32_t MakeAppGroupMasterKeyId(
  uint8_t appGroupLocalNumber
)

Cria o ID da chave mestra do grupo de aplicativos conforme o número local do grupo.

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

MakeAppIntermediateKeyId

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

Crie um ID de chave intermediária do aplicativo com base nos IDs de chave constituintes.

Detalhes
Parâmetros
[in] rootKeyId
ID da chave raiz usado para derivar a chave intermediária do aplicativo.
[in] epochKeyId
ID da chave Epoch usado para derivar a chave intermediária do aplicativo.
[in] useCurrentEpochKey
Uma sinalização booleana que indica se a chave precisa ser derivada usando "atual". chave de época.
Retornos
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 de chave constituintes e outras informações.

Detalhes
Parâmetros
[in] keyType
Tipo de chave do grupo de aplicativos derivado.
[in] rootKeyId
ID da chave raiz usado para derivar a chave do grupo de aplicativos.
[in] epochKeyId
ID da chave Epoch 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 sinalização booleana que indica se a chave precisa ser derivada usando "atual". chave de época.
Retornos
ID da chave do grupo de aplicativos.

MakeAppRotatingKeyId

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

Crie um aplicativo que gira o ID da chave, de acordo com os IDs de chave 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 Epoch 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 sinalização booleana que indica se a chave precisa ser derivada usando "atual". chave de época.
Retornos
ID da chave rotativa do aplicativo.

MakeAppStaticKeyId

uint32_t MakeAppStaticKeyId(
  uint32_t rootKeyId,
  uint32_t appGroupMasterKeyId
)

Cria o ID da chave estática do aplicativo, considerando os IDs de chave constituintes.

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

MakeEpochKeyId

uint32_t MakeEpochKeyId(
  uint8_t epochKeyNumber
)

Cria o ID da chave raiz do grupo de aplicativos com base no número de chave da época.

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

MakeGeneralKeyId

uint16_t MakeGeneralKeyId(
  uint16_t generalKeyNumber
)

Cria o ID geral da chave considerando o número geral de chave.

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

MakeRootKeyId

uint32_t MakeRootKeyId(
  uint8_t rootKeyNumber
)

Cria o ID da chave raiz do grupo de aplicativos com base no número da chave raiz.

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

MakeSessionKeyId

uint16_t MakeSessionKeyId(
  uint16_t sessionKeyNumber
)

Cria o ID da chave de sessão com base no número da chave de sessão.

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

UpdateEpochKeyId

uint32_t UpdateEpochKeyId(
  uint32_t keyId,
  uint32_t epochKeyId
)

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

Detalhes
Parâmetros
[in] keyId
ID da chave do aplicativo.
[in] epochKeyId
ID da chave Epoch, que será usado na criação do ID atualizado da chave do aplicativo.
Retornos
ID da chave do aplicativo.

UsesCurrentEpochKey

bool UsesCurrentEpochKey(
  uint32_t keyId
)

Determinar se o ID de chave do grupo de aplicativos especificado usa "atual" chave de época.

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