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

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

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

Weave grup anahtarı mağazası 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:In::::::::::::::::::::::::::::::::::::::::::::::::

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ını alır.
EnumerateGroupKeys(uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0
virtual WEAVE_ERROR
GetCurrentAppKeyId(uint32_t keyId, uint32_t & curKeyId)
Mevcut anahtar kimliğini döndürür.
GetCurrentUTCTime(uint32_t & utcTime)
virtual WEAVE_ERROR
Mevcut platformun UTC süresini saniye cinsinden alın.
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
Uygulama grubu anahtarı alın.
RetrieveGroupKey(uint32_t keyId, WeaveGroupKey & key)=0
virtual WEAVE_ERROR
StoreGroupKey(const WeaveGroupKey & key)=0
virtual WEAVE_ERROR

Korumalı işlevler

Init(void)
void
Yerel grup anahtarı depolama parametrelerini başlatın.
OnEpochKeysChange(void)
void
Mevcut 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

SonrakiEpochKeyStartTime

uint32_t NextEpochKeyStartTime

Herkese açık işlevler

Sil

virtual WEAVE_ERROR Clear(
  void
)=0

DeleteGroupAnahtarı

virtual WEAVE_ERROR DeleteGroupKey(
  uint32_t keyId
)=0

DeleteGroupKeysOfATür

virtual WEAVE_ERROR DeleteGroupKeysOfAType(
  uint32_t keyType
)=0

DeriveUygulamaAnahtarı

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ını alır.

Desteklenen üç uygulama anahtarı türü bulunur: geçerli uygulama anahtarı, dönen uygulama anahtarı ve statik uygulama anahtarı. Geçerli uygulama anahtarı istendiğinde işlev, her bir dönem anahtarının mevcut sistem zamanına ve başlangıç zamanı parametresine göre geçerli dönem 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ı tuz değeri olan bir arabellek için işaretçi.
[in] saltLen
Uygulama anahtarı tuzunun uzunluğu.
[in] keyDiversifier
Uygulama anahtarı çeşitleyici değerine sahip bir arabellek göstergesi.
[in] diversifierLen
Uygulama anahtarı ayırıcının uzunluğu.
[out] appKey
Türetilmiş anahtarın yazılacağı tampon 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ı.
WEAVE_ERROR_BUFFER_TOO_SMALL
Sağlanan anahtar arabellek boyutu yeterli değilse.
WEAVE_ERROR_INVALID_KEY_ID
İstenen anahtarın anahtar anahtarı geçersizse.
WEAVE_ERROR_INVALID_ARGUMENT
Platform anahtar deposu geçersiz anahtar parametreleri döndürürse veya anahtar tanımlayıcısı geçersiz değere sahipse.
other
Platform anahtar deposu API'leri tarafından döndürülen diğer platforma özgü hatalar.

Gruplama Anahtarları

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
)

Mevcut anahtar kimliğini döndürür.

Mevcut sistem zamanına ve her dönemin başlangıç zamanı parametresine göre geçerli dönem anahtarını bulur. Sistemde geçerli ve doğru 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.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı.
WEAVE_ERROR_INVALID_KEY_ID
Giriş anahtarı kimliği geçersiz bir değere sahipse.
WEAVE_ERROR_KEY_NOT_FOUND
Dönem anahtarları, platform anahtarı deposunda bulunmaz.
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 platformun UTC süresini 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ı.
#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 edilmediyse.
other
Diğer Weave veya platform hata kodları.

GetGroupKey

WEAVE_ERROR GetGroupKey(
  uint32_t keyId,
  WeaveGroupKey & groupKey
)

Uygulama grubu anahtarı alın.

Bu işlev, uygulama grubu anahtarlarını oluşturur veya alır. Bu işlevin desteklediği anahtar türleri şunlardır: kumaş gizli, 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 başvuru.
Döndürülen Değerler
WEAVE_NO_ERROR
Başarılı.
WEAVE_ERROR_INVALID_KEY_ID
İstenen anahtarın anahtar anahtarı 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.

AlmaAnahtarı

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

Mağaza Grubu Anahtarı

virtual WEAVE_ERROR StoreGroupKey(
  const WeaveGroupKey & key
)=0

Korumalı işlevler

Başlangıç

void Init(
  void
)

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

OnEpochAnahtarlar Değişikliği

void OnEpochKeysChange(
  void
)

Mevcut anahtar kimliğini döndürür.

Uygulama dönem anahtarlarında herhangi bir değişiklik (silme veya depolama) gerçekleştiğinde, Epoch anahtarlarıyla ilişkili üye değişkenlerini varsayılan değerlere ayarlar. Bu yöntemi çağırmak için StoreGroupKey(), DeleteGroupKey() ve DeleteGroupKeysOfAType() işlevlerini uygulayan alt sınıfın sorumluluğu vardır.

GenerateLastUsedEpochKeyId

virtual WEAVE_ERROR RetrieveLastUsedEpochKeyId(
  void
)=0

StoreLastUsedEpochKeyId

virtual WEAVE_ERROR StoreLastUsedEpochKeyId(
  void
)=0