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

Bu soyut bir sınıftır.

#include <src/lib/profiles/security/WeaveApplicationKeys.h>

Weave grup anahtarı depolama sınıfının tanımı.

Özet

Bu sınıftaki işlevler, uygulama grubu anahtarlarını yönetmek için çağrılır.

Devralma

Doğrudan Bilinen Alt Sınıflar:
  nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
  nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
  nl::Weave::DeviceLayer::Internal::GroupKeyStoreImplnl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore

Korunan özellikler

LastUsedEpochKeyId
uint32_t
NextEpochKeyStartTime
uint32_t

Kamu işlevleri

Clear(void)=0
virtual WEAVE_ERROR
DeleteGroupKey(uint32_t keyId)=0
virtual WEAVE_ERROR
DeleteGroupKeysOfAType(uint32_t keyType)=0
virtual WEAVE_ERROR
DeriveApplicationKey(uint32_t & appKeyId, const uint8_t *keySalt, uint8_t saltLen, const uint8_t *keyDiversifier, uint8_t diversifierLen, uint8_t *appKey, uint8_t keyBufSize, uint8_t keyLen, uint32_t & appGroupGlobalId)
Uygulama anahtarı türetir.
EnumerateGroupKeys(uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0
virtual WEAVE_ERROR
GetCurrentAppKeyId(uint32_t keyId, uint32_t & curKeyId)
Geçerli anahtar kimliğini döndürür.
GetCurrentUTCTime(uint32_t & utcTime)
virtual WEAVE_ERROR
Mevcut platform UTC saatini saniye cinsinden alın.
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
Uygulama grubu anahtarını alın.
RetrieveGroupKey(uint32_t keyId, WeaveGroupKey & key)=0
virtual WEAVE_ERROR
StoreGroupKey(const WeaveGroupKey & key)=0
virtual WEAVE_ERROR

Korunan işlevler

Init(void)
void
Yerel grup anahtarı deposu parametrelerini başlatın.
OnEpochKeysChange(void)
void
Geçerli anahtar kimliğini döndürür.
RetrieveLastUsedEpochKeyId(void)=0
virtual WEAVE_ERROR
StoreLastUsedEpochKeyId(void)=0
virtual WEAVE_ERROR

Korunan özellikler

LastUsedEpochKeyId

uint32_t LastUsedEpochKeyId

NextEpochKeyStartTime

uint32_t NextEpochKeyStartTime

Kamu işlevleri

Temizle

virtual WEAVE_ERROR Clear(
  void
)=0

DeleteGroupKey

virtual WEAVE_ERROR DeleteGroupKey(
  uint32_t keyId
)=0

DeleteGroupKeysOfAType

virtual WEAVE_ERROR DeleteGroupKeysOfAType(
  uint32_t keyType
)=0

DeriveApplicationKey

WEAVE_ERROR DeriveApplicationKey(
  uint32_t & appKeyId,
  const uint8_t *keySalt,
  uint8_t saltLen,
  const uint8_t *keyDiversifier,
  uint8_t diversifierLen,
  uint8_t *appKey,
  uint8_t keyBufSize,
  uint8_t keyLen,
  uint32_t & appGroupGlobalId
)

Uygulama anahtarı türetir.

Üç tür uygulama anahtarı desteklenir: geçerli uygulama anahtarı, dönen uygulama anahtarı ve statik uygulama anahtarı. Mevcut uygulama anahtarı istendiğinde işlev, geçerli sistem saatine ve her sıfır dönem anahtarının başlangıç zamanı parametresine göre geçerli sıfır anahtarını bulup kullanır.

Ayrıntılar
Parametreler
[in,out] keyId
İstenen anahtar kimliği için referans. Mevcut uygulama anahtarı istendiğinde bu alan, yeni türü (dönen uygulama anahtarı) ve uygulama anahtarını oluşturmak için kullanılan gerçek sıfır anahtar kimliğini yansıtacak şekilde güncellenir.
[in] keySalt
Uygulama anahtarı takviye değeri içeren bir arabelleğin işaretçisi.
[in] saltLen
Uygulama anahtarı takviyesinin uzunluğu.
[in] keyDiversifier
Uygulama anahtarı ayırıcı değeri olan bir arabelleğin işaretçisi.
[in] diversifierLen
Uygulama anahtarı sıralayıcısının uzunluğu.
[out] appKey
Türetilmiş anahtarın yazılacağı bir arabelleğin işaretçisi.
[in] keyBufSize
Sağlanan anahtar arabelleğinin uzunluğu.
[in] keyLen
İstenen anahtar materyalinin uzunluğu.
[out] appGroupGlobalId
İlişkilendirilmiş anahtarın uygulama grubu genel kimliği.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.
WEAVE_ERROR_BUFFER_TOO_SMALL
Sağlanan anahtar arabelleği boyutu yeterli değilse.
WEAVE_ERROR_INVALID_KEY_ID
İstenen anahtarın anahtar kimliği geçersizse.
WEAVE_ERROR_INVALID_ARGUMENT
Platform anahtar deposu geçersiz anahtar parametreleri döndürürse veya anahtar tanımlayıcısının değeri geçersizse.
other
Platform anahtar deposu API'leri tarafından döndürülen diğer platforma özgü hatalar.

EnumerateGroupKeys

virtual WEAVE_ERROR EnumerateGroupKeys(
  uint32_t keyType,
  uint32_t *keyIds,
  uint8_t keyIdsArraySize,
  uint8_t & keyCount
)=0

GetCurrentAppKeyId

WEAVE_ERROR GetCurrentAppKeyId(
  uint32_t keyId,
  uint32_t & curKeyId
)

Geçerli anahtar kimliğini döndürür.

Mevcut sistem saatine ve her sıfır zaman anahtarının başlangıç zamanı parametresine göre geçerli sıfır anahtarını bulur. Sistemde geçerli ve doğru saat yoksa son kullanılan dönem anahtarı kimliği döndürülür.

Ayrıntılar
Parametreler
[in] keyId
Uygulama anahtarı kimliği.
[out] curKeyId
Uygulamanın geçerli anahtar kimliği.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.
WEAVE_ERROR_INVALID_KEY_ID
Giriş anahtarı kimliğinin değeri geçersizse.
WEAVE_ERROR_KEY_NOT_FOUND
Dönem anahtarları, platform anahtarı deposunda bulunamazsa.
other
Platform anahtar deposu API'leri tarafından döndürülen diğer platforma özgü hatalar.

GetCurrentUTCTime

virtual WEAVE_ERROR GetCurrentUTCTime(
  uint32_t & utcTime
)

Mevcut platform UTC saatini saniye cinsinden alın.

Ayrıntılar
Parametreler
[out] utcTime
Zaman değerine başvuru.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Platform, gerçek zamanlı saati desteklemiyorsa
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Sistemin gerçek zamanlı saati doğru bir zaman kaynağıyla senkronize edilmezse.
other
Diğer Weave veya platform hata kodları.

GetGroupKey

WEAVE_ERROR GetGroupKey(
  uint32_t keyId,
  WeaveGroupKey & groupKey
)

Uygulama grubu anahtarını alın.

Bu işlev, uygulama grubu anahtarlarını türetir veya alır. Bu işlevin desteklediği anahtar türleri şunlardır: yapı gizli anahtarı, kök anahtar, sıfır anahtar, grup ana anahtarı ve ara anahtar.

Ayrıntılar
Parametreler
[in] keyId
Grup anahtarı kimliği.
[out] groupKey
Grup anahtarı nesnesine referans.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı olun.
WEAVE_ERROR_INVALID_KEY_ID
İstenen anahtarın anahtar kimliği geçersizse.
WEAVE_ERROR_INVALID_ARGUMENT
Platform anahtar deposu geçersiz anahtar parametreleri döndürürse.
other
Platform anahtar deposu API'leri tarafından döndürülen diğer platforma özgü hatalar.

RetrieveGroupKey

virtual WEAVE_ERROR RetrieveGroupKey(
  uint32_t keyId,
  WeaveGroupKey & key
)=0

StoreGroupKey

virtual WEAVE_ERROR StoreGroupKey(
  const WeaveGroupKey & key
)=0

Korunan işlevler

Başlat

void Init(
  void
)

Yerel grup anahtarı deposu parametrelerini başlatın.

OnEpochKeysChange

void OnEpochKeysChange(
  void
)

Geçerli anahtar kimliğini döndürür.

Uygulama dönem anahtarları grubunda herhangi bir değişiklik (silme veya depolama) yapıldığında sıfır anahtarlarla ilişkili üye değişkenlerini varsayılan değerlere ayarlar. Bu yöntemi çağırmak, StoreGroupKey(), DeleteGroupKey() ve DeleteGroupKeysOfAType() işlevlerini uygulayan alt sınıfın sorumluluğundadır.

RetrieveLastUsedEpochKeyId

virtual WEAVE_ERROR RetrieveLastUsedEpochKeyId(
  void
)=0

StoreLastUsedEpochKeyId

virtual WEAVE_ERROR StoreLastUsedEpochKeyId(
  void
)=0