nl::Weave::Profiles::Security::AppKeys

Ta przestrzeń nazw obejmuje wszystkie interfejsy Weave dla biblioteki kluczy aplikacji Weave w profilu zabezpieczeń Weave.

Podsumowanie

Wyliczenia

@220{
  kWeaveAppGroupKeySize = 32,
  kWeaveAppRootKeySize = kWeaveAppGroupKeySize,
  kWeaveAppEpochKeySize = kWeaveAppGroupKeySize,
  kWeaveAppGroupMasterKeySize = kWeaveAppGroupKeySize,
  kWeaveAppIntermediateKeySize = kWeaveAppGroupKeySize,
  kWeaveFabricSecretSize = 36,
  kWeaveAppFabricRootKeyDiversifierSize = sizeof(kWeaveAppFabricRootKeyDiversifier),
  kWeaveAppClientRootKeyDiversifierSize = sizeof(kWeaveAppClientRootKeyDiversifier),
  kWeaveAppIntermediateKeyDiversifierSize = sizeof(kWeaveAppIntermediateKeyDiversifier)
}
enum | typ wyliczeniowy
Definicje parametrów protokołu Weave aplikacji Keys.
WeaveAppGroupGlobalId{
  kWeaveAppGroupGlobalId_Unspecified = 0,
  kWeaveAppGroupGlobalId_NestPhysicalAccess = (kWeaveVendor_NestLabs << 16) | 0x0001,
  kWeaveAppGroupGlobalId_NestStructureSecurity = (kWeaveVendor_NestLabs << 16) | 0x0002,
  kWeaveAppGroupGlobalId_NestHVAC = (kWeaveVendor_NestLabs << 16) | 0x0003,
  kWeaveAppGroupGlobalId_NestSecurityControl = (kWeaveVendor_NestLabs << 16) | 0x0004
}
enum | typ wyliczeniowy
Weave Global ID Group (AGGID).

Zmienne

kWeaveAppClientRootKeyDiversifier = { 0x53, 0xE3, 0xFF, 0xE5 }[]
const uint8_t
Zróżnicowanie kluczy używane przy derywacji klucza głównego klienta Weave.
kWeaveAppFabricRootKeyDiversifier = { 0x21, 0xFA, 0x8F, 0x6A }[]
const uint8_t
Kluczowy dywersyfikator używany do pobierania klucza pierwiastka tkaniny Weave.
kWeaveAppIntermediateKeyDiversifier = { 0xBC, 0xAA, 0x95, 0xAD }[]
const uint8_t
Dywersyfikator kluczy używany do pośredniego uzyskiwania klucza Weave.

Funkcje

GetAppGroupMasterKeyId(uint32_t groupGlobalId, GroupKeyStoreBase *groupKeyStore, uint32_t & groupMasterKeyId)
Pobierz identyfikator głównego klucza grupy aplikacji na podstawie globalnego identyfikatora grupy aplikacji.
LogGroupKeys(GroupKeyStoreBase *groupKeyStore)

Zajęcia

nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase

Definicja klasy magazynu kluczy grupy Weave.

nl::Weave::Profiles::Security::AppKeys::WeaveGroupKey

Zawiera informacje o kluczach grupy aplikacji Weave.

Wyliczenia

@220

 @220

Definicje parametrów protokołu Weave aplikacji Keys.

Właściwości
kWeaveAppClientRootKeyDiversifierSize

Rozmiar dywersyfikatora klucza głównego klienta.

kWeaveAppEpochKeySize

Rozmiar klucza epoki aplikacji Weave.

kWeaveAppFabricRootKeyDiversifierSize

Rozmiar dywersyfikatora podstawowego klucza w tkaninie.

kWeaveAppGroupKeySize

Rozmiar klucza grupy składowej.

kWeaveAppGroupMasterKeySize

Rozmiar głównego klucza grupy aplikacji Weave.

kWeaveAppIntermediateKeyDiversifierSize

Rozmiar dywersyfikatora klucza średniozaawansowanego.

kWeaveAppIntermediateKeySize

Rozmiar klucza pośredniego aplikacji Weave.

kWeaveAppRootKeySize

Rozmiar klucza głównego aplikacji Weave.

kWeaveFabricSecretSize

Udekoruj tajny rozmiar tkaniny.

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

Weave Global ID Group (AGGID).

Właściwości
kWeaveAppGroupGlobalId_NestHVAC

Nest HVAC Group.

kWeaveAppGroupGlobalId_NestPhysicalAccess

Globalne identyfikatory grupy aplikacji Nest Labs.

Uwaga: nie próbuj przydzielić tych wartości samodzielnie. Tymi wartościami zarządza Nest Labs. Złóż formalną prośbę, korzystając z grupy „Nest Weave: Nest Application Group” Global ID Registry” https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Nest Physical Access Group.

kWeaveAppGroupGlobalId_NestSecurityControl

Grupa kontroli Nest.

kWeaveAppGroupGlobalId_NestStructureSecurity

Grupa bezpieczeństwa Nest Struktura.

kWeaveAppGroupGlobalId_Unspecified

Nie określono globalnego identyfikatora grupy aplikacji.

Zmienne

kWeaveAppClientRootKeyDiversifier

const uint8_t kWeaveAppClientRootKeyDiversifier[] = { 0x53, 0xE3, 0xFF, 0xE5 }

Zróżnicowanie kluczy używane przy derywacji klucza głównego klienta Weave.

Ta wartość reprezentuje pierwsze 4 bajty HASH SHA-1 „Klucza głównego klienta” do wyrażenia.

kWeaveAppFabricRootKeyDiversifier

const uint8_t kWeaveAppFabricRootKeyDiversifier[] = { 0x21, 0xFA, 0x8F, 0x6A }

Kluczowy dywersyfikator używany do pobierania klucza pierwiastka tkaniny Weave.

Ta wartość reprezentuje pierwsze 4 bajty haszowania SHA-1 „klucza głównego materiału” do wyrażenia.

kWeaveAppIntermediateKeyDiversifier

const uint8_t kWeaveAppIntermediateKeyDiversifier[] = { 0xBC, 0xAA, 0x95, 0xAD }

Dywersyfikator kluczy używany do pośredniego uzyskiwania klucza Weave.

Ta wartość reprezentuje pierwsze 4 bajty haszowania SHA-1 „klucza pośredniego” do wyrażenia.

Funkcje

GetAppGroupMasterKeyId

WEAVE_ERROR GetAppGroupMasterKeyId(
  uint32_t groupGlobalId,
  GroupKeyStoreBase *groupKeyStore,
  uint32_t & groupMasterKeyId
)

Pobierz identyfikator głównego klucza grupy aplikacji na podstawie globalnego identyfikatora grupy aplikacji.

Szczegóły
Parametry
[in] groupGlobalId
Globalny identyfikator grupy aplikacji.
[in] groupKeyStore
Wskaźnik do obiektu magazynu kluczy grupy.
[out] groupMasterKeyId
Identyfikator głównego klucza grupy aplikacji.
Zwracane wartości
WEAVE_NO_ERROR
Powodzenie.
WEAVE_ERROR_INVALID_ARGUMENT
Jeśli wskaźnik do magazynu kluczy grupy nie jest podany.
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
Jeśli obiekt FabricState nie został zainicjowany za pomocą w pełni funkcjonalnego magazynu kluczy grup.
WEAVE_ERROR_KEY_NOT_FOUND
Jeśli w magazynie kluczy platformy nie ma klucza grupy o podanym identyfikatorze globalnym,
other
Inne błędy specyficzne dla platformy zwracane przez interfejsy API magazynu kluczy platformy.

LogGroupKeys

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)