nl::Weave::Profiller:Güvenlik::Uygulama Anahtarları

Bu ad alanı, Weave güvenlik profilindeki Weave uygulama anahtarları kitaplığı için Weave içindeki tüm arayüzleri içerir.

Özet

Sıralamalar

@220{
  kWeaveAppGroupKeySize = 32,
  kWeaveAppRootKeySize = kWeaveAppGroupKeySize,
  kWeaveAppEpochKeySize = kWeaveAppGroupKeySize,
  kWeaveAppGroupMasterKeySize = kWeaveAppGroupKeySize,
  kWeaveAppIntermediateKeySize = kWeaveAppGroupKeySize,
  kWeaveFabricSecretSize = 36,
  kWeaveAppFabricRootKeyDiversifierSize = sizeof(kWeaveAppFabricRootKeyDiversifier),
  kWeaveAppClientRootKeyDiversifierSize = sizeof(kWeaveAppClientRootKeyDiversifier),
  kWeaveAppIntermediateKeyDiversifierSize = sizeof(kWeaveAppIntermediateKeyDiversifier)
}
enum
Uygulama anahtarları protokol parametresi tanımlarını oluşturun.
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
Uygulama Grubu Genel Kimlikleri (AGGID).

Değişkenler

kWeaveAppClientRootKeyDiversifier = { 0x53, 0xE3, 0xFF, 0xE5 }[]
const uint8_t
Weave istemci kök anahtarı türevi için kullanılan anahtar çeşitleyici.
kWeaveAppFabricRootKeyDiversifier = { 0x21, 0xFA, 0x8F, 0x6A }[]
const uint8_t
Dokuma kumaş kök anahtarı türevi için kullanılan anahtar çeşitleyici.
kWeaveAppIntermediateKeyDiversifier = { 0xBC, 0xAA, 0x95, 0xAD }[]
const uint8_t
Weave ara anahtar türevi için kullanılan anahtar çeşitleyici.

İşlevler

GetAppGroupMasterKeyId(uint32_t groupGlobalId, GroupKeyStoreBase *groupKeyStore, uint32_t & groupMasterKeyId)
Uygulama grubu genel kimliğine sahip uygulama grubu ana anahtar kimliğini alın.
LogGroupKeys(GroupKeyStoreBase *groupKeyStore)

Sınıflar

nl::Weave::Profiller:Güvenlik:AppKeys:DummyGroupKeyStore
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase

Weave grup anahtarı mağazası sınıfının tanımı.

nl::Weave::Profiller::Güvenlik:AppKeys::WeaveGroupKey

Weave uygulama grubu anahtarları hakkında bilgi içerir.

Sıralamalar

@220

 @220

Uygulama anahtarları protokol parametresi tanımlarını oluşturun.

Özellikler
kWeaveAppClientRootKeyDiversifierSize

İstemci kök anahtarı ayırıcı boyutu.

kWeaveAppEpochKeySize

Örgü uygulama dönem anahtar boyutu.

kWeaveAppFabricRootKeyDiversifierSize

Kumaş kök anahtar ayırıcısı boyutu.

kWeaveAppGroupKeySize

Örgü grubu anahtar boyutu.

kWeaveAppGroupMasterKeySize

Ağ uygulama grubu ana anahtar boyutu.

kWeaveAppIntermediateKeyDiversifierSize

Orta düzey anahtar farklılaştırıcı boyutu.

kWeaveAppIntermediateKeySize

Örgü uygulaması ara anahtar boyutu.

kWeaveAppRootKeySize

Ağ kök anahtar boyutu.

kWeaveFabricSecretSize

Örme kumaş gizli beden.

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

Uygulama Grubu Genel Kimlikleri (AGGID).

Özellikler
kWeaveAppGroupGlobalId_NestHVAC

Nest HVAC Grubu.

kWeaveAppGroupGlobalId_NestPhysicalAccess

Nest Labs Uygulama Grubu Global Kimlikleri.

Not: Bu değerleri kendiniz ayırmaya çalışmayın. Bu değerler Nest Labs tarafından yönetiliyor. Lütfen "Nest Weave: Nest Uygulama Grubu Global Kimlik Kaydı" & https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Nest Fiziksel Erişim Grubu'nu kullanarak resmi talepte bulunun.

kWeaveAppGroupGlobalId_NestSecurityControl

Nest Güvenlik Kontrol Grubu.

kWeaveAppGroupGlobalId_NestStructureSecurity

Nest Yapısı Güvenlik Grubu.

kWeaveAppGroupGlobalId_Unspecified

Uygulama Grubu Genel Kimliği belirtilmedi.

Değişkenler

kWeaveAppClientRootKeyDiversifier

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

Weave istemci kök anahtarı türevi için kullanılan anahtar çeşitleyici.

Bu değer, "Client Root Key" & SHA-1 HASH ifadesinin ilk 4 baytını temsil eder.

kWeaveAppFabricRootKeyDiversifier

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

Dokuma kumaş kök anahtarı türevi için kullanılan anahtar çeşitleyici.

Bu değer, "Fabric Root Key"in SHA-1 HASH ifadesinin ilk 4 baytını temsil eder.

kWeaveAppIntermediateKeyDiversifier

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

Weave ara anahtar türevi için kullanılan anahtar çeşitleyici.

Bu değer, "Orta Düzey Anahtar" ifadesinin SHA-1 HASH'sinin ilk 4 baytını temsil eder.

İşlevler

GetAppGroupMasterKeyId

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

Uygulama grubu genel kimliğine sahip uygulama grubu ana anahtar kimliğini alın.

Ayrıntılar
Parametreler
[in] groupGlobalId
Uygulama grubu genel kimliği.
[in] groupKeyStore
Grup anahtarı deposu nesnesinin işaretçisi.
[out] groupMasterKeyId
Uygulama grubu ana anahtar kimliği.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı.
WEAVE_ERROR_INVALID_ARGUMENT
Grup anahtarı mağazasına işaretçi sağlanmazsa.
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
FabricState nesnesi tamamen işlevsel grup anahtarı deposuyla başlatılmadıysa.
WEAVE_ERROR_KEY_NOT_FOUND
Platform anahtarı mağazasında belirtilen genel kimliğe sahip bir grup anahtarı yoksa.
other
Platform anahtar deposu API'leri tarafından döndürülen diğer platforma özgü hatalar.

LogGroupAnahtarları

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)