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
Wepchnij definicje parametrów protokołów kluczy aplikacji.
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
Globalne identyfikatory grup aplikacji Weave (AGGID).

Zmienne

kWeaveAppClientRootKeyDiversifier = { 0x53, 0xE3, 0xFF, 0xE5 }[]
const uint8_t
Dywersyfikator kluczy używany do derywacji klucza głównego klienta Weave.
kWeaveAppFabricRootKeyDiversifier = { 0x21, 0xFA, 0x8F, 0x6A }[]
const uint8_t
Dywersyfikator kluczy używany do wyznaczania klucza głównego tkaniny Weave.
kWeaveAppIntermediateKeyDiversifier = { 0xBC, 0xAA, 0x95, 0xAD }[]
const uint8_t
Dywersyfikator kluczy używany na potrzeby pochodnych kluczy pośrednich Weave.

Funkcje

GetAppGroupMasterKeyId(uint32_t groupGlobalId, GroupKeyStoreBase *groupKeyStore, uint32_t & groupMasterKeyId)
Pobierz identyfikator głównego klucza grupy aplikacji z podanym identyfikatorem globalnym 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 grup aplikacji Weave.

Wyliczenia

@220

 @220

Wepchnij definicje parametrów protokołów kluczy aplikacji.

Właściwości
kWeaveAppClientRootKeyDiversifierSize

Rozmiar różnicy klucza głównego klienta.

kWeaveAppEpochKeySize

Rozmiar klucza epoki aplikacji Weave.

kWeaveAppFabricRootKeyDiversifierSize

Rozmiar dywersyfikatora klucza głównego tkaniny.

kWeaveAppGroupKeySize

Rozmiar klucza grupy cząstkowej splotu.

kWeaveAppGroupMasterKeySize

Rozmiar klucza głównego grupy aplikacji Weave.

kWeaveAppIntermediateKeyDiversifierSize

Rozmiar pośredniego zróżnicowania klucza.

kWeaveAppIntermediateKeySize

Rozmiar pośredniego klucza aplikacji Weave.

kWeaveAppRootKeySize

Rozmiar klucza głównego aplikacji Weave.

kWeaveFabricSecretSize

Rozmiar obiektu tajnego tkaniny splotowej.

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

Globalne identyfikatory grup aplikacji Weave (AGGID).

Właściwości
kWeaveAppGroupGlobalId_NestHVAC

Nest HVAC Group.

kWeaveAppGroupGlobalId_NestPhysicalAccess

Globalne identyfikatory grup aplikacji Nest Labs.

Uwaga: nie próbuj przydzielać tych wartości samodzielnie. Te wartości są administrowane przez Nest Labs. Prześlij formalne zgłoszenie za pomocą https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI grupy dostępu fizycznego z Nest.

kWeaveAppGroupGlobalId_NestSecurityControl

Grupa kontrolna zabezpieczeń Nest.

kWeaveAppGroupGlobalId_NestStructureSecurity

Grupa zabezpieczeń Nest Structured.

kWeaveAppGroupGlobalId_Unspecified

Nie określono globalnego identyfikatora grupy aplikacji.

Zmienne

kWeaveAppClientRootKeyDiversifier

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

Dywersyfikator kluczy używany do derywacji klucza głównego klienta Weave.

Ta wartość reprezentuje pierwsze 4 bajty hasła SHA-1 wyrażenia „Główny klucz klienta”.

kWeaveAppFabricRootKeyDiversifier

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

Dywersyfikator kluczy używany do wyznaczania klucza głównego tkaniny Weave.

Ta wartość reprezentuje pierwsze 4 bajty wartości HASH SHA-1 wyrażenia „Fabric Root Key”.

kWeaveAppIntermediateKeyDiversifier

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

Dywersyfikator kluczy używany na potrzeby pochodnych kluczy pośrednich Weave.

Ta wartość reprezentuje pierwsze 4 bajty haszowania SHA-1 wyrażenia „Klucz pośredni”.

Funkcje

GetAppGroupMasterKeyId

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

Pobierz identyfikator głównego klucza grupy aplikacji z podanym identyfikatorem globalnym 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
Na sukces.
WEAVE_ERROR_INVALID_ARGUMENT
Jeśli nie podano wskaźnika do magazynu kluczy grupy.
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
Jeśli obiekt FabricState nie został zainicjowany z użyciem w pełni funkcjonalnego magazynu kluczy grupy.
WEAVE_ERROR_KEY_NOT_FOUND
Jeśli w magazynie kluczy platformy nie znaleziono klucza grupy o podanym identyfikatorze globalnym.
other
Inne błędy związane z platformą zwrócone przez interfejsy API magazynu kluczy platformy.

LogGroupKeys

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)