nl::Weave::WeaveKeyId

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

La definizione dell'identificatore chiave Weave.

Riepilogo

Questa classe contiene tipi di chiavi, flag di chiave, definizione dei campi ID chiave e funzioni API.

Tipi pubblici

@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
Campi ID chiave pubblica Weave, flag e tipi.

Funzioni statiche pubbliche

ConvertToCurrentAppKeyId(uint32_t keyId)
uint32_t
Converti l'ID chiave del gruppo di applicazioni in ID chiave corrente dell'applicazione.
ConvertToStaticAppKeyId(uint32_t keyId)
uint32_t
Converti l'ID chiave dell'applicazione in un ID chiave statica dell'applicazione.
DescribeKey(uint32_t keyId)
const char *
Decodifica un identificatore chiave di Weave con una stringa descrittiva.
GetAppGroupLocalNumber(uint32_t keyId)
uint8_t
Ottieni il numero locale del gruppo di applicazioni utilizzato per ricavare la chiave dell'applicazione specificata.
GetAppGroupMasterKeyId(uint32_t keyId)
uint32_t
Ottieni l'ID della chiave master del gruppo di applicazioni utilizzato per ricavare la chiave dell'applicazione specificata.
GetEpochKeyId(uint32_t keyId)
uint32_t
Ottieni l'ID chiave dell'epoca del gruppo di applicazioni utilizzato per ricavare la chiave dell'applicazione specificata.
GetEpochKeyNumber(uint32_t keyId)
uint8_t
Ottieni il numero della chiave dell'epoca del gruppo di applicazioni utilizzato per ricavare la chiave dell'applicazione specificata.
GetRootKeyId(uint32_t keyId)
uint32_t
Ottieni l'ID della chiave radice del gruppo di applicazioni utilizzato per ricavare la chiave dell'applicazione specificata.
GetRootKeyNumber(uint32_t keyId)
uint8_t
Ottieni il numero della chiave radice del gruppo di applicazioni utilizzato per ricavare la chiave dell'applicazione specificata.
GetType(uint32_t keyId)
uint32_t
Recupera il tipo di chiave Weave dell'ID chiave specificato.
IncorporatesAppGroupMasterKey(uint32_t keyId)
bool
Determina se l'ID chiave del gruppo di applicazioni specificato incorpora la chiave master del gruppo.
IncorporatesEpochKey(uint32_t keyId)
bool
Determina se l'ID chiave del gruppo di applicazioni specificato incorpora la chiave dell'epoca.
IncorporatesRootKey(uint32_t keyId)
bool
Determina se l'ID chiave del gruppo di applicazioni specificato incorpora la chiave radice.
IsAppEpochKey(uint32_t keyId)
bool
Determina se l'ID chiave specificato appartiene a un tipo di chiave di epoca dell'applicazione.
IsAppGroupKey(uint32_t keyId)
bool
Determina se l'ID chiave specificato appartiene a uno dei tipi di chiavi del gruppo di applicazioni (statico o a rotazione).
IsAppGroupMasterKey(uint32_t keyId)
bool
Determina se l'ID chiave specificato appartiene a un tipo di chiave master del gruppo di applicazioni.
IsAppRootKey(uint32_t keyId)
bool
Determina se l'ID chiave specificato è di un tipo di chiave radice dell'applicazione.
IsAppRotatingKey(uint32_t keyId)
bool
Determina se l'ID chiave specificato fa parte di un tipo di rotazione dell'applicazione.
IsAppStaticKey(uint32_t keyId)
bool
Determina se l'ID chiave specificato è di tipo statico dell'applicazione.
IsGeneralKey(uint32_t keyId)
bool
Determina se l'ID chiave specificato è di tipo generale.
IsMessageEncryptionKeyId(uint32_t keyId, bool allowLogicalKeys)
bool
Determina se un determinato ID chiave identifica una chiave adatta alla crittografia dei messaggi Weave.
IsSameKeyOrGroup(uint32_t keyId1, uint32_t keyId2)
bool
Determina se due ID chiave identificano la stessa chiave oppure, in caso di chiavi rotanti, lo stesso gruppo di chiavi indipendentemente da una particolare epoca.
IsSessionKey(uint32_t keyId)
bool
Determina se l'ID chiave specificato è di tipo sessione.
IsValidKeyId(uint32_t keyId)
bool
Determina se l'identificatore chiave ha un valore (legale) valido.
MakeAppGroupMasterKeyId(uint8_t appGroupLocalNumber)
uint32_t
Crea l'ID chiave master del gruppo di applicazioni dato il numero locale del gruppo di applicazioni.
MakeAppIntermediateKeyId(uint32_t rootKeyId, uint32_t epochKeyId, bool useCurrentEpochKey)
uint32_t
Costruire l'ID chiave intermedia dell'applicazione dati gli ID chiave del costituente.
MakeAppKeyId(uint32_t keyType, uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Costruire l'ID chiave del gruppo di applicazioni in base agli ID chiave dei costituenti e ad altre informazioni.
MakeAppRotatingKeyId(uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Costruire l'ID chiave di rotazione dell'applicazione dati gli ID chiave dei costituenti e altre informazioni.
MakeAppStaticKeyId(uint32_t rootKeyId, uint32_t appGroupMasterKeyId)
uint32_t
Costruire l'ID chiave statico dell'applicazione dati gli ID chiave del costituente.
MakeEpochKeyId(uint8_t epochKeyNumber)
uint32_t
Crea l'ID chiave radice del gruppo di applicazioni dato il numero della chiave dell'epoca.
MakeGeneralKeyId(uint16_t generalKeyNumber)
uint16_t
Costruire l'ID chiave generale dato un numero di chiave generale.
MakeRootKeyId(uint8_t rootKeyNumber)
uint32_t
Crea l'ID chiave radice del gruppo di applicazioni dato il numero di chiave radice.
MakeSessionKeyId(uint16_t sessionKeyNumber)
uint16_t
Crea l'ID chiave di sessione specificato per il numero di chiave di sessione.
UpdateEpochKeyId(uint32_t keyId, uint32_t epochKeyId)
uint32_t
Aggiorna l'ID chiave del gruppo di applicazioni con il nuovo numero di chiave dell'epoca.
UsesCurrentEpochKey(uint32_t keyId)
bool
Determina se l'ID chiave del gruppo di applicazioni specificato utilizza "current" chiave dell'epoca.

Tipi pubblici

@52

 @52

Campi ID chiave pubblica Weave, flag e tipi.

Proprietà
kClientRootKey

ID chiave radice del client.

kFabricRootKey

ID chiave principale dell'Infrastruttura.

kFabricSecret

ID segreto del tessuto di tessuto.

kKeyNumber_Max

Valori massimi per i sottocampi ID chiave.

kNone

ID chiave globali Weave.

ID chiave Weave non specificato.

kServiceRootKey

ID chiave radice del servizio.

kType_AppEpochKey

Tipo di chiave dell'epoca del gruppo di applicazioni.

kType_AppGroupMasterKey

Tipo di chiave master del gruppo di applicazioni.

kType_AppIntermediateKey

Tipo di chiave intermedia del gruppo di applicazioni.

kType_AppRootKey

Tipi di chiavi Weave (diversi dai tipi di crittografia dei messaggi Weave).

di Gemini Advanced.

kType_AppRotatingKey

Tipo di chiave di rotazione dell'applicazione.

kType_AppStaticKey

Tipo di chiave statica dell'applicazione.

kType_General

Tipo di chiave generale.

kType_None

Tipi di chiavi Weave utilizzati per la crittografia dei messaggi Weave.

kType_Session

Tipo di chiave di sessione.

Funzioni statiche pubbliche

ConvertToCurrentAppKeyId

uint32_t ConvertToCurrentAppKeyId(
  uint32_t keyId
)

Converti l'ID chiave del gruppo di applicazioni in ID chiave corrente dell'applicazione.

Dettagli
Parametri
[in] keyId
ID chiave applicazione.
Restituisce
l'ID chiave corrente dell'applicazione.

ConvertToStaticAppKeyId

uint32_t ConvertToStaticAppKeyId(
  uint32_t keyId
)

Converti l'ID chiave dell'applicazione in un ID chiave statica dell'applicazione.

Dettagli
Parametri
[in] keyId
ID chiave applicazione.
Restituisce
l'ID chiave statico dell'applicazione.

DescribeKey

const char * DescribeKey(
  uint32_t keyId
)

Decodifica un identificatore chiave Weave con una stringa descrittiva.

Dettagli
Parametri
[in] keyId
ID chiave Weave da decodificare e per cui restituire una stringa descrittiva.
Restituisce
Un puntatore a una stringa con terminazione NULL che descrive l'ID chiave specificato.

GetAppGroupLocalNumber

uint8_t GetAppGroupLocalNumber(
  uint32_t keyId
)

Ottieni il numero locale del gruppo di applicazioni utilizzato per ricavare la chiave dell'applicazione specificata.

Dettagli
Parametri
[in] keyId
Identificatore chiave del gruppo di applicazioni Weave.
Restituisce
numero locale del gruppo di applicazioni.

GetAppGroupMasterKeyId

uint32_t GetAppGroupMasterKeyId(
  uint32_t keyId
)

Ottieni l'ID della chiave master del gruppo di applicazioni utilizzato per ricavare la chiave dell'applicazione specificata.

Dettagli
Parametri
[in] keyId
Identificatore chiave del gruppo di applicazioni Weave.
Restituisce
l'ID chiave master del gruppo di applicazioni.

GetEpochKeyId

uint32_t GetEpochKeyId(
  uint32_t keyId
)

Ottieni l'ID chiave dell'epoca del gruppo di applicazioni utilizzato per ricavare la chiave dell'applicazione specificata.

Dettagli
Parametri
[in] keyId
Identificatore chiave del gruppo di applicazioni Weave.
Restituisce
dell'epoca.

GetEpochKeyNumber

uint8_t GetEpochKeyNumber(
  uint32_t keyId
)

Ottieni il numero della chiave dell'epoca del gruppo di applicazioni utilizzato per ricavare la chiave dell'applicazione specificata.

Dettagli
Parametri
[in] keyId
Identificatore chiave del gruppo di applicazioni Weave.
Restituisce
numero chiave dell'epoca.

GetRootKeyId

uint32_t GetRootKeyId(
  uint32_t keyId
)

Ottieni l'ID della chiave radice del gruppo di applicazioni utilizzato per ricavare la chiave dell'applicazione specificata.

Dettagli
Parametri
[in] keyId
Identificatore chiave del gruppo di applicazioni Weave.
Restituisce
l'ID della chiave radice.

GetRootKeyNumber

uint8_t GetRootKeyNumber(
  uint32_t keyId
)

Ottieni il numero della chiave radice del gruppo di applicazioni utilizzato per ricavare la chiave dell'applicazione specificata.

Dettagli
Parametri
[in] keyId
Identificatore chiave del gruppo di applicazioni Weave.
Restituisce
principale.

GetType

uint32_t GetType(
  uint32_t keyId
)

Recupera il tipo di chiave Weave dell'ID chiave specificato.

Dettagli
Parametri
[in] keyId
Identificatore chiave Weave.
Restituisce
tipo di ID chiave.

IncorporatesAppGroupMasterKey

bool IncorporatesAppGroupMasterKey(
  uint32_t keyId
)

Determina se l'ID chiave del gruppo di applicazioni specificato incorpora la chiave master del gruppo.

Dettagli
Parametri
[in] keyId
Identificatore chiave del gruppo di applicazioni Weave.
Restituisce
true se il keyId incorpora una chiave master del gruppo.

IncorporatesEpochKey

bool IncorporatesEpochKey(
  uint32_t keyId
)

Determina se l'ID chiave del gruppo di applicazioni specificato incorpora la chiave dell'epoca.

Dettagli
Parametri
[in] keyId
Identificatore chiave del gruppo di applicazioni Weave.
Restituisce
true se il keyId incorpora una chiave epoch.

IncorporatesRootKey

bool IncorporatesRootKey(
  uint32_t keyId
)

Determina se l'ID chiave del gruppo di applicazioni specificato incorpora la chiave radice.

Dettagli
Parametri
[in] keyId
Identificatore chiave del gruppo di applicazioni Weave.
Restituisce
true se il keyId incorpora una chiave radice.

IsAppEpochKey

bool IsAppEpochKey(
  uint32_t keyId
)

Determina se l'ID chiave specificato appartiene a un tipo di chiave di epoca dell'applicazione.

Dettagli
Parametri
[in] keyId
Identificatore chiave Weave.
Restituisce
true se il keyId di un tipo di chiave di un'epoca dell'applicazione.

IsAppGroupKey

bool IsAppGroupKey(
  uint32_t keyId
)

Determina se l'ID chiave specificato appartiene a uno dei tipi di chiavi del gruppo di applicazioni (statico o a rotazione).

Dettagli
Parametri
[in] keyId
Identificatore chiave Weave.
Restituisce
true se il keyId è di tipo di chiave statico o rotante.

IsAppGroupMasterKey

bool IsAppGroupMasterKey(
  uint32_t keyId
)

Determina se l'ID chiave specificato appartiene a un tipo di chiave master del gruppo di applicazioni.

Dettagli
Parametri
[in] keyId
Identificatore chiave Weave.
Restituisce
true se il keyId di un tipo di chiave master di un gruppo di applicazioni.

IsAppRootKey

bool IsAppRootKey(
  uint32_t keyId
)

Determina se l'ID chiave specificato è di un tipo di chiave radice dell'applicazione.

Dettagli
Parametri
[in] keyId
Identificatore chiave Weave.
Restituisce
true se il keyId di un tipo di chiave radice dell'applicazione.

IsAppRotatingKey

bool IsAppRotatingKey(
  uint32_t keyId
)

Determina se l'ID chiave specificato fa parte di un tipo di rotazione dell'applicazione.

Dettagli
Parametri
[in] keyId
Identificatore chiave Weave.
Restituisce
true se il keyId di un tipo di rotazione dell'applicazione.

IsAppStaticKey

bool IsAppStaticKey(
  uint32_t keyId
)

Determina se l'ID chiave specificato è di tipo statico dell'applicazione.

Dettagli
Parametri
[in] keyId
Identificatore chiave Weave.
Restituisce
true se il keyId di un tipo statico di applicazione.

IsGeneralKey

bool IsGeneralKey(
  uint32_t keyId
)

Determina se l'ID chiave specificato è di tipo generale.

Dettagli
Parametri
[in] keyId
Identificatore chiave Weave.
Restituisce
true se keyId è di tipo General.

IsMessageEncryptionKeyId

bool IsMessageEncryptionKeyId(
  uint32_t keyId,
  bool allowLogicalKeys
)

Determina se un determinato ID chiave identifica una chiave adatta alla crittografia dei messaggi Weave.

Dettagli
Parametri
[in] keyId
ID chiave Weave.
[in] allowLogicalKeys
Specifica se gli ID delle chiavi logiche (ad esempio la chiave di rotazione "attuale") devono essere considerati adatti per la crittografia dei messaggi.
Restituisce
true Se la chiave identificata può essere utilizzata per criptare i messaggi Weave.

IsSameKeyOrGroup

bool IsSameKeyOrGroup(
  uint32_t keyId1,
  uint32_t keyId2
)

Determina se due ID chiave identificano la stessa chiave oppure, in caso di chiavi rotanti, lo stesso gruppo di chiavi indipendentemente da una particolare epoca.

Dettagli
Parametri
[in] keyId1
Il primo ID chiave da testare.
[in] keyId2
Il secondo ID chiave da testare.
Restituisce
True se gli ID delle chiavi rappresentano la stessa chiave.

IsSessionKey

bool IsSessionKey(
  uint32_t keyId
)

Determina se l'ID chiave specificato è di tipo sessione.

Dettagli
Parametri
[in] keyId
Identificatore chiave Weave.
Restituisce
true se il keyId di un tipo di sessione.

IsValidKeyId

bool IsValidKeyId(
  uint32_t keyId
)

Determina se l'identificatore chiave ha un valore (legale) valido.

Dettagli
Parametri
[in] keyId
ID chiave Weave.
Restituisce
true se il valore dell'ID chiave è valido.

MakeAppGroupMasterKeyId

uint32_t MakeAppGroupMasterKeyId(
  uint8_t appGroupLocalNumber
)

Crea l'ID chiave master del gruppo di applicazioni dato il numero locale del gruppo di applicazioni.

Dettagli
Parametri
[in] appGroupLocalNumber
Numero locale del gruppo di applicazioni.
Restituisce
l'ID chiave master del gruppo di applicazioni.

MakeAppIntermediateKeyId

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

Costruire l'ID chiave intermedia dell'applicazione dati gli ID chiave del costituente.

Dettagli
Parametri
[in] rootKeyId
ID chiave radice utilizzato per ricavare la chiave intermedia dell'applicazione.
[in] epochKeyId
ID chiave dell'epoca utilizzato per ricavare la chiave intermedia dell'applicazione.
[in] useCurrentEpochKey
Un flag booleano che indica se la chiave deve essere derivata usando "current" chiave dell'epoca.
Restituisce
l'ID chiave intermedia dell'applicazione.

MakeAppKeyId

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

Costruire l'ID chiave del gruppo di applicazioni in base agli ID chiave dei costituenti e ad altre informazioni.

Dettagli
Parametri
[in] keyType
Tipo di chiave del gruppo di applicazioni derivato.
[in] rootKeyId
ID chiave radice utilizzato per ricavare la chiave del gruppo di applicazioni.
[in] epochKeyId
ID chiave dell'epoca utilizzato per ricavare la chiave del gruppo di applicazioni.
[in] appGroupMasterKeyId
ID chiave master del gruppo di applicazioni utilizzato per ricavare la chiave del gruppo di applicazioni.
[in] useCurrentEpochKey
Un flag booleano che indica se la chiave deve essere derivata usando "current" chiave dell'epoca.
Restituisce
l'ID chiave del gruppo di applicazioni.

MakeAppRotatingKeyId

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

Costruire l'ID chiave di rotazione dell'applicazione dati gli ID chiave dei costituenti e altre informazioni.

Dettagli
Parametri
[in] rootKeyId
ID chiave radice utilizzato per ricavare la chiave di rotazione dell'applicazione.
[in] epochKeyId
ID chiave dell'epoca utilizzato per ricavare la chiave di rotazione dell'applicazione.
[in] appGroupMasterKeyId
ID chiave master del gruppo di applicazioni utilizzato per ricavare la chiave di rotazione dell'applicazione.
[in] useCurrentEpochKey
Un flag booleano che indica se la chiave deve essere derivata usando "current" chiave dell'epoca.
Restituisce
chiave di rotazione dell'applicazione.

MakeAppStaticKeyId

uint32_t MakeAppStaticKeyId(
  uint32_t rootKeyId,
  uint32_t appGroupMasterKeyId
)

Costruire l'ID chiave statico dell'applicazione dati gli ID chiave del costituente.

Dettagli
Parametri
[in] rootKeyId
ID chiave radice utilizzato per ricavare la chiave statica dell'applicazione.
[in] appGroupMasterKeyId
ID chiave master del gruppo di applicazioni utilizzato per ricavare la chiave statica dell'applicazione.
Restituisce
l'ID chiave statico dell'applicazione.

MakeEpochKeyId

uint32_t MakeEpochKeyId(
  uint8_t epochKeyNumber
)

Crea l'ID chiave radice del gruppo di applicazioni dato il numero della chiave dell'epoca.

Dettagli
Parametri
[in] epochKeyNumber
Numero chiave dell'epoca.
Restituisce
dell'epoca.

MakeGeneralKeyId

uint16_t MakeGeneralKeyId(
  uint16_t generalKeyNumber
)

Costruire l'ID chiave generale dato un numero di chiave generale.

Dettagli
Parametri
[in] generalKeyNumber
Numero chiave generale.
Restituisce
l'ID chiave generale.

MakeRootKeyId

uint32_t MakeRootKeyId(
  uint8_t rootKeyNumber
)

Crea l'ID chiave radice del gruppo di applicazioni dato il numero di chiave radice.

Dettagli
Parametri
[in] rootKeyNumber
Numero della chiave radice.
Restituisce
l'ID della chiave radice.

MakeSessionKeyId

uint16_t MakeSessionKeyId(
  uint16_t sessionKeyNumber
)

Crea l'ID chiave di sessione specificato per il numero di chiave di sessione.

Dettagli
Parametri
[in] sessionKeyNumber
Numero della chiave di sessione.
Restituisce
ID chiave di sessione.

UpdateEpochKeyId

uint32_t UpdateEpochKeyId(
  uint32_t keyId,
  uint32_t epochKeyId
)

Aggiorna l'ID chiave del gruppo di applicazioni con il nuovo numero di chiave dell'epoca.

Dettagli
Parametri
[in] keyId
ID chiave applicazione.
[in] epochKeyId
ID chiave dell'epoca, che verrà utilizzato per la creazione dell'ID chiave dell'applicazione aggiornato.
Restituisce
l'ID chiave dell'applicazione.

UsesCurrentEpochKey

bool UsesCurrentEpochKey(
  uint32_t keyId
)

Determina se l'ID chiave del gruppo di applicazioni specificato utilizza il valore "attuale" chiave dell'epoca.

Dettagli
Parametri
[in] keyId
Identificatore chiave del gruppo di applicazioni Weave.
Restituisce
true se il keyId indica l'utilizzo della chiave dell'epoca corrente.