nl::Weave::WeaveKeyId

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

Es la definición del identificador de clave de Weave.

Resumen

Esta clase contiene tipos de clave, marcas de clave, definición de campos de ID de clave y funciones 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, marcas y tipos de ID de clave de Weave públicos.

Funciones estáticas públicas

ConvertToCurrentAppKeyId(uint32_t keyId)
uint32_t
Convierte el ID de la clave del grupo de aplicaciones en el ID de la clave actual de la aplicación.
ConvertToStaticAppKeyId(uint32_t keyId)
uint32_t
Convierte el ID de la clave de aplicación en el ID de la clave estática de la aplicación.
DescribeKey(uint32_t keyId)
const char *
Decodifica un identificador de clave de Weave con una cadena descriptiva.
GetAppGroupLocalNumber(uint32_t keyId)
uint8_t
Obtén el número local del grupo de aplicaciones que se usó para derivar la clave de aplicación especificada.
GetAppGroupMasterKeyId(uint32_t keyId)
uint32_t
Obtén el ID de la clave maestra del grupo de aplicaciones que se usó para derivar la clave de aplicación especificada.
GetEpochKeyId(uint32_t keyId)
uint32_t
Obtén el ID de clave de época del grupo de aplicaciones que se usó para derivar la clave de aplicación especificada.
GetEpochKeyNumber(uint32_t keyId)
uint8_t
Obtiene el número de clave de época del grupo de aplicaciones que se usó para derivar la clave de aplicación especificada.
GetRootKeyId(uint32_t keyId)
uint32_t
Obtén el ID de la clave raíz del grupo de aplicaciones que se usó para derivar la clave de aplicación especificada.
GetRootKeyNumber(uint32_t keyId)
uint8_t
Obtén el número de clave raíz del grupo de aplicaciones que se usó para derivar la clave de aplicación especificada.
GetType(uint32_t keyId)
uint32_t
Obtén el tipo de clave de Weave del ID de clave especificado.
IncorporatesAppGroupMasterKey(uint32_t keyId)
bool
Determina si el ID de clave del grupo de aplicaciones especificado incorpora una clave maestra de grupo.
IncorporatesEpochKey(uint32_t keyId)
bool
Determina si el ID de clave del grupo de aplicaciones especificado incorpora la clave de época.
IncorporatesRootKey(uint32_t keyId)
bool
Determina si el ID de clave del grupo de aplicaciones especificado incorpora una clave raíz.
IsAppEpochKey(uint32_t keyId)
bool
Determina si el ID de clave especificado es de un tipo de clave de época de la aplicación.
IsAppGroupKey(uint32_t keyId)
bool
Determina si el ID de clave especificado pertenece a uno de los tipos de clave del grupo de aplicaciones (estático o rotativo).
IsAppGroupMasterKey(uint32_t keyId)
bool
Determina si el ID de clave especificado es de un tipo de clave maestra de grupo de aplicaciones.
IsAppRootKey(uint32_t keyId)
bool
Determina si el ID de clave especificado es de un tipo de clave raíz de la aplicación.
IsAppRotatingKey(uint32_t keyId)
bool
Determina si el ID de clave especificado es de un tipo rotativo de aplicación.
IsAppStaticKey(uint32_t keyId)
bool
Determina si el ID de clave especificado es de un tipo estático de la aplicación.
IsGeneralKey(uint32_t keyId)
bool
Determina si el ID de clave especificado es de un tipo general.
IsMessageEncryptionKeyId(uint32_t keyId, bool allowLogicalKeys)
bool
Determina si un ID de clave dado identifica una clave adecuada para la encriptación de mensajes de Weave.
IsSameKeyOrGroup(uint32_t keyId1, uint32_t keyId2)
bool
Determina si dos IDs de clave identifican la misma clave o, en el caso de las claves rotativas, el mismo grupo de claves, independientemente de un ciclo de entrenamiento en particular.
IsSessionKey(uint32_t keyId)
bool
Determina si el ID de clave especificado es de un tipo de sesión.
IsValidKeyId(uint32_t keyId)
bool
Determina si el identificador de clave tiene un valor válido (legal).
MakeAppGroupMasterKeyId(uint8_t appGroupLocalNumber)
uint32_t
Crea el ID de la clave maestra del grupo de aplicaciones con el número local del grupo de aplicaciones.
MakeAppIntermediateKeyId(uint32_t rootKeyId, uint32_t epochKeyId, bool useCurrentEpochKey)
uint32_t
Crea el ID de clave intermedia de la aplicación con los ID de clave constituyentes.
MakeAppKeyId(uint32_t keyType, uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Crea el ID de clave del grupo de aplicaciones con los ID de clave constituyentes y otra información.
MakeAppRotatingKeyId(uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Crea la aplicación rotando el ID de clave a partir de los ID de clave constituyentes y otra información.
MakeAppStaticKeyId(uint32_t rootKeyId, uint32_t appGroupMasterKeyId)
uint32_t
Crea el ID de la clave estática de la aplicación a partir de los ID de la clave constituyente.
MakeEpochKeyId(uint8_t epochKeyNumber)
uint32_t
Construye el ID de clave raíz del grupo de aplicaciones según el número de clave de época.
MakeGeneralKeyId(uint16_t generalKeyNumber)
uint16_t
Crea un ID de clave general con un número de clave general.
MakeRootKeyId(uint8_t rootKeyNumber)
uint32_t
Construye el ID de la clave raíz del grupo de aplicaciones con el número de clave raíz.
MakeSessionKeyId(uint16_t sessionKeyNumber)
uint16_t
Crea el ID de clave de sesión con el número de clave de sesión.
UpdateEpochKeyId(uint32_t keyId, uint32_t epochKeyId)
uint32_t
Actualiza el ID de la clave del grupo de aplicaciones con el nuevo número de clave de época.
UsesCurrentEpochKey(uint32_t keyId)
bool
Determina si el ID de clave del grupo de aplicaciones especificado usa la clave de época "actual".

Tipos públicos

@52

 @52

Campos, marcas y tipos de ID de clave de Weave públicos.

Propiedades
kClientRootKey

ID de la clave raíz del cliente.

kFabricRootKey

ID de clave raíz de Fabric.

kFabricSecret

ID del secreto de la tela de Weave.

kKeyNumber_Max

Valores máximos para los subcampos de ID de clave.

kNone

ID de clave global de Weave.

No se especificó el ID de clave de Weave.

kServiceRootKey

ID de la clave raíz del servicio.

kType_AppEpochKey

Tipo de clave de época del grupo de aplicaciones.

kType_AppGroupMasterKey

Tipo de clave maestra del grupo de aplicaciones.

kType_AppIntermediateKey

Tipo de clave intermedia del grupo de aplicaciones.

kType_AppRootKey

Tipos de claves de Weave (distintos de los tipos de encriptación de mensajes de Weave).

kType_AppRotatingKey

Tipo de clave rotativa de la aplicación.

kType_AppStaticKey

Tipo de clave estática de la aplicación.

kType_General

Tipo de clave general.

kType_None

Tipos de claves de Weave que se usan para la encriptación de mensajes de Weave.

kType_Session

Tipo de clave de sesión.

Funciones estáticas públicas

ConvertToCurrentAppKeyId

uint32_t ConvertToCurrentAppKeyId(
  uint32_t keyId
)

Convierte el ID de la clave del grupo de aplicaciones en el ID de la clave actual de la aplicación.

Detalles
Parámetros
[in] keyId
Es el ID de clave de la aplicación.
Qué muestra
el ID de la clave actual de la aplicación.

ConvertToStaticAppKeyId

uint32_t ConvertToStaticAppKeyId(
  uint32_t keyId
)

Convierte el ID de la clave de aplicación en el ID de la clave estática de la aplicación.

Detalles
Parámetros
[in] keyId
Es el ID de clave de la aplicación.
Qué muestra
el ID de la clave estática de la aplicación.

DescribeKey

const char * DescribeKey(
  uint32_t keyId
)

Decodifica un identificador de clave de Weave con una cadena descriptiva.

Detalles
Parámetros
[in] keyId
ID de clave de Weave para decodificar y para cuál mostrar una cadena descriptiva.
Qué muestra
Un puntero a una string terminada en NULL que describe el ID de clave especificado.

GetAppGroupLocalNumber

uint8_t GetAppGroupLocalNumber(
  uint32_t keyId
)

Obtén el número local del grupo de aplicaciones que se usó para derivar la clave de aplicación especificada.

Detalles
Parámetros
[in] keyId
Es el identificador de clave del grupo de aplicaciones de Weave.
Qué muestra
número local del grupo de aplicaciones.

GetAppGroupMasterKeyId

uint32_t GetAppGroupMasterKeyId(
  uint32_t keyId
)

Obtén el ID de la clave maestra del grupo de aplicaciones que se usó para derivar la clave de aplicación especificada.

Detalles
Parámetros
[in] keyId
Es el identificador de clave del grupo de aplicaciones de Weave.
Qué muestra
el ID de la clave maestra del grupo de aplicaciones.

GetEpochKeyId

uint32_t GetEpochKeyId(
  uint32_t keyId
)

Obtén el ID de clave de época del grupo de aplicaciones que se usó para derivar la clave de aplicación especificada.

Detalles
Parámetros
[in] keyId
Es el identificador de clave del grupo de aplicaciones de Weave.
Qué muestra
ID de clave de época.

GetEpochKeyNumber

uint8_t GetEpochKeyNumber(
  uint32_t keyId
)

Obtiene el número de clave de época del grupo de aplicaciones que se usó para derivar la clave de aplicación especificada.

Detalles
Parámetros
[in] keyId
Es el identificador de clave del grupo de aplicaciones de Weave.
Qué muestra
el número de clave de ciclo de entrenamiento.

GetRootKeyId

uint32_t GetRootKeyId(
  uint32_t keyId
)

Obtén el ID de la clave raíz del grupo de aplicaciones que se usó para derivar la clave de aplicación especificada.

Detalles
Parámetros
[in] keyId
Es el identificador de clave del grupo de aplicaciones de Weave.
Qué muestra
el ID de la clave raíz.

GetRootKeyNumber

uint8_t GetRootKeyNumber(
  uint32_t keyId
)

Obtén el número de clave raíz del grupo de aplicaciones que se usó para derivar la clave de aplicación especificada.

Detalles
Parámetros
[in] keyId
Es el identificador de clave del grupo de aplicaciones de Weave.
Qué muestra
número de clave raíz.

GetType

uint32_t GetType(
  uint32_t keyId
)

Obtén el tipo de clave de Weave del ID de clave especificado.

Detalles
Parámetros
[in] keyId
Es el identificador de clave de Weave.
Qué muestra
del ID de clave.

IncorporatesAppGroupMasterKey

bool IncorporatesAppGroupMasterKey(
  uint32_t keyId
)

Determina si el ID de clave del grupo de aplicaciones especificado incorpora una clave maestra de grupo.

Detalles
Parámetros
[in] keyId
Es el identificador de clave del grupo de aplicaciones de Weave.
Qué muestra
true si el keyId incorpora una clave maestra de grupo.

IncorporatesEpochKey

bool IncorporatesEpochKey(
  uint32_t keyId
)

Determina si el ID de clave del grupo de aplicaciones especificado incorpora la clave de época.

Detalles
Parámetros
[in] keyId
Es el identificador de clave del grupo de aplicaciones de Weave.
Qué muestra
true si el keyId incorpora la clave de época.

IncorporatesRootKey

bool IncorporatesRootKey(
  uint32_t keyId
)

Determina si el ID de clave del grupo de aplicaciones especificado incorpora una clave raíz.

Detalles
Parámetros
[in] keyId
Es el identificador de clave del grupo de aplicaciones de Weave.
Qué muestra
true si el keyId incorpora una clave raíz.

IsAppEpochKey

bool IsAppEpochKey(
  uint32_t keyId
)

Determina si el ID de clave especificado es de un tipo de clave de época de la aplicación.

Detalles
Parámetros
[in] keyId
Es el identificador de clave de Weave.
Qué muestra
true si es el keyId de un tipo de clave de ciclo de entrenamiento de la aplicación.

IsAppGroupKey

bool IsAppGroupKey(
  uint32_t keyId
)

Determina si el ID de clave especificado pertenece a uno de los tipos de clave del grupo de aplicaciones (estático o rotativo).

Detalles
Parámetros
[in] keyId
Es el identificador de clave de Weave.
Qué muestra
true si el keyId es de tipo de clave estática o rotativa.

IsAppGroupMasterKey

bool IsAppGroupMasterKey(
  uint32_t keyId
)

Determina si el ID de clave especificado es de un tipo de clave maestra de grupo de aplicaciones.

Detalles
Parámetros
[in] keyId
Es el identificador de clave de Weave.
Qué muestra
true si es el keyId de un tipo de clave maestra de un grupo de aplicaciones.

IsAppRootKey

bool IsAppRootKey(
  uint32_t keyId
)

Determina si el ID de clave especificado es de un tipo de clave raíz de la aplicación.

Detalles
Parámetros
[in] keyId
Es el identificador de clave de Weave.
Qué muestra
true si es el keyId de un tipo de clave raíz de la aplicación.

IsAppRotatingKey

bool IsAppRotatingKey(
  uint32_t keyId
)

Determina si el ID de clave especificado es de un tipo rotativo de aplicación.

Detalles
Parámetros
[in] keyId
Es el identificador de clave de Weave.
Qué muestra
true si es el keyId de un tipo de rotación de la aplicación.

IsAppStaticKey

bool IsAppStaticKey(
  uint32_t keyId
)

Determina si el ID de clave especificado es de un tipo estático de la aplicación.

Detalles
Parámetros
[in] keyId
Es el identificador de clave de Weave.
Qué muestra
true si es el keyId de un tipo estático de la aplicación.

IsGeneralKey

bool IsGeneralKey(
  uint32_t keyId
)

Determina si el ID de clave especificado es de un tipo general.

Detalles
Parámetros
[in] keyId
Es el identificador de clave de Weave.
Qué muestra
true si el keyId tiene el tipo General.

IsMessageEncryptionKeyId

bool IsMessageEncryptionKeyId(
  uint32_t keyId,
  bool allowLogicalKeys
)

Determina si un ID de clave dado identifica una clave adecuada para la encriptación de mensajes de Weave.

Detalles
Parámetros
[in] keyId
ID de clave de Weave.
[in] allowLogicalKeys
Especifica si los ID de claves lógicas (como la clave rotativa "actual") se deben considerar adecuados para la encriptación de mensajes.
Qué muestra
true: Si la clave identificada se puede usar para encriptar mensajes de Weave.

IsSameKeyOrGroup

bool IsSameKeyOrGroup(
  uint32_t keyId1,
  uint32_t keyId2
)

Determina si dos IDs de clave identifican la misma clave o, en el caso de las claves rotativas, el mismo grupo de claves, independientemente de un ciclo de entrenamiento en particular.

Detalles
Parámetros
[in] keyId1
El primer ID de clave que se probará.
[in] keyId2
El segundo ID de clave que se probará.
Qué muestra
Es verdadero si los IDs de clave representan la misma clave.

IsSessionKey

bool IsSessionKey(
  uint32_t keyId
)

Determina si el ID de clave especificado es de un tipo de sesión.

Detalles
Parámetros
[in] keyId
Es el identificador de clave de Weave.
Qué muestra
true si es el keyId de un tipo de sesión.

IsValidKeyId

bool IsValidKeyId(
  uint32_t keyId
)

Determina si el identificador de clave tiene un valor válido (legal).

Detalles
Parámetros
[in] keyId
ID de clave de Weave.
Qué muestra
true si el valor del ID de clave es válido.

MakeAppGroupMasterKeyId

uint32_t MakeAppGroupMasterKeyId(
  uint8_t appGroupLocalNumber
)

Crea el ID de la clave maestra del grupo de aplicaciones con el número local del grupo de aplicaciones.

Detalles
Parámetros
[in] appGroupLocalNumber
Número local del grupo de aplicaciones.
Qué muestra
el ID de la clave maestra del grupo de aplicaciones.

MakeAppIntermediateKeyId

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

Crea el ID de clave intermedia de la aplicación con los ID de clave constituyentes.

Detalles
Parámetros
[in] rootKeyId
ID de clave raíz que se usa para derivar la clave intermedia de la aplicación.
[in] epochKeyId
ID de clave de época que se usa para derivar la clave intermedia de la aplicación.
[in] useCurrentEpochKey
Marca booleana que indica si la clave debe derivarse con la clave de época "actual".
Qué muestra
el ID de la clave intermedia de la aplicación.

MakeAppKeyId

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

Crea el ID de clave del grupo de aplicaciones con los ID de clave constituyentes y otra información.

Detalles
Parámetros
[in] keyType
Tipo de clave del grupo de aplicaciones derivado.
[in] rootKeyId
ID de clave raíz que se usa para derivar la clave del grupo de aplicaciones.
[in] epochKeyId
ID de clave de época que se usa para derivar la clave del grupo de aplicaciones.
[in] appGroupMasterKeyId
ID de la clave maestra del grupo de aplicaciones que se usa para derivar la clave del grupo de aplicaciones.
[in] useCurrentEpochKey
Marca booleana que indica si la clave debe derivarse con la clave de época "actual".
Qué muestra
ID de la clave del grupo de aplicaciones.

MakeAppRotatingKeyId

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

Crea la aplicación rotando el ID de clave a partir de los ID de clave constituyentes y otra información.

Detalles
Parámetros
[in] rootKeyId
Es el ID de clave raíz que se usa para derivar la clave rotativa de la aplicación.
[in] epochKeyId
Es el ID de clave de época que se usa para derivar la clave que rota de la aplicación.
[in] appGroupMasterKeyId
ID de la clave maestra del grupo de aplicaciones que se usa para derivar la clave que rota de la aplicación.
[in] useCurrentEpochKey
Marca booleana que indica si la clave debe derivarse con la clave de época "actual".
Qué muestra
ID de la clave de rotación de la aplicación.

MakeAppStaticKeyId

uint32_t MakeAppStaticKeyId(
  uint32_t rootKeyId,
  uint32_t appGroupMasterKeyId
)

Crea el ID de la clave estática de la aplicación a partir de los ID de la clave constituyente.

Detalles
Parámetros
[in] rootKeyId
ID de la clave raíz que se usa para derivar la clave estática de la aplicación.
[in] appGroupMasterKeyId
ID de la clave maestra del grupo de aplicaciones que se usa para derivar la clave estática de la aplicación.
Qué muestra
el ID de la clave estática de la aplicación.

MakeEpochKeyId

uint32_t MakeEpochKeyId(
  uint8_t epochKeyNumber
)

Construye el ID de clave raíz del grupo de aplicaciones según el número de clave de época.

Detalles
Parámetros
[in] epochKeyNumber
Es el número de la clave de época.
Qué muestra
ID de clave de época.

MakeGeneralKeyId

uint16_t MakeGeneralKeyId(
  uint16_t generalKeyNumber
)

Crea un ID de clave general con un número de clave general.

Detalles
Parámetros
[in] generalKeyNumber
Número de clave general.
Qué muestra
ID de clave general.

MakeRootKeyId

uint32_t MakeRootKeyId(
  uint8_t rootKeyNumber
)

Construye el ID de la clave raíz del grupo de aplicaciones con el número de clave raíz.

Detalles
Parámetros
[in] rootKeyNumber
Número de clave raíz.
Qué muestra
el ID de la clave raíz.

MakeSessionKeyId

uint16_t MakeSessionKeyId(
  uint16_t sessionKeyNumber
)

Crea el ID de clave de sesión con el número de clave de sesión.

Detalles
Parámetros
[in] sessionKeyNumber
Número de clave de la sesión.
Qué muestra
ID de la clave de sesión.

UpdateEpochKeyId

uint32_t UpdateEpochKeyId(
  uint32_t keyId,
  uint32_t epochKeyId
)

Actualiza el ID de la clave del grupo de aplicaciones con el nuevo número de clave de época.

Detalles
Parámetros
[in] keyId
Es el ID de clave de la aplicación.
[in] epochKeyId
ID de clave de época, que se usará para crear el ID de clave de aplicación actualizado.
Qué muestra
el ID de la clave de aplicación.

UsesCurrentEpochKey

bool UsesCurrentEpochKey(
  uint32_t keyId
)

Determina si el ID de clave del grupo de aplicaciones especificado usa la clave de época "actual".

Detalles
Parámetros
[in] keyId
Es el identificador de clave del grupo de aplicaciones de Weave.
Qué muestra
true si el keyId indica el uso de la clave de época actual.