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

Bu, soyut bir sınıftır.

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

Weave grubu anahtar deposu 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::GroupKeyStoreImpl
  nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore

Korunan özellikler

LastUsedEpochKeyId
uint32_t
NextEpochKeyStartTime
uint32_t

Herkese açık işlevler

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
Platformun geçerli UTC saatini saniye cinsinden alın.
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
Uygulama grup 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

Herkese açık işlevler

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ı. Geçerli uygulama anahtarı istendiğinde, işlev geçerli sistem saatine ve her bir dönem anahtarının başlangıç zamanı parametresine göre geçerli epoch anahtarını bulup kullanır.

Ayrıntılar
Parametreler
[in,out] keyId
İstenen anahtar kimliğine 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 dönem anahtarı kimliğini yansıtacak şekilde güncellenir.
[in] keySalt
Uygulama anahtarı takviye değeri içeren arabelleğe işaret eden bir işaret.
[in] saltLen
Uygulama anahtar takviyesinin uzunluğu.
[in] keyDiversifier
Uygulama anahtarı çeşitleyici değerine sahip bir arabelleğe işaret eden işaretçi.
[in] diversifierLen
Uygulama anahtarı çeşitleyicinin uzunluğu.
[out] appKey
Türetilen anahtarın yazılacağı tamponu işaret eden bir işaret.
[in] keyBufSize
Sağlanan anahtar arabelleğinin uzunluğu.
[in] keyLen
İstenen anahtar materyalinin uzunluğu.
[out] appGroupGlobalId
İlişkili anahtarın uygulama grubu genel kimliği.
Değerleri Döndür
WEAVE_NO_ERROR
Başarıya merhaba.
WEAVE_ERROR_BUFFER_TOO_SMALL
Sağlanan anahtar arabellek boyutu yeterli değilse.
WEAVE_ERROR_INVALID_KEY_ID
İstenen anahtarın anahtar kimliği geçersizse
WEAVE_ERROR_INVALID_ARGUMENT
Platform anahtar deposunun geçersiz anahtar parametreleri döndürmesi veya anahtar tanımlayıcısının değeri geçersizse.
other
Platform anahtarı deposu API'leri tarafından döndürülen, platforma özgü diğer 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.

Geçerli sistem saatine ve her dönem anahtarının başlangıç zamanı parametresine göre geçerli dönem anahtarını bulur. Sistemin geçerli ve doğru bir zamanı 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
Uygulama geçerli anahtar kimliği.
Değerleri Döndür
WEAVE_NO_ERROR
Başarıya merhaba.
WEAVE_ERROR_INVALID_KEY_ID
Giriş anahtarı kimliğinde geçersiz bir değer olup olmadığı.
WEAVE_ERROR_KEY_NOT_FOUND
Dönem anahtarları, platform anahtar deposunda yoksa.
other
Platform anahtarı deposu API'leri tarafından döndürülen, platforma özgü diğer hatalar.

GetCurrentUTCTime

virtual WEAVE_ERROR GetCurrentUTCTime(
  uint32_t & utcTime
)

Platformun geçerli UTC saatini saniye cinsinden alın.

Ayrıntılar
Parametreler
[out] utcTime
Zaman değerine referans.
Değerleri Döndür
WEAVE_NO_ERROR
Başarıya merhaba.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Platformun gerçek zamanlı saati desteklemiyorsa
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Sistemin gerçek zamanlı saati doğru bir zaman kaynağıyla senkronize edilmemişse.
other
Diğer Weave veya platform hata kodları.

GetGroupKey

WEAVE_ERROR GetGroupKey(
  uint32_t keyId,
  WeaveGroupKey & groupKey
)

Uygulama grup anahtarını alın.

Bu işlev, uygulama grubu anahtarlarını türetir veya alır. Bu işlev tarafından desteklenen anahtar türleri şunlardır: yapı gizli anahtarı, kök anahtarı, dönem anahtarı, grup ana anahtarı ve ara anahtar.

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

RetrieveGroupKey

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

StoreGroupKey

virtual WEAVE_ERROR StoreGroupKey(
  const WeaveGroupKey & key
)=0

Korunan işlevler

Init

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) gerçekleştiğinde, dönem anahtarlarıyla 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