nl::Weave::WeaveKeyId

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

La definición del identificador de la 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 pública de Weave.

Funciones estáticas públicas

ConvertToCurrentAppKeyId(uint32_t keyId)
uint32_t
Convierte el ID de clave del grupo de aplicaciones en el ID de clave actual de la aplicación.
ConvertToStaticAppKeyId(uint32_t keyId)
uint32_t
Convierte el ID de clave de la aplicación en un ID de 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 clave maestra del grupo de aplicaciones que se usó para derivar la clave de aplicación especificada.
GetEpochKeyId(uint32_t keyId)
uint32_t
Obtiene 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 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
Obtiene 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 la clave maestra del grupo.
IncorporatesEpochKey(uint32_t keyId)
bool
Determina si el ID de clave del grupo de aplicaciones especificado incorpora una clave de época.
IncorporatesRootKey(uint32_t keyId)
bool
Determina si el ID de clave del grupo de aplicaciones especificado incorpora la clave raíz.
IsAppEpochKey(uint32_t keyId)
bool
Determina si el ID de clave especificado corresponde a un tipo de clave de ciclo de entrenamiento de la aplicación.
IsAppGroupKey(uint32_t keyId)
bool
Determina si el ID de clave especificado pertenece a uno de los tipos de claves del grupo de aplicaciones (estáticos o rotativos).
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 corresponde a un tipo de clave raíz de la aplicación.
IsAppRotatingKey(uint32_t keyId)
bool
Determina si el ID de clave especificado corresponde a un tipo de rotación de aplicaciones.
IsAppStaticKey(uint32_t keyId)
bool
Determina si el ID de clave especificado es de un tipo estático de aplicación.
IsGeneralKey(uint32_t keyId)
bool
Determina si el ID de clave especificado es de tipo general.
IsMessageEncryptionKeyId(uint32_t keyId, bool allowLogicalKeys)
bool
Determina si un ID de clave determinado 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 claves rotativas, el mismo grupo de claves independiente de cualquier 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 clave principal del grupo de aplicaciones según 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 según los IDs 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 a partir de los IDs de clave constituyentes y otra información.
MakeAppRotatingKeyId(uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Crea el ID de clave rotativo de la aplicación a partir de los IDs de clave constituyentes y otra información.
MakeAppStaticKeyId(uint32_t rootKeyId, uint32_t appGroupMasterKeyId)
uint32_t
Crea el ID de clave estática de la aplicación dado los IDs de clave constituyentes.
MakeEpochKeyId(uint8_t epochKeyNumber)
uint32_t
Crea el ID de clave raíz del grupo de aplicaciones según el número de clave de época determinado.
MakeGeneralKeyId(uint16_t generalKeyNumber)
uint16_t
Construye el ID de clave general a partir del número de clave general.
MakeRootKeyId(uint8_t rootKeyNumber)
uint32_t
Crea el ID de clave raíz del grupo de aplicaciones según el número de clave raíz.
MakeSessionKeyId(uint16_t sessionKeyNumber)
uint16_t
Crea el ID de la clave de sesión determinado número de clave de sesión.
UpdateEpochKeyId(uint32_t keyId, uint32_t epochKeyId)
uint32_t
Actualiza el ID de 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 el “actual” clave de época.

Tipos públicos

@52

 @52

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

Propiedades
kClientRootKey

ID de clave raíz del cliente.

kFabricRootKey

ID de la clave raíz de Fabric.

kFabricSecret

ID del secreto de tejido de Weave.

kKeyNumber_Max

Valores máximos para subcampos de ID de clave.

kNone

ID de clave global de Weave.

ID de clave de Weave sin especificar.

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 clave del grupo de aplicaciones en el ID de clave actual de la aplicación.

Detalles
Parámetros
[in] keyId
ID de la clave de aplicación.
Resultado que se muestra
el ID de la clave actual de la aplicación.

ConvertToStaticAppKeyId

uint32_t ConvertToStaticAppKeyId(
  uint32_t keyId
)

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

Detalles
Parámetros
[in] keyId
ID de la clave de aplicación.
Resultado que se 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 tejido para decodificar y para el cual mostrar una cadena descriptiva.
Resultado que se muestra
Un puntero a una cadena 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
Identificador de clave del grupo de aplicaciones de Weave.
Resultado que se muestra
número local del grupo de aplicaciones.

GetAppGroupMasterKeyId

uint32_t GetAppGroupMasterKeyId(
  uint32_t keyId
)

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

Detalles
Parámetros
[in] keyId
Identificador de clave del grupo de aplicaciones de Weave.
Resultado que se muestra
el ID de la clave maestra del grupo de aplicaciones.

GetEpochKeyId

uint32_t GetEpochKeyId(
  uint32_t keyId
)

Obtiene 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
Identificador de clave del grupo de aplicaciones de Weave.
Resultado que se 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
Identificador de clave del grupo de aplicaciones de Weave.
Resultado que se muestra
número de clave de época.

GetRootKeyId

uint32_t GetRootKeyId(
  uint32_t keyId
)

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

Detalles
Parámetros
[in] keyId
Identificador de clave del grupo de aplicaciones de Weave.
Resultado que se muestra
ID de 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
Identificador de clave del grupo de aplicaciones de Weave.
Resultado que se muestra
el número de clave raíz.

GetType

uint32_t GetType(
  uint32_t keyId
)

Obtiene el tipo de clave de Weave del ID de clave especificado.

Detalles
Parámetros
[in] keyId
Identificador de clave de Weave.
Resultado que se muestra
el tipo de ID de la clave.

IncorporatesAppGroupMasterKey

bool IncorporatesAppGroupMasterKey(
  uint32_t keyId
)

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

Detalles
Parámetros
[in] keyId
Identificador de clave del grupo de aplicaciones de Weave.
Resultado que se muestra
true si el keyId incorpora la clave maestra del grupo.

IncorporatesEpochKey

bool IncorporatesEpochKey(
  uint32_t keyId
)

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

Detalles
Parámetros
[in] keyId
Identificador de clave del grupo de aplicaciones de Weave.
Resultado que se 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 la clave raíz.

Detalles
Parámetros
[in] keyId
Identificador de clave del grupo de aplicaciones de Weave.
Resultado que se muestra
true si el keyId incorpora la clave raíz.

IsAppEpochKey

bool IsAppEpochKey(
  uint32_t keyId
)

Determina si el ID de clave especificado es de un tipo de clave de ciclo de entrenamiento de la aplicación.

Detalles
Parámetros
[in] keyId
Identificador de clave de Weave.
Resultado que se muestra
true si el keyId de un tipo de clave de época de la aplicación.

IsAppGroupKey

bool IsAppGroupKey(
  uint32_t keyId
)

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

Detalles
Parámetros
[in] keyId
Identificador de clave de Weave.
Resultado que se muestra
true si el keyId es de un 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
Identificador de clave de Weave.
Resultado que se muestra
true si 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 corresponde a un tipo de clave raíz de la aplicación.

Detalles
Parámetros
[in] keyId
Identificador de clave de Weave.
Resultado que se muestra
true si 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 corresponde a un tipo de rotación de aplicaciones.

Detalles
Parámetros
[in] keyId
Identificador de clave de Weave.
Resultado que se muestra
true si el keyId de un tipo rotativo de aplicación.

IsAppStaticKey

bool IsAppStaticKey(
  uint32_t keyId
)

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

Detalles
Parámetros
[in] keyId
Identificador de clave de Weave.
Resultado que se muestra
true si el keyId de un tipo estático de aplicación.

IsGeneralKey

bool IsGeneralKey(
  uint32_t keyId
)

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

Detalles
Parámetros
[in] keyId
Identificador de clave de Weave.
Resultado que se muestra
true si el keyId tiene el tipo General.

IsMessageEncryptionKeyId

bool IsMessageEncryptionKeyId(
  uint32_t keyId,
  bool allowLogicalKeys
)

Determina si un ID de clave determinado 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 IDs de claves lógicas (como la clave rotativa “actual”) deben considerarse adecuados para la encriptación de mensajes.
Resultado que se 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 claves rotativas, el mismo grupo de claves independiente de cualquier ciclo de entrenamiento en particular.

Detalles
Parámetros
[in] keyId1
Es el primer ID de la clave que se probará.
[in] keyId2
El segundo ID de la clave que se probará.
Resultado que se 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
Identificador de clave de Weave.
Resultado que se muestra
true si 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.
Resultado que se muestra
true si el valor del ID de clave es válido.

MakeAppGroupMasterKeyId

uint32_t MakeAppGroupMasterKeyId(
  uint8_t appGroupLocalNumber
)

Crea el ID de clave principal del grupo de aplicaciones según el número local del grupo de aplicaciones.

Detalles
Parámetros
[in] appGroupLocalNumber
Número local del grupo de aplicaciones.
Resultado que se 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 según los IDs de clave constituyentes.

Detalles
Parámetros
[in] rootKeyId
Es el ID de clave raíz que se usa para derivar la clave intermedia de la aplicación.
[in] epochKeyId
Es el ID de clave de época que se usa para derivar la clave intermedia de la aplicación.
[in] useCurrentEpochKey
Una marca booleana que indica si la clave se debe derivar mediante “actual” clave de época.
Resultado que se muestra
el ID de 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 a partir de los IDs de clave constituyentes y otra información.

Detalles
Parámetros
[in] keyType
Tipo de clave del grupo de aplicaciones derivado.
[in] rootKeyId
Es el ID de clave raíz que se usa para derivar la clave del grupo de aplicaciones.
[in] epochKeyId
ID de clave de época usada para derivar la clave del grupo de aplicaciones.
[in] appGroupMasterKeyId
El ID de clave maestra del grupo de aplicaciones que se usa para derivar la clave del grupo de aplicaciones.
[in] useCurrentEpochKey
Una marca booleana que indica si la clave se debe derivar mediante “actual” clave de época.
Resultado que se muestra
el ID de clave del grupo de aplicaciones.

MakeAppRotatingKeyId

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

Crea el ID de clave rotativo de la aplicación a partir de los IDs 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
ID de clave de época usada para derivar la clave rotativa de la aplicación.
[in] appGroupMasterKeyId
El ID de clave maestra del grupo de aplicaciones que se usa para derivar la clave rotativa de la aplicación.
[in] useCurrentEpochKey
Una marca booleana que indica si la clave se debe derivar mediante “actual” clave de época.
Resultado que se muestra
el ID de clave rotativo de la aplicación.

MakeAppStaticKeyId

uint32_t MakeAppStaticKeyId(
  uint32_t rootKeyId,
  uint32_t appGroupMasterKeyId
)

Crea el ID de clave estática de la aplicación dado los ID de clave constituyentes.

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

MakeEpochKeyId

uint32_t MakeEpochKeyId(
  uint8_t epochKeyNumber
)

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

Detalles
Parámetros
[in] epochKeyNumber
Número de clave de época
Resultado que se muestra
ID de clave de época.

MakeGeneralKeyId

uint16_t MakeGeneralKeyId(
  uint16_t generalKeyNumber
)

Construye el ID de clave general a partir del número de clave general.

Detalles
Parámetros
[in] generalKeyNumber
Número de clave general.
Resultado que se muestra
ID de clave general.

MakeRootKeyId

uint32_t MakeRootKeyId(
  uint8_t rootKeyNumber
)

Crea el ID de clave raíz del grupo de aplicaciones según el número de clave raíz.

Detalles
Parámetros
[in] rootKeyNumber
Número de clave raíz.
Resultado que se muestra
ID de clave raíz.

MakeSessionKeyId

uint16_t MakeSessionKeyId(
  uint16_t sessionKeyNumber
)

Crea el ID de la clave de sesión determinado número de clave de sesión.

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

UpdateEpochKeyId

uint32_t UpdateEpochKeyId(
  uint32_t keyId,
  uint32_t epochKeyId
)

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

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

UsesCurrentEpochKey

bool UsesCurrentEpochKey(
  uint32_t keyId
)

Determina si el ID de clave del grupo de aplicaciones especificado usa el “actual” clave de época.

Detalles
Parámetros
[in] keyId
Identificador de clave del grupo de aplicaciones de Weave.
Resultado que se muestra
true si el keyId indica el uso de la clave de época actual.