Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl::Tenun::Profil::Keamanan::AppKeys::GroupKeyStoreBase

Ini adalah class abstrak.

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

Definisi class penyimpanan kunci grup Weave.

Ringkasan

Fungsi di class ini dipanggil untuk mengelola kunci grup aplikasi.

Warisan

Subclass Langsung yang Diketahui:
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreImpl
nl::Weave::DeviceLayer::Internal::GroupKeyStoreWes}:::

Atribut yang dilindungi

LastUsedEpochKeyId
uint32_t
NextEpochKeyStartTime
uint32_t

Fungsi publik

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)
Memperoleh kunci aplikasi.
EnumerateGroupKeys(uint32_t keyType, uint32_t *keyIds, uint8_t keyIdsArraySize, uint8_t & keyCount)=0
virtual WEAVE_ERROR
GetCurrentAppKeyId(uint32_t keyId, uint32_t & curKeyId)
Menampilkan ID kunci saat ini.
GetCurrentUTCTime(uint32_t & utcTime)
virtual WEAVE_ERROR
Dapatkan waktu UTC platform saat ini dalam detik.
GetGroupKey(uint32_t keyId, WeaveGroupKey & groupKey)
Dapatkan kunci grup aplikasi.
RetrieveGroupKey(uint32_t keyId, WeaveGroupKey & key)=0
virtual WEAVE_ERROR
StoreGroupKey(const WeaveGroupKey & key)=0
virtual WEAVE_ERROR

Fungsi yang dilindungi

Init(void)
void
Menginisialisasi parameter penyimpanan kunci grup lokal.
OnEpochKeysChange(void)
void
Menampilkan ID kunci saat ini.
RetrieveLastUsedEpochKeyId(void)=0
virtual WEAVE_ERROR
StoreLastUsedEpochKeyId(void)=0
virtual WEAVE_ERROR

Atribut yang dilindungi

LastUsedEpochKeyId

uint32_t LastUsedEpochKeyId

WaktuEpochKeyStartTime

uint32_t NextEpochKeyStartTime

Fungsi publik

Hapus

virtual WEAVE_ERROR Clear(
  void
)=0

HapusKunciGrup

virtual WEAVE_ERROR DeleteGroupKey(
  uint32_t keyId
)=0

MenghapusGroupKeysOfAType

virtual WEAVE_ERROR DeleteGroupKeysOfAType(
  uint32_t keyType
)=0

KunciAplikasiDerive

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
)

Memperoleh kunci aplikasi.

Ada tiga jenis kunci aplikasi yang didukung: kunci aplikasi saat ini, kunci aplikasi berputar, dan kunci aplikasi statis. Jika kunci aplikasi saat ini diminta, fungsi tersebut akan menemukan dan menggunakan kunci epoch saat ini berdasarkan waktu sistem saat ini dan parameter waktu mulai dari setiap kunci epoch.

Detail
Parameter
[in,out] keyId
Referensi ke ID kunci yang diminta. Jika kunci aplikasi saat ini diminta, kolom ini akan diperbarui untuk mencerminkan jenis baru (kunci aplikasi rotasi) dan ID kunci epoch aktual yang digunakan untuk membuat kunci aplikasi.
[in] keySalt
Pointer ke buffer dengan nilai garam kunci aplikasi.
[in] saltLen
Panjang salt kunci aplikasi.
[in] keyDiversifier
Pointer ke buffer dengan nilai pembeda kunci aplikasi.
[in] diversifierLen
Panjang pemisah kunci aplikasi.
[out] appKey
Pointer ke buffer tempat kunci turunan akan ditulis.
[in] keyBufSize
Panjang buffer kunci yang diberikan.
[in] keyLen
Panjang materi kunci yang diminta.
[out] appGroupGlobalId
ID global grup aplikasi dari kunci terkait.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika berhasil.
WEAVE_ERROR_BUFFER_TOO_SMALL
Jika ukuran buffer kunci yang diberikan tidak mencukupi.
WEAVE_ERROR_INVALID_KEY_ID
Jika kunci yang diminta memiliki ID kunci yang tidak valid.
WEAVE_ERROR_INVALID_ARGUMENT
Jika key store platform menampilkan parameter kunci yang tidak valid atau pengidentifikasi kunci memiliki nilai yang tidak valid.
other
Error khusus platform lainnya yang ditampilkan oleh API penyimpanan kunci platform.

EnumerateGroupKey

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

ID GetCurrentAppKey

WEAVE_ERROR GetCurrentAppKeyId(
  uint32_t keyId,
  uint32_t & curKeyId
)

Menampilkan ID kunci saat ini.

Menemukan kunci epoch saat ini berdasarkan waktu sistem saat ini dan parameter waktu mulai dari setiap kunci epoch. Jika sistem tidak memiliki waktu yang valid dan akurat, maka ID kunci epoch yang terakhir digunakan akan ditampilkan.

Detail
Parameter
[in] keyId
ID kunci aplikasi.
[out] curKeyId
ID kunci aplikasi saat ini.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika berhasil.
WEAVE_ERROR_INVALID_KEY_ID
Jika ID kunci input memiliki nilai yang tidak valid.
WEAVE_ERROR_KEY_NOT_FOUND
Jika kunci epoch tidak ditemukan di penyimpanan kunci platform.
other
Error khusus platform lainnya yang ditampilkan oleh API penyimpanan kunci platform.

GetCurrentUTC

virtual WEAVE_ERROR GetCurrentUTCTime(
  uint32_t & utcTime
)

Dapatkan waktu UTC platform saat ini dalam detik.

Detail
Parameter
[out] utcTime
Referensi ke nilai waktu.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika berhasil.
#WEAVE_SYSTEM_ERROR_NOT_SUPPORTED
Jika platform tidak mendukung jam real time.
#WEAVE_SYSTEM_ERROR_REAL_TIME_NOT_SYNCED
Jika jam real-time sistem tidak disinkronkan ke sumber waktu yang akurat.
other
Kode error Weave atau platform lainnya.

MendapatkanKunciGrup

WEAVE_ERROR GetGroupKey(
  uint32_t keyId,
  WeaveGroupKey & groupKey
)

Dapatkan kunci grup aplikasi.

Fungsi ini memperoleh atau mengambil kunci grup aplikasi. Jenis kunci yang didukung oleh fungsi ini adalah: rahasia kain, kunci root, kunci epoch, kunci master grup, dan kunci perantara.

Detail
Parameter
[in] keyId
ID kunci grup.
[out] groupKey
Referensi ke objek kunci grup.
Nilai yang Ditampilkan
WEAVE_NO_ERROR
Jika berhasil.
WEAVE_ERROR_INVALID_KEY_ID
Jika kunci yang diminta memiliki ID kunci yang tidak valid.
WEAVE_ERROR_INVALID_ARGUMENT
Jika key store platform menampilkan parameter kunci yang tidak valid.
other
Error khusus platform lainnya yang ditampilkan oleh API penyimpanan kunci platform.

AmbilGrupKunci

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

StoreGroupKey

virtual WEAVE_ERROR StoreGroupKey(
  const WeaveGroupKey & key
)=0

Fungsi yang dilindungi

Init

void Init(
  void
)

Menginisialisasi parameter penyimpanan kunci grup lokal.

OnEpochKeysChange

void OnEpochKeysChange(
  void
)

Menampilkan ID kunci saat ini.

Menetapkan variabel anggota yang terkait dengan kunci epoch ke nilai default saat terjadi perubahan (hapus atau simpan) pada kumpulan kunci epoch aplikasi. Ini adalah tanggung jawab subclass yang mengimplementasikan fungsi StoreGroupKey(), DeleteGroupKey(), dan DeleteGroupKeysOfAType() untuk memanggil metode ini.

RetrieveLastUsedEpochKeyId

virtual WEAVE_ERROR RetrieveLastUsedEpochKeyId(
  void
)=0

StoreLastUsedEpochKeyId

virtual WEAVE_ERROR StoreLastUsedEpochKeyId(
  void
)=0