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 oraz 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 identyfikatorów publicznych kluczy Weave.

Publiczne funkcje statyczne

ConvertToCurrentAppKeyId(uint32_t keyId)
uint32_t
Przekonwertuj identyfikator klucza grupy aplikacji na identyfikator bieżącego klucza aplikacji.
ConvertToStaticAppKeyId(uint32_t keyId)
uint32_t
Przekonwertuj identyfikator klucza aplikacji na statyczny identyfikator klucza aplikacji.
DescribeKey(uint32_t keyId)
const char *
Zdekoduj identyfikator klucza Weave za pomocą ciągu opisowego.
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 epoki grupy aplikacji, 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 numer głównego 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
Ustal, czy podany identyfikator klucza grupy aplikacji zawiera klucz główny.
IsAppEpochKey(uint32_t keyId)
bool
Ustal, 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 (statycznym czy rotacyjnym).
IsAppGroupMasterKey(uint32_t keyId)
bool
Sprawdź, czy podany identyfikator klucza jest typem głównego klucza grupy aplikacji.
IsAppRootKey(uint32_t keyId)
bool
Ustal, czy podany identyfikator klucza jest typem klucza głównego aplikacji.
IsAppRotatingKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza jest 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 typu ogólnego.
IsMessageEncryptionKeyId(uint32_t keyId, bool allowLogicalKeys)
bool
Ustal, czy dany identyfikator klucza identyfikuje klucz odpowiedni do szyfrowania wiadomości Weave.
IsSameKeyOrGroup(uint32_t keyId1, uint32_t keyId2)
bool
Określa, czy 2 identyfikatory kluczy identyfikują ten sam klucz, czy w przypadku kluczy zmieniających się tę samą grupę kluczy niezależnie od konkretnej epoki.
IsSessionKey(uint32_t keyId)
bool
Określ, czy podany identyfikator klucza należy do typu 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 z podanym numerem lokalnym grupy aplikacji.
MakeAppIntermediateKeyId(uint32_t rootKeyId, uint32_t epochKeyId, bool useCurrentEpochKey)
uint32_t
Utwórz identyfikator klucza pośredniego aplikacji na podstawie identyfikatorów 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 zmieniającego aplikację 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 na podstawie identyfikatorów kluczy cząstkowych.
MakeEpochKeyId(uint8_t epochKeyNumber)
uint32_t
Utwórz identyfikator klucza głównego grupy aplikacji o podanym numerze klucza epoki.
MakeGeneralKeyId(uint16_t generalKeyNumber)
uint16_t
Utwórz identyfikator klucza ogólnego z numerem klucza ogólnego.
MakeRootKeyId(uint8_t rootKeyNumber)
uint32_t
Utwórz identyfikator klucza głównego grupy aplikacji z podanym numerem klucza głównego.
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 „bieżącego” klucza epoki.

Typy publiczne

@52

 @52

Pola, flagi i typy identyfikatorów publicznych kluczy Weave.

Właściwości
kClientRootKey

Identyfikator głównego klucza klienta.

kFabricRootKey

Identyfikator klucza głównego usługi Fabric.

kFabricSecret

Identyfikator obiektu tajnego tkaniny Weave.

kKeyNumber_Max

Maksymalna wartość w polach podrzędnych identyfikatorów kluczy.

kNone

Identyfikatory kluczy globalnych.

Nieokreślony identyfikator klucza Weave.

kServiceRootKey

Identyfikator klucza głównego usługi.

kType_AppEpochKey

Typ klucza epoki dla grupy aplikacji.

kType_AppGroupMasterKey

Typ głównego klucza grupy aplikacji.

kType_AppIntermediateKey

Typ pośredniego klucza grupy aplikacji.

kType_AppRootKey

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

kType_AppRotatingKey

Typ klucza rotacji aplikacji.

kType_AppStaticKey

Typ klucza statycznego aplikacji.

kType_General

Typ klucza ogólnego.

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 identyfikator bieżącego 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 statyczny identyfikator klucza aplikacji.

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

DescribeKey

const char * DescribeKey(
  uint32_t keyId
)

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

Szczegóły
Parametry
[in] keyId
Identyfikator klucza splotowego do zdekodowania, dla którego ma zostać zwrócony ciąg opisowy.
Zwroty
Wskaźnik do ciągu zakończonego wartością 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
numer lokalny 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 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
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
numer klucza 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
identyfikatora klucza głównego.

GetRootKeyNumber

uint8_t GetRootKeyNumber(
  uint32_t keyId
)

Pobierz numer 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
numer główny.

GetType

uint32_t GetType(
  uint32_t keyId
)

Pobierz typ klucza Weave o podanym identyfikatorze klucza.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
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
prawda, jeśli parametr keyId 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, jeśli parametr keyId zawiera klucz epoki.

IncorporatesRootKey

bool IncorporatesRootKey(
  uint32_t keyId
)

Ustal, czy podany identyfikator klucza grupy aplikacji zawiera klucz główny.

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

IsAppEpochKey

bool IsAppEpochKey(
  uint32_t keyId
)

Ustal, czy podany identyfikator klucza jest typem klucza epoki aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
true, jeśli parametr keyId 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 (statycznym czy rotacyjnym).

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
true, jeśli klucz_keyId ma typ obracania lub statycznego.

IsAppGroupMasterKey

bool IsAppGroupMasterKey(
  uint32_t keyId
)

Sprawdź, czy podany identyfikator klucza jest typem głównego klucza grupy aplikacji.

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

IsAppRootKey

bool IsAppRootKey(
  uint32_t keyId
)

Ustal, 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 typu aplikacji jest wartością logiczną.

IsAppRotatingKey

bool IsAppRotatingKey(
  uint32_t keyId
)

Określ, czy podany identyfikator klucza jest typu rotacji aplikacji.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
true, jeśli parametr keyId 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 parametr keyId statycznego typu aplikacji.

IsGeneralKey

bool IsGeneralKey(
  uint32_t keyId
)

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

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

IsMessageEncryptionKeyId

bool IsMessageEncryptionKeyId(
  uint32_t keyId,
  bool allowLogicalKeys
)

Ustal, czy dany identyfikator klucza identyfikuje klucz odpowiedni do szyfrowania wiadomości Weave.

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
[in] allowLogicalKeys
Określa, czy identyfikatory kluczy logicznych (takie jak „bieżący” klucz obracający się) mają być uznane za odpowiednie do szyfrowania wiadomości.
Zwroty
true 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 identyfikują ten sam klucz, czy w przypadku kluczy zmieniających się tę samą grupę kluczy niezależnie od konkretnej epoki.

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

IsSessionKey

bool IsSessionKey(
  uint32_t keyId
)

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

Szczegóły
Parametry
[in] keyId
Identyfikator klucza Weave.
Zwroty
true, jeśli parametr keyId typu 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 wartość identyfikatora klucza jest prawidłowa.

MakeAppGroupMasterKeyId

uint32_t MakeAppGroupMasterKeyId(
  uint8_t appGroupLocalNumber
)

Utwórz identyfikator głównego klucza grupy aplikacji z podanym numerem lokalnym 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
)

Utwórz identyfikator klucza pośredniego aplikacji na podstawie identyfikatorów 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 być wyodrębniony za pomocą „bieżącego” klucza 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
Powstały typ klucza grupy aplikacji.
[in] rootKeyId
Identyfikator klucza głównego używany do uzyskania klucza grupy aplikacji.
[in] epochKeyId
Identyfikator klucza epoki, który jest 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 być wyodrębniony za pomocą „bieżącego” klucza 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 zmieniającego aplikację 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, który umożliwia uzyskanie 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 być wyodrębniony za pomocą „bieżącego” klucza epoki.
Zwroty
identyfikator klucza rotacji aplikacji.

MakeAppStaticKeyId

uint32_t MakeAppStaticKeyId(
  uint32_t rootKeyId,
  uint32_t appGroupMasterKeyId
)

Utwórz statyczny identyfikator klucza aplikacji na podstawie identyfikatorów kluczy cząstkowych.

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

MakeEpochKeyId

uint32_t MakeEpochKeyId(
  uint8_t epochKeyNumber
)

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

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

MakeGeneralKeyId

uint16_t MakeGeneralKeyId(
  uint16_t generalKeyNumber
)

Utwórz identyfikator klucza ogólnego z numerem klucza ogólnego.

Szczegóły
Parametry
[in] generalKeyNumber
Numer klucza ogólnego.
Zwroty
identyfikator klucza ogólnego.

MakeRootKeyId

uint32_t MakeRootKeyId(
  uint8_t rootKeyNumber
)

Utwórz identyfikator klucza głównego grupy aplikacji z podanym numerem klucza głównego.

Szczegóły
Parametry
[in] rootKeyNumber
Numer klucza głównego.
Zwroty
identyfikatora 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 „bieżącego” klucza epoki.

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