nl::Weave::WeaveKeyId

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

Definicja identyfikatora klucza Weave.

Podsumowanie

Ta klasa zawiera typy kluczy, flagi kluczy, definicje pól identyfikatora klucza i funkcje interfejsu API.

Typy publiczne

@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 | typ wyliczeniowy
Pola, flagi i typy publicznego klucza Weave.

Publiczne funkcje statyczne

ConvertToCurrentAppKeyId(uint32_t keyId)
uint32_t
Przekonwertuj identyfikator klucza grupy aplikacji na bieżący identyfikator klucza aplikacji.
ConvertToStaticAppKeyId(uint32_t keyId)
uint32_t
Przekonwertuj identyfikator klucza aplikacji na identyfikator statycznego klucza aplikacji.
DescribeKey(uint32_t keyId)
const char *
Dekoduj identyfikator klucza Weave za pomocą opisowego ciągu.
GetAppGroupLocalNumber(uint32_t keyId)
uint8_t
Pobierz lokalny numer grupy aplikacji, który został użyty do uzyskania określonego klucza aplikacji.
GetAppGroupMasterKeyId(uint32_t keyId)
uint32_t
Pobierz identyfikator głównego klucza grupy aplikacji, który został użyty do uzyskania określonego klucza aplikacji.
GetEpochKeyId(uint32_t keyId)
uint32_t
Pobierz identyfikator klucza grupy aplikacji epoki, który został użyty do uzyskania określonego klucza aplikacji.
GetEpochKeyNumber(uint32_t keyId)
uint8_t
Pobierz numer klucza epoki grupy aplikacji, który został użyty do uzyskania określonego klucza aplikacji.
GetRootKeyId(uint32_t keyId)
uint32_t
Pobierz identyfikator głównego klucza grupy aplikacji, który został użyty do uzyskania określonego klucza aplikacji.
GetRootKeyNumber(uint32_t keyId)
uint8_t
Pobierz główny numer klucza grupy aplikacji, który został użyty do uzyskania określonego klucza aplikacji.
GetType(uint32_t keyId)
uint32_t
Pobierz typ klucza Weave o podanym identyfikatorze klucza.
IncorporatesAppGroupMasterKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza grupy aplikacji zawiera główny klucz grupy.
IncorporatesEpochKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza grupy aplikacji zawiera klucz epoki.
IncorporatesRootKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza grupy aplikacji zawiera klucz główny.
IsAppEpochKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza jest typem klucza epoki aplikacji.
IsAppGroupKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza należy do jednego z typów kluczy grupy aplikacji (statycznych lub rotacji).
IsAppGroupMasterKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza jest typu głównego klucza grupy aplikacji.
IsAppRootKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza jest typem klucza głównego aplikacji.
IsAppRotatingKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza należy do typu rotacji aplikacji.
IsAppStaticKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza jest statycznym typem aplikacji.
IsGeneralKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza jest ogólny.
IsMessageEncryptionKeyId(uint32_t keyId, bool allowLogicalKeys)
bool
Określ, czy podany identyfikator klucza identyfikuje klucz odpowiedni do szyfrowania wiadomości przez Weave.
IsSameKeyOrGroup(uint32_t keyId1, uint32_t keyId2)
bool
Określa, czy 2 identyfikatory kluczy to ten sam klucz, czy – w przypadku kluczy wykonujących rotację – tę samą grupę kluczy niezależnie od konkretnej epoki.
IsSessionKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza należy do sesji.
IsValidKeyId(uint32_t keyId)
bool
Określ, czy identyfikator klucza ma prawidłową (prawną) wartość.
MakeAppGroupMasterKeyId(uint8_t appGroupLocalNumber)
uint32_t
Utwórz identyfikator głównego klucza grupy aplikacji na podstawie lokalnego numeru grupy aplikacji.
MakeAppIntermediateKeyId(uint32_t rootKeyId, uint32_t epochKeyId, bool useCurrentEpochKey)
uint32_t
Skonstruuj identyfikator klucza pośredniego aplikacji o podanych identyfikatorach kluczy cząstkowych.
MakeAppKeyId(uint32_t keyType, uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Utwórz identyfikator klucza grupy aplikacji na podstawie identyfikatorów kluczy cząstkowych i innych informacji.
MakeAppRotatingKeyId(uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Utwórz identyfikator klucza z rotacji aplikacji na podstawie identyfikatorów kluczy cząstkowych i innych informacji.
MakeAppStaticKeyId(uint32_t rootKeyId, uint32_t appGroupMasterKeyId)
uint32_t
Utwórz statyczny identyfikator klucza aplikacji o podanych identyfikatorach kluczy cząstkowych.
MakeEpochKeyId(uint8_t epochKeyNumber)
uint32_t
Utwórz identyfikator głównego klucza grupy aplikacji o podanym numerze epoki.
MakeGeneralKeyId(uint16_t generalKeyNumber)
uint16_t
Skonstruuj ogólny identyfikator klucza na podstawie jego ogólnej liczby.
MakeRootKeyId(uint8_t rootKeyNumber)
uint32_t
Skonstruuj identyfikator głównego klucza grupy aplikacji o podanym numerze głównym.
MakeSessionKeyId(uint16_t sessionKeyNumber)
uint16_t
Utwórz identyfikator klucza sesji o podanym numerze klucza sesji.
UpdateEpochKeyId(uint32_t keyId, uint32_t epochKeyId)
uint32_t
Zaktualizuj identyfikator klucza grupy aplikacji o nowy numer klucza epoki.
UsesCurrentEpochKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza grupy aplikacji używa „obecnego” klucz epoki.

Typy publiczne

@52.

 @52

Pola, flagi i typy publicznego klucza Weave.

Właściwości
kClientRootKey

Identyfikator głównego klucza klienta.

kFabricRootKey

Identyfikator klucza głównego Fabric.

kFabricSecret

Tajny identyfikator tkaniny Weave.

kKeyNumber_Max

Maksymalna liczba wartości podrzędnych pól identyfikatora klucza.

kNone

Weave identyfikatory kluczy globalnych.

Nieokreślony identyfikator klucza Weave.

kServiceRootKey

Identyfikator klucza głównego usługi.

kType_AppEpochKey

Typ klucza epoki grupy aplikacji.

kType_AppGroupMasterKey

Typ głównego klucza grupy aplikacji.

kType_AppIntermediateKey

Typ klucza pośredniego grupy aplikacji.

kType_AppRootKey

Typy kluczy Weave (inne niż szyfrowanie wiadomości Weave).

.

kType_AppRotatingKey

Typ klucza rotacji aplikacji.

kType_AppStaticKey

Typ statycznego klucza aplikacji.

kType_General

Ogólny typ klucza.

kType_None

Typy kluczy Weave używane do szyfrowania wiadomości weave.

kType_Session

Typ klucza sesji.

Publiczne funkcje statyczne

ConvertToCurrentAppKeyId

uint32_t ConvertToCurrentAppKeyId(
  uint32_t keyId
)

Przekonwertuj identyfikator klucza grupy aplikacji na bieżący identyfikator klucza aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza aplikacji.
Zwroty
identyfikator bieżącego klucza aplikacji.

ConvertToStaticAppKeyId

uint32_t ConvertToStaticAppKeyId(
  uint32_t keyId
)

Przekonwertuj identyfikator klucza aplikacji na identyfikator statycznego klucza aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza aplikacji.
Zwroty
statyczny identyfikator klucza aplikacji.

DescribeKey

const char * DescribeKey(
  uint32_t keyId
)

Dekoduj identyfikator klucza Weave za pomocą opisowego ciągu.

Szczegóły
Parametry
[in] keyId
Utkać identyfikator klucza, aby go zdekodować i dla którego ma zostać zwrócony ciąg opisowy.
Zwroty
Wskaźnik do ciągu z zakończeniem NULL, który opisuje określony identyfikator klucza.

GetAppGroupLocalNumber

uint8_t GetAppGroupLocalNumber(
  uint32_t keyId
)

Pobierz lokalny numer grupy aplikacji, który został użyty do uzyskania określonego klucza aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza grupy aplikacji Weave.
Zwroty
lokalny numer grupy aplikacji.

GetAppGroupMasterKeyId

uint32_t GetAppGroupMasterKeyId(
  uint32_t keyId
)

Pobierz identyfikator głównego klucza grupy aplikacji, który został użyty do uzyskania określonego klucza aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza grupy aplikacji Weave.
Zwroty
identyfikator głównego klucza grupy aplikacji.

GetEpochKeyId

uint32_t GetEpochKeyId(
  uint32_t keyId
)

Pobierz identyfikator klucza grupy aplikacji epoki, który został użyty do uzyskania określonego klucza aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza grupy aplikacji Weave.
Zwroty
identyfikator klucza epoki.

GetEpochKeyNumber

uint8_t GetEpochKeyNumber(
  uint32_t keyId
)

Pobierz numer klucza epoki grupy aplikacji, który został użyty do uzyskania określonego klucza aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza grupy aplikacji Weave.
Zwroty
klucz-wartość epoki.

GetRootKeyId

uint32_t GetRootKeyId(
  uint32_t keyId
)

Pobierz identyfikator głównego klucza grupy aplikacji, który został użyty do uzyskania określonego klucza aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza grupy aplikacji Weave.
Zwroty
identyfikator klucza głównego.

GetRootKeyNumber

uint8_t GetRootKeyNumber(
  uint32_t keyId
)

Pobierz główny numer klucza grupy aplikacji, który został użyty do uzyskania określonego klucza aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza grupy aplikacji Weave.
Zwroty
klucz-wartość.

GetType

uint32_t GetType(
  uint32_t keyId
)

Pobierz typ klucza Weave o podanym identyfikatorze klucza.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
i typ identyfikatora klucza.

IncorporatesAppGroupMasterKey

bool IncorporatesAppGroupMasterKey(
  uint32_t keyId
)

Określ, czy podany identyfikator klucza grupy aplikacji zawiera główny klucz grupy.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza grupy aplikacji Weave.
Zwroty
true (prawda), jeśli identyfikator klucza zawiera główny klucz grupy.

IncorporatesEpochKey

bool IncorporatesEpochKey(
  uint32_t keyId
)

Określ, czy podany identyfikator klucza grupy aplikacji zawiera klucz epoki.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza grupy aplikacji Weave.
Zwroty
true (prawda), jeśli identyfikator klucza zawiera klucz epoki.

IncorporatesRootKey

bool IncorporatesRootKey(
  uint32_t keyId
)

Określ, czy podany identyfikator klucza grupy aplikacji zawiera klucz główny.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza grupy aplikacji Weave.
Zwroty
true (prawda), jeśli identyfikator klucza zawiera klucz główny.

IsAppEpochKey

bool IsAppEpochKey(
  uint32_t keyId
)

Określ, czy podany identyfikator klucza jest typem klucza epoki aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
true, jeśli identyfikator klucza typu klucza epoki aplikacji.

IsAppGroupKey

bool IsAppGroupKey(
  uint32_t keyId
)

Określ, czy podany identyfikator klucza należy do jednego z typów kluczy grupy aplikacji (statycznych lub rotacji).

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
true (prawda), jeśli identyfikator klucza jest statyczny lub cykliczny.

IsAppGroupMasterKey

bool IsAppGroupMasterKey(
  uint32_t keyId
)

Określ, czy podany identyfikator klucza jest typu głównego klucza grupy aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
true, jeśli identyfikator klucza typu głównego klucza grupy aplikacji.

IsAppRootKey

bool IsAppRootKey(
  uint32_t keyId
)

Określ, czy podany identyfikator klucza jest typem klucza głównego aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
true, jeśli identyfikator klucza głównego aplikacji.

IsAppRotatingKey

bool IsAppRotatingKey(
  uint32_t keyId
)

Określ, czy podany identyfikator klucza należy do typu rotacji aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
true, jeśli identyfikator klucza typu rotacji aplikacji.

IsAppStaticKey

bool IsAppStaticKey(
  uint32_t keyId
)

Określ, czy podany identyfikator klucza jest statycznym typem aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
true, jeśli identyfikator klucza typu statycznego aplikacji.

IsGeneralKey

bool IsGeneralKey(
  uint32_t keyId
)

Określ, czy podany identyfikator klucza jest ogólny.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
true (prawda), jeśli identyfikator klucza ma typ Ogólny.

IsMessageEncryptionKeyId

bool IsMessageEncryptionKeyId(
  uint32_t keyId,
  bool allowLogicalKeys
)

Określ, czy dany identyfikator klucza identyfikuje klucz odpowiedni do szyfrowania wiadomości przez Weave.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
[in] allowLogicalKeys
Określa, czy identyfikatory kluczy logicznych (np. „bieżący” klucz rotacji) powinny być uznawane za odpowiednie do szyfrowania wiadomości.
Zwroty
true (prawda), jeśli zidentyfikowany klucz może być używany do szyfrowania wiadomości weave.

IsSameKeyOrGroup

bool IsSameKeyOrGroup(
  uint32_t keyId1,
  uint32_t keyId2
)

Określa, czy 2 identyfikatory kluczy to ten sam klucz, czy – w przypadku kluczy wykonujących rotację – tę samą grupę kluczy niezależnie od konkretnej epoki.

Szczegóły
Parametry
[in] keyId1
Pierwszy identyfikator klucza do przetestowania.
[in] keyId2
Identyfikator drugiego klucza do przetestowania.
Zwroty
Prawda, jeśli identyfikatory kluczy przedstawiają ten sam klucz.

IsSessionKey

bool IsSessionKey(
  uint32_t keyId
)

Określ, czy podany identyfikator klucza należy do sesji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
true, jeśli identyfikator klucza jest związany z typem sesji.

IsValidKeyId

bool IsValidKeyId(
  uint32_t keyId
)

Określ, czy identyfikator klucza ma prawidłową (prawną) wartość.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
true, jeśli identyfikator klucza jest prawidłowy.

MakeAppGroupMasterKeyId

uint32_t MakeAppGroupMasterKeyId(
  uint8_t appGroupLocalNumber
)

Utwórz identyfikator głównego klucza grupy aplikacji na podstawie lokalnego numeru grupy aplikacji.

Szczegóły
Parametry
[in] appGroupLocalNumber
Lokalny numer grupy aplikacji.
Zwroty
identyfikator głównego klucza grupy aplikacji.

MakeAppIntermediateKeyId

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

Skonstruuj identyfikator klucza pośredniego aplikacji o podanych identyfikatorach kluczy cząstkowych.

Szczegóły
Parametry
[in] rootKeyId
Identyfikator klucza głównego używany do uzyskania klucza pośredniego aplikacji.
[in] epochKeyId
Identyfikator klucza epoki używany do uzyskania klucza pośredniego aplikacji.
[in] useCurrentEpochKey
Flaga wartości logicznej, która wskazuje, czy klucz powinien zostać uzyskany za pomocą funkcji „current” (bieżący). klucz epoki.
Zwroty
identyfikator klucza pośredniego aplikacji.

MakeAppKeyId

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

Utwórz identyfikator klucza grupy aplikacji na podstawie identyfikatorów kluczy cząstkowych i innych informacji.

Szczegóły
Parametry
[in] keyType
Typ klucza pochodnej grupy aplikacji.
[in] rootKeyId
Identyfikator klucza głównego używany do pobierania klucza grupy aplikacji.
[in] epochKeyId
Identyfikator klucza epoki używany do uzyskania klucza grupy aplikacji.
[in] appGroupMasterKeyId
Identyfikator głównego klucza grupy aplikacji używany do uzyskania klucza grupy aplikacji.
[in] useCurrentEpochKey
Flaga wartości logicznej, która wskazuje, czy klucz powinien zostać uzyskany za pomocą funkcji „current” (bieżący). klucz-epoki.
Zwroty
identyfikator klucza grupy aplikacji.

MakeAppRotatingKeyId

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

Utwórz identyfikator klucza z rotacji aplikacji na podstawie identyfikatorów kluczy cząstkowych i innych informacji.

Szczegóły
Parametry
[in] rootKeyId
Identyfikator klucza głównego używany do uzyskania klucza rotacji aplikacji.
[in] epochKeyId
Identyfikator klucza epoki używany do uzyskania klucza rotacji aplikacji.
[in] appGroupMasterKeyId
Identyfikator głównego klucza grupy aplikacji używany do uzyskania klucza rotacji aplikacji.
[in] useCurrentEpochKey
Flaga wartości logicznej, która wskazuje, czy klucz powinien zostać uzyskany za pomocą funkcji „current” (bieżący). klucz epoki.
Zwroty
identyfikator klucza rotacji aplikacji.

MakeAppStaticKeyId

uint32_t MakeAppStaticKeyId(
  uint32_t rootKeyId,
  uint32_t appGroupMasterKeyId
)

Utwórz statyczny identyfikator klucza aplikacji o podanych identyfikatorach kluczy cząstkowych.

Szczegóły
Parametry
[in] rootKeyId
Identyfikator klucza głównego używany do uzyskania klucza statycznego aplikacji.
[in] appGroupMasterKeyId
Identyfikator głównego klucza grupy aplikacji używany do uzyskania statycznego klucza aplikacji.
Zwroty
statyczny identyfikator klucza aplikacji.

MakeEpochKeyId

uint32_t MakeEpochKeyId(
  uint8_t epochKeyNumber
)

Utwórz identyfikator głównego klucza grupy aplikacji o podanym numerze epoki.

Szczegóły
Parametry
[in] epochKeyNumber
Numer klucza epoki.
Zwroty
identyfikator klucza epoki.

MakeGeneralKeyId

uint16_t MakeGeneralKeyId(
  uint16_t generalKeyNumber
)

Skonstruuj ogólny identyfikator klucza na podstawie jego ogólnej liczby.

Szczegóły
Parametry
[in] generalKeyNumber
Ogólny numer klucza.
Zwroty
ogólny identyfikator klucza.

MakeRootKeyId

uint32_t MakeRootKeyId(
  uint8_t rootKeyNumber
)

Skonstruuj identyfikator głównego klucza grupy aplikacji o podanym numerze głównym.

Szczegóły
Parametry
[in] rootKeyNumber
Numer klucza głównego.
Zwroty
identyfikator klucza głównego.

MakeSessionKeyId

uint16_t MakeSessionKeyId(
  uint16_t sessionKeyNumber
)

Utwórz identyfikator klucza sesji o podanym numerze klucza sesji.

Szczegóły
Parametry
[in] sessionKeyNumber
Numer klucza sesji.
Zwroty
identyfikator klucza sesji.

UpdateEpochKeyId

uint32_t UpdateEpochKeyId(
  uint32_t keyId,
  uint32_t epochKeyId
)

Zaktualizuj identyfikator klucza grupy aplikacji o nowy numer klucza epoki.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza aplikacji.
[in] epochKeyId
Identyfikator klucza epoki, który zostanie użyty do utworzenia zaktualizowanego identyfikatora klucza aplikacji.
Zwroty
identyfikator klucza aplikacji.

UsesCurrentEpochKey

bool UsesCurrentEpochKey(
  uint32_t keyId
)

Określ, czy podany identyfikator klucza grupy aplikacji używa „obecnego” klucz-epoki.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza grupy aplikacji Weave.
Zwroty
true (prawda), jeśli identyfikator klucza wskazuje użycie bieżącego klucza epoki.