nl::Weave::WeaveKeyId

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

La definizione dell'identificatore della chiave Weave.

Riepilogo

Questa classe contiene tipi di chiavi, flag chiave, definizione di 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, flag e tipi della chiave Weave pubblica.

Funzioni statiche pubbliche

ConvertToCurrentAppKeyId(uint32_t keyId)
uint32_t
Converti l'ID della chiave del gruppo di applicazioni nell'ID della chiave corrente dell'applicazione.
ConvertToStaticAppKeyId(uint32_t keyId)
uint32_t
Converti l'ID chiave applicazione in ID chiave statica applicazione.
DescribeKey(uint32_t keyId)
const char *
Decodifica un identificatore di chiave Weave con una stringa descrittiva.
GetAppGroupLocalNumber(uint32_t keyId)
uint8_t
Ottieni il numero locale del gruppo di applicazioni utilizzato per ricavare la chiave applicazione specificata.
GetAppGroupMasterKeyId(uint32_t keyId)
uint32_t
Ottieni l'ID chiave master del gruppo di applicazioni utilizzato per ricavare la chiave applicazione specificata.
GetEpochKeyId(uint32_t keyId)
uint32_t
Ottieni l'ID chiave epoch del gruppo di applicazioni utilizzato per ricavare la chiave applicazione specificata.
GetEpochKeyNumber(uint32_t keyId)
uint8_t
Ottieni il numero della chiave epoch del gruppo di applicazioni che è stato utilizzato per ricavare la chiave applicazione specificata.
GetRootKeyId(uint32_t keyId)
uint32_t
Ottieni l'ID chiave root del gruppo di applicazioni utilizzato per ricavare la chiave applicazione specificata.
GetRootKeyNumber(uint32_t keyId)
uint8_t
Ottieni il numero della chiave radice del gruppo di applicazioni che è stato utilizzato per ricavare la chiave applicazione specificata.
GetType(uint32_t keyId)
uint32_t
Ottieni il tipo di chiave Weave dell'ID chiave specificato.
IncorporatesAppGroupMasterKey(uint32_t keyId)
bool
Determina se l'ID chiave del gruppo di applicazioni specificato include la chiave master del gruppo.
IncorporatesEpochKey(uint32_t keyId)
bool
Determina se l'ID della chiave del gruppo di applicazioni specificato include una chiave epoch.
IncorporatesRootKey(uint32_t keyId)
bool
Determina se l'ID della chiave del gruppo di applicazioni specificato include una chiave root.
IsAppEpochKey(uint32_t keyId)
bool
Determina se l'ID chiave specificato appartiene a un tipo di chiave epoch dell'applicazione.
IsAppGroupKey(uint32_t keyId)
bool
Determina se l'ID chiave specificato appartiene a uno dei tipi di chiavi del gruppo di applicazioni (statica o a rotazione).
IsAppGroupMasterKey(uint32_t keyId)
bool
Determina se l'ID chiave specificato appartiene al tipo di chiave master di un 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 è di tipo a 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 o, nel caso di chiavi in rotazione, lo stesso gruppo di chiavi indipendentemente da un'epoca particolare.
IsSessionKey(uint32_t keyId)
bool
Determina se l'ID chiave specificato è di tipo sessione.
IsValidKeyId(uint32_t keyId)
bool
Determina se l'identificatore della chiave ha un valore valido (legale).
MakeAppGroupMasterKeyId(uint8_t appGroupLocalNumber)
uint32_t
Crea l'ID chiave master del gruppo di applicazioni specificato il numero locale del gruppo di applicazioni.
MakeAppIntermediateKeyId(uint32_t rootKeyId, uint32_t epochKeyId, bool useCurrentEpochKey)
uint32_t
Crea l'ID chiave intermedio dell'applicazione assegnato gli ID chiave costituenti.
MakeAppKeyId(uint32_t keyType, uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Crea l'ID chiave del gruppo di applicazioni sulla base degli ID dei componenti chiave e di altre informazioni.
MakeAppRotatingKeyId(uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Costruire l'ID della chiave di rotazione dell'applicazione dati gli ID delle chiavi costituenti e altre informazioni.
MakeAppStaticKeyId(uint32_t rootKeyId, uint32_t appGroupMasterKeyId)
uint32_t
Crea l'ID chiave statica dell'applicazione in base agli ID chiave costituenti.
MakeEpochKeyId(uint8_t epochKeyNumber)
uint32_t
Crea l'ID chiave radice del gruppo di applicazioni dato il numero di chiave dell'epoca.
MakeGeneralKeyId(uint16_t generalKeyNumber)
uint16_t
Crea l'ID chiave generale dato il numero di chiave generale.
MakeRootKeyId(uint8_t rootKeyNumber)
uint32_t
Crea l'ID della chiave radice del gruppo di applicazioni specificato il numero di chiave radice.
MakeSessionKeyId(uint16_t sessionKeyNumber)
uint16_t
Crea l'ID della chiave di sessione specificato il numero della chiave di sessione.
UpdateEpochKeyId(uint32_t keyId, uint32_t epochKeyId)
uint32_t
Aggiorna l'ID della chiave del gruppo di applicazioni con il nuovo numero della chiave dell'epoca.
UsesCurrentEpochKey(uint32_t keyId)
bool
Determina se l'ID chiave del gruppo di applicazioni specificato utilizza una chiave d'epoca "corrente".

Tipi pubblici

@52

 @52

Campi, flag e tipi della chiave Weave pubblica.

Proprietà
kClientRootKey

ID chiave radice client.

kFabricRootKey

ID chiave radice dell'infrastruttura.

kFabricSecret

ID secret del fabric Weave.

kKeyNumber_Max

Valori massimi per i sottocampi dell'ID chiave.

kNone

Weave ID chiave globale.

ID chiave Weave non specificato.

kServiceRootKey

ID chiave radice del servizio.

kType_AppEpochKey

Tipo di chiave periodo 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).

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 della sessione.

Funzioni statiche pubbliche

ConvertToCurrentAppKeyId

uint32_t ConvertToCurrentAppKeyId(
  uint32_t keyId
)

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

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

ConvertToStaticAppKeyId

uint32_t ConvertToStaticAppKeyId(
  uint32_t keyId
)

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

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

DescribeKey

const char * DescribeKey(
  uint32_t keyId
)

Decodifica un identificatore di chiave Weave con una stringa descrittiva.

Dettagli
Parametri
[in] keyId
ID della chiave Weave per decodificare e per il quale 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 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 chiave master del gruppo di applicazioni utilizzato per ricavare la chiave 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 epoch del gruppo di applicazioni utilizzato per ricavare la chiave applicazione specificata.

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

GetEpochKeyNumber

uint8_t GetEpochKeyNumber(
  uint32_t keyId
)

Ottieni il numero della chiave epoch del gruppo di applicazioni che è stato utilizzato per ricavare la chiave applicazione specificata.

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

GetRootKeyId

uint32_t GetRootKeyId(
  uint32_t keyId
)

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

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

GetRootKeyNumber

uint8_t GetRootKeyNumber(
  uint32_t keyId
)

Ottieni il numero della chiave radice del gruppo di applicazioni che è stato utilizzato per ricavare la chiave applicazione specificata.

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

GetType

uint32_t GetType(
  uint32_t keyId
)

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

Dettagli
Parametri
[in] keyId
Identificatore chiave Weave.
Restituisce
dell'ID chiave.

IncorporatesAppGroupMasterKey

bool IncorporatesAppGroupMasterKey(
  uint32_t keyId
)

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

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

IncorporatesEpochKey

bool IncorporatesEpochKey(
  uint32_t keyId
)

Determina se l'ID della chiave del gruppo di applicazioni specificato include una chiave epoch.

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 della chiave del gruppo di applicazioni specificato include una chiave root.

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

IsAppEpochKey

bool IsAppEpochKey(
  uint32_t keyId
)

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

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

IsAppGroupKey

bool IsAppGroupKey(
  uint32_t keyId
)

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

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

IsAppGroupMasterKey

bool IsAppGroupMasterKey(
  uint32_t keyId
)

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

Dettagli
Parametri
[in] keyId
Identificatore chiave Weave.
Restituisce
true se il keyId di un tipo di chiave master del 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 root dell'applicazione.

IsAppRotatingKey

bool IsAppRotatingKey(
  uint32_t keyId
)

Determina se l'ID chiave specificato è di tipo a 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 l'ID chiave ha il tipo Generale.

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
Consente di specificare se gli ID chiavi logiche (ad esempio la chiave a rotazione "corrente") 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 o, nel caso di chiavi in rotazione, lo stesso gruppo di chiavi indipendentemente da un'epoca particolare.

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 della chiave ha un valore valido (legale).

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 specificato 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
)

Crea l'ID chiave intermedio dell'applicazione assegnato gli ID chiave costituenti.

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

MakeAppKeyId

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

Crea l'ID chiave del gruppo di applicazioni sulla base degli ID dei componenti chiave e di 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 periodo 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 utilizzando la chiave epoch "current".
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 della chiave di rotazione dell'applicazione dati gli ID delle chiavi costituenti e altre informazioni.

Dettagli
Parametri
[in] rootKeyId
ID chiave radice utilizzato per ricavare la chiave di rotazione dell'applicazione.
[in] epochKeyId
ID chiave periodo 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 utilizzando la chiave epoch "current".
Restituisce
l'ID della chiave di rotazione dell'applicazione.

MakeAppStaticKeyId

uint32_t MakeAppStaticKeyId(
  uint32_t rootKeyId,
  uint32_t appGroupMasterKeyId
)

Crea l'ID chiave statica dell'applicazione in base agli ID chiave costituenti.

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 della chiave statica dell'applicazione.

MakeEpochKeyId

uint32_t MakeEpochKeyId(
  uint8_t epochKeyNumber
)

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

Dettagli
Parametri
[in] epochKeyNumber
Numero chiave periodo.
Restituisce
ID chiave del periodo.

MakeGeneralKeyId

uint16_t MakeGeneralKeyId(
  uint16_t generalKeyNumber
)

Crea l'ID chiave generale dato il numero di chiave generale.

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

MakeRootKeyId

uint32_t MakeRootKeyId(
  uint8_t rootKeyNumber
)

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

Dettagli
Parametri
[in] rootKeyNumber
Numero di chiave root.
Restituisce
principale.

MakeSessionKeyId

uint16_t MakeSessionKeyId(
  uint16_t sessionKeyNumber
)

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

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

UpdateEpochKeyId

uint32_t UpdateEpochKeyId(
  uint32_t keyId,
  uint32_t epochKeyId
)

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

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

UsesCurrentEpochKey

bool UsesCurrentEpochKey(
  uint32_t keyId
)

Determina se l'ID chiave del gruppo di applicazioni specificato utilizza una chiave d'epoca "corrente".

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