nl::Weave::WeaveKeyId

#include <src/lib/core/WeaveKeyIds.h>

Definisi ID Kunci Weave.

Ringkasan

Class ini berisi jenis kunci, flag kunci, definisi kolom ID kunci, dan fungsi API.

Jenis publik

@52{
  kType_None = 0x00000000,
  kType_General = 0x00001000,
  kType_Session = 0x00002000,
  kType_AppStaticKey = 0x00004000,
  kType_AppRotatingKey = kType_AppStaticKey | kTypeModifier_IncorporatesEpochKey,
  kType_AppRootKey = 0x00010000,
  kType_AppEpochKey = 0x00020000 | kTypeModifier_IncorporatesEpochKey,
  kType_AppGroupMasterKey = 0x00030000,
  kType_AppIntermediateKey = kType_AppRootKey | kTypeModifier_IncorporatesEpochKey,
  kNone = kType_None | 0x0000,
  kFabricSecret = kType_General | 0x0001,
  kFabricRootKey = kType_AppRootKey | (0 << kShift_RootKeyNumber),
  kClientRootKey = kType_AppRootKey | (1 << kShift_RootKeyNumber),
  kServiceRootKey = kType_AppRootKey | (2 << kShift_RootKeyNumber),
  kKeyNumber_Max = kMask_KeyNumber
}
enum
Kolom, tanda, dan jenis ID kunci Weave Publik.

Fungsi statis publik

ConvertToCurrentAppKeyId(uint32_t keyId)
uint32_t
Mengonversi ID kunci grup aplikasi menjadi ID kunci aplikasi saat ini.
ConvertToStaticAppKeyId(uint32_t keyId)
uint32_t
Mengonversi ID kunci aplikasi menjadi ID kunci statis aplikasi.
DescribeKey(uint32_t keyId)
const char *
Mendekode ID kunci Weave dengan string deskriptif.
GetAppGroupLocalNumber(uint32_t keyId)
uint8_t
Mendapatkan nomor lokal grup aplikasi yang digunakan untuk memperoleh kunci aplikasi yang ditentukan.
GetAppGroupMasterKeyId(uint32_t keyId)
uint32_t
Mendapatkan ID kunci master grup aplikasi yang digunakan untuk memperoleh kunci aplikasi yang ditentukan.
GetEpochKeyId(uint32_t keyId)
uint32_t
Mendapatkan ID kunci epoch grup aplikasi yang digunakan untuk memperoleh kunci aplikasi yang ditentukan.
GetEpochKeyNumber(uint32_t keyId)
uint8_t
Mendapatkan nomor kunci epoch grup aplikasi yang digunakan untuk memperoleh kunci aplikasi yang ditentukan.
GetRootKeyId(uint32_t keyId)
uint32_t
Mendapatkan ID kunci root grup aplikasi yang digunakan untuk memperoleh kunci aplikasi yang ditentukan.
GetRootKeyNumber(uint32_t keyId)
uint8_t
Mendapatkan nomor kunci root grup aplikasi yang digunakan untuk memperoleh kunci aplikasi yang ditentukan.
GetType(uint32_t keyId)
uint32_t
Mendapatkan jenis kunci Weave dari ID kunci yang ditentukan.
IncorporatesAppGroupMasterKey(uint32_t keyId)
bool
Menentukan apakah ID kunci grup aplikasi yang ditentukan menggabungkan kunci master grup.
IncorporatesEpochKey(uint32_t keyId)
bool
Menentukan apakah ID kunci grup aplikasi yang ditentukan menyertakan kunci epoch.
IncorporatesRootKey(uint32_t keyId)
bool
Menentukan apakah ID kunci grup aplikasi yang ditentukan menyertakan kunci root.
IsAppEpochKey(uint32_t keyId)
bool
Menentukan apakah ID kunci yang ditentukan merupakan jenis kunci epoch aplikasi.
IsAppGroupKey(uint32_t keyId)
bool
Menentukan apakah ID kunci yang ditentukan termasuk dalam salah satu jenis kunci grup aplikasi (statis atau berputar).
IsAppGroupMasterKey(uint32_t keyId)
bool
Menentukan apakah ID kunci yang ditentukan merupakan jenis kunci master grup aplikasi.
IsAppRootKey(uint32_t keyId)
bool
Menentukan apakah ID kunci yang ditentukan merupakan jenis kunci utama aplikasi.
IsAppRotatingKey(uint32_t keyId)
bool
Menentukan apakah ID kunci yang ditentukan merupakan jenis rotasi aplikasi.
IsAppStaticKey(uint32_t keyId)
bool
Menentukan apakah ID kunci yang ditentukan berjenis statis aplikasi.
IsGeneralKey(uint32_t keyId)
bool
Tentukan apakah ID kunci yang ditentukan berjenis umum.
IsMessageEncryptionKeyId(uint32_t keyId, bool allowLogicalKeys)
bool
Menentukan apakah ID kunci tertentu mengidentifikasi kunci yang cocok untuk enkripsi pesan Weave.
IsSameKeyOrGroup(uint32_t keyId1, uint32_t keyId2)
bool
Menentukan apakah dua ID tombol mengidentifikasi kunci yang sama, atau dalam kasus kunci dirotasi, grup kunci yang sama tidak bergantung pada epoch tertentu.
IsSessionKey(uint32_t keyId)
bool
Menentukan apakah ID kunci yang ditentukan merupakan jenis sesi.
IsValidKeyId(uint32_t keyId)
bool
Menentukan apakah ID kunci memiliki nilai yang valid (legal).
MakeAppGroupMasterKeyId(uint8_t appGroupLocalNumber)
uint32_t
Membuat ID kunci master grup aplikasi dengan nomor lokal grup aplikasi.
MakeAppIntermediateKeyId(uint32_t rootKeyId, uint32_t epochKeyId, bool useCurrentEpochKey)
uint32_t
Membuat ID kunci perantara aplikasi berdasarkan ID kunci konstituen.
MakeAppKeyId(uint32_t keyType, uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Membuat ID kunci grup aplikasi berdasarkan ID kunci konstituen dan informasi lainnya.
MakeAppRotatingKeyId(uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
Membuat ID kunci yang merotasi aplikasi dengan ID kunci konstituen dan informasi lainnya.
MakeAppStaticKeyId(uint32_t rootKeyId, uint32_t appGroupMasterKeyId)
uint32_t
Membuat ID kunci statis aplikasi dengan ID kunci konstituen.
MakeEpochKeyId(uint8_t epochKeyNumber)
uint32_t
Buat ID kunci root grup aplikasi dengan nomor kunci epoch.
MakeGeneralKeyId(uint16_t generalKeyNumber)
uint16_t
Membuat ID kunci umum dengan nomor kunci umum.
MakeRootKeyId(uint8_t rootKeyNumber)
uint32_t
Membuat ID kunci utama grup aplikasi berdasarkan nomor kunci root.
MakeSessionKeyId(uint16_t sessionKeyNumber)
uint16_t
Membuat ID kunci sesi berdasarkan nomor kunci sesi.
UpdateEpochKeyId(uint32_t keyId, uint32_t epochKeyId)
uint32_t
Perbarui ID kunci grup aplikasi dengan nomor kunci epoch baru.
UsesCurrentEpochKey(uint32_t keyId)
bool
Menentukan apakah ID kunci grup aplikasi yang ditentukan menggunakan "saat ini" atau tidak tombol epoch.

Jenis publik

@52

 @52

Kolom, tanda, dan jenis ID kunci Weave Publik.

Properti
kClientRootKey

ID kunci root klien.

kFabricRootKey

ID kunci root Fabric.

kFabricSecret

ID rahasia kain tenun.

kKeyNumber_Max

Nilai maksimum untuk subkolom ID kunci.

kNone

Susun ID kunci global.

ID kunci Weave tidak ditentukan.

kServiceRootKey

ID kunci root layanan.

kType_AppEpochKey

Jenis kunci epoch grup aplikasi.

kType_AppGroupMasterKey

Jenis kunci master grup aplikasi.

kType_AppIntermediateKey

Jenis kunci perantara grup aplikasi.

kType_AppRootKey

Jenis kunci Weave (selain jenis enkripsi pesan Weave).

kType_AppRotatingKey

Jenis kunci rotasi aplikasi.

kType_AppStaticKey

Jenis kunci statis aplikasi.

kType_General

Jenis kunci umum.

kType_None

Jenis kunci Weave yang digunakan untuk enkripsi pesan Weave.

kType_Session

Jenis kunci sesi.

Fungsi statis publik

ConvertToCurrentAppKeyId

uint32_t ConvertToCurrentAppKeyId(
  uint32_t keyId
)

Mengonversi ID kunci grup aplikasi menjadi ID kunci aplikasi saat ini.

Detail
Parameter
[in] keyId
ID kunci aplikasi.
Hasil
ID kunci saat ini.

ConvertToStaticAppKeyId

uint32_t ConvertToStaticAppKeyId(
  uint32_t keyId
)

Mengonversi ID kunci aplikasi menjadi ID kunci statis aplikasi.

Detail
Parameter
[in] keyId
ID kunci aplikasi.
Hasil
ID kunci statis aplikasi Anda.

DescribeKey

const char * DescribeKey(
  uint32_t keyId
)

Mendekode ID kunci Weave dengan string deskriptif.

Detail
Parameter
[in] keyId
Merangkai ID kunci untuk mendekode dan untuk menampilkan string deskriptif.
Hasil
Pointer ke string yang dihentikan NULL yang menjelaskan ID kunci yang ditentukan.

GetAppGroupLocalNumber

uint8_t GetAppGroupLocalNumber(
  uint32_t keyId
)

Mendapatkan nomor lokal grup aplikasi yang digunakan untuk mendapatkan kunci aplikasi yang ditentukan.

Detail
Parameter
[in] keyId
ID kunci grup aplikasi Weave.
Hasil
nomor lokal grup aplikasi.

GetAppGroupMasterKeyId

uint32_t GetAppGroupMasterKeyId(
  uint32_t keyId
)

Mendapatkan ID kunci master grup aplikasi yang digunakan untuk memperoleh kunci aplikasi yang ditentukan.

Detail
Parameter
[in] keyId
ID kunci grup aplikasi Weave.
Hasil
ID kunci master grup aplikasi.

GetEpochKeyId

uint32_t GetEpochKeyId(
  uint32_t keyId
)

Mendapatkan ID kunci epoch grup aplikasi yang digunakan untuk memperoleh kunci aplikasi yang ditentukan.

Detail
Parameter
[in] keyId
ID kunci grup aplikasi Weave.
Hasil
ID kunci epoch.

GetEpochKeyNumber

uint8_t GetEpochKeyNumber(
  uint32_t keyId
)

Mendapatkan nomor kunci epoch grup aplikasi yang digunakan untuk memperoleh kunci aplikasi yang ditentukan.

Detail
Parameter
[in] keyId
ID kunci grup aplikasi Weave.
Hasil
nomor tombol epoch.

GetRootKeyId

uint32_t GetRootKeyId(
  uint32_t keyId
)

Mendapatkan ID kunci root grup aplikasi yang digunakan untuk memperoleh kunci aplikasi yang ditentukan.

Detail
Parameter
[in] keyId
ID kunci grup aplikasi Weave.
Hasil
ID root key.

GetRootKeyNumber

uint8_t GetRootKeyNumber(
  uint32_t keyId
)

Mendapatkan nomor kunci akar grup aplikasi yang digunakan untuk memperoleh kunci aplikasi yang ditentukan.

Detail
Parameter
[in] keyId
ID kunci grup aplikasi Weave.
Hasil
nomor kunci {i>root<i}.

GetType

uint32_t GetType(
  uint32_t keyId
)

Mendapatkan jenis kunci Weave dari ID kunci yang ditentukan.

Detail
Parameter
[in] keyId
ID kunci Weave.
Hasil
jenis ID kunci.

IncorporatesAppGroupMasterKey

bool IncorporatesAppGroupMasterKey(
  uint32_t keyId
)

Menentukan apakah ID kunci grup aplikasi yang ditentukan menyertakan kunci master grup.

Detail
Parameter
[in] keyId
ID kunci grup aplikasi Weave.
Hasil
true jika keyId menyertakan kunci master grup.

IncorporatesEpochKey

bool IncorporatesEpochKey(
  uint32_t keyId
)

Menentukan apakah ID kunci grup aplikasi yang ditentukan menyertakan kunci epoch.

Detail
Parameter
[in] keyId
ID kunci grup aplikasi Weave.
Hasil
true jika keyId menyertakan kunci epoch.

IncorporatesRootKey

bool IncorporatesRootKey(
  uint32_t keyId
)

Menentukan apakah ID kunci grup aplikasi yang ditentukan menyertakan kunci root.

Detail
Parameter
[in] keyId
ID kunci grup aplikasi Weave.
Hasil
true jika keyId menyertakan kunci root.

IsAppEpochKey

bool IsAppEpochKey(
  uint32_t keyId
)

Menentukan apakah ID kunci yang ditentukan merupakan jenis kunci epoch aplikasi.

Detail
Parameter
[in] keyId
ID kunci Weave.
Hasil
benar (true) jika keyId suatu jenis kunci epoch aplikasi.

IsAppGroupKey

bool IsAppGroupKey(
  uint32_t keyId
)

Menentukan apakah ID kunci yang ditentukan termasuk dalam salah satu jenis kunci grup aplikasi (statis atau berputar).

Detail
Parameter
[in] keyId
ID kunci Weave.
Hasil
true jika keyId memiliki jenis kunci statis atau berputar.

IsAppGroupMasterKey

bool IsAppGroupMasterKey(
  uint32_t keyId
)

Menentukan apakah ID kunci yang ditentukan merupakan jenis kunci master grup aplikasi.

Detail
Parameter
[in] keyId
ID kunci Weave.
Hasil
true jika keyId jenis kunci master grup aplikasi.

IsAppRootKey

bool IsAppRootKey(
  uint32_t keyId
)

Menentukan apakah ID kunci yang ditentukan merupakan jenis kunci utama aplikasi.

Detail
Parameter
[in] keyId
ID kunci Weave.
Hasil
true jika keyId dari jenis kunci utama aplikasi.

IsAppRotatingKey

bool IsAppRotatingKey(
  uint32_t keyId
)

Menentukan apakah ID kunci yang ditentukan merupakan jenis rotasi aplikasi.

Detail
Parameter
[in] keyId
ID kunci Weave.
Hasil
true jika keyId dari jenis rotasi aplikasi.

IsAppStaticKey

bool IsAppStaticKey(
  uint32_t keyId
)

Menentukan apakah ID kunci yang ditentukan berjenis statis aplikasi.

Detail
Parameter
[in] keyId
ID kunci Weave.
Hasil
true jika keyId jenis statis aplikasi.

IsGeneralKey

bool IsGeneralKey(
  uint32_t keyId
)

Tentukan apakah ID kunci yang ditentukan berjenis umum.

Detail
Parameter
[in] keyId
ID kunci Weave.
Hasil
true jika keyId memiliki jenis General.

IsMessageEncryptionKeyId

bool IsMessageEncryptionKeyId(
  uint32_t keyId,
  bool allowLogicalKeys
)

Menentukan apakah ID kunci tertentu mengidentifikasi kunci yang cocok untuk enkripsi pesan Weave.

Detail
Parameter
[in] keyId
ID kunci Weave.
[in] allowLogicalKeys
Menentukan apakah ID kunci logis (seperti kunci yang dirotasi "saat ini") harus dianggap cocok untuk enkripsi pesan.
Hasil
benar (true) jika kunci yang diidentifikasi dapat digunakan untuk mengenkripsi pesan Weave.

IsSameKeyOrGroup

bool IsSameKeyOrGroup(
  uint32_t keyId1,
  uint32_t keyId2
)

Menentukan apakah dua ID tombol mengidentifikasi kunci yang sama, atau dalam kasus kunci dirotasi, grup kunci yang sama tidak bergantung pada epoch tertentu.

Detail
Parameter
[in] keyId1
ID kunci pertama yang akan diuji.
[in] keyId2
ID kunci kedua yang akan diuji.
Hasil
True jika ID kunci mewakili kunci yang sama.

IsSessionKey

bool IsSessionKey(
  uint32_t keyId
)

Menentukan apakah ID kunci yang ditentukan merupakan jenis sesi.

Detail
Parameter
[in] keyId
ID kunci Weave.
Hasil
true (benar) jika keyId jenis sesi.

IsValidKeyId

bool IsValidKeyId(
  uint32_t keyId
)

Menentukan apakah ID kunci memiliki nilai yang valid (legal).

Detail
Parameter
[in] keyId
ID kunci Weave.
Hasil
true jika nilai ID kunci valid.

MakeAppGroupMasterKeyId

uint32_t MakeAppGroupMasterKeyId(
  uint8_t appGroupLocalNumber
)

Membuat ID kunci master grup aplikasi dengan nomor lokal grup aplikasi.

Detail
Parameter
[in] appGroupLocalNumber
Nomor lokal grup aplikasi.
Hasil
ID kunci master grup aplikasi.

MakeAppIntermediateKeyId

uint32_t MakeAppIntermediateKeyId(
  uint32_t rootKeyId,
  uint32_t epochKeyId,
  bool useCurrentEpochKey
)

Membuat ID kunci perantara aplikasi berdasarkan ID kunci konstituen.

Detail
Parameter
[in] rootKeyId
ID kunci root yang digunakan untuk memperoleh kunci perantara aplikasi.
[in] epochKeyId
ID kunci epoch yang digunakan untuk memperoleh kunci perantara aplikasi.
[in] useCurrentEpochKey
Flag boolean yang menunjukkan apakah kunci harus diambil menggunakan "current" tombol epoch.
Hasil
ID kunci perantara aplikasi.

MakeAppKeyId

uint32_t MakeAppKeyId(
  uint32_t keyType,
  uint32_t rootKeyId,
  uint32_t epochKeyId,
  uint32_t appGroupMasterKeyId,
  bool useCurrentEpochKey
)

Membuat ID kunci grup aplikasi berdasarkan ID kunci konstituen dan informasi lainnya.

Detail
Parameter
[in] keyType
Jenis kunci grup aplikasi turunan.
[in] rootKeyId
ID kunci root yang digunakan untuk mendapatkan kunci grup aplikasi.
[in] epochKeyId
ID kunci epoch yang digunakan untuk mendapatkan kunci grup aplikasi.
[in] appGroupMasterKeyId
ID kunci master grup aplikasi yang digunakan untuk mendapatkan kunci grup aplikasi.
[in] useCurrentEpochKey
Flag boolean yang menunjukkan apakah kunci harus diambil menggunakan "current" tombol epoch.
Hasil
ID kunci grup aplikasi.

MakeAppRotatingKeyId

uint32_t MakeAppRotatingKeyId(
  uint32_t rootKeyId,
  uint32_t epochKeyId,
  uint32_t appGroupMasterKeyId,
  bool useCurrentEpochKey
)

Membuat ID kunci yang merotasi aplikasi dengan ID kunci konstituen dan informasi lainnya.

Detail
Parameter
[in] rootKeyId
ID kunci root yang digunakan untuk mendapatkan kunci rotasi aplikasi.
[in] epochKeyId
ID kunci epoch yang digunakan untuk mendapatkan kunci rotasi aplikasi.
[in] appGroupMasterKeyId
ID kunci master grup aplikasi yang digunakan untuk memperoleh kunci rotasi aplikasi.
[in] useCurrentEpochKey
Flag boolean yang menunjukkan apakah kunci harus diambil menggunakan "current" tombol epoch.
Hasil
ID kunci rotasi aplikasi.

MakeAppStaticKeyId

uint32_t MakeAppStaticKeyId(
  uint32_t rootKeyId,
  uint32_t appGroupMasterKeyId
)

Membuat ID kunci statis aplikasi dengan ID kunci konstituen.

Detail
Parameter
[in] rootKeyId
ID kunci root yang digunakan untuk mendapatkan kunci statis aplikasi.
[in] appGroupMasterKeyId
ID kunci master grup aplikasi yang digunakan untuk mendapatkan kunci statis aplikasi.
Hasil
ID kunci statis aplikasi Anda.

MakeEpochKeyId

uint32_t MakeEpochKeyId(
  uint8_t epochKeyNumber
)

Buat ID kunci root grup aplikasi dengan nomor kunci epoch.

Detail
Parameter
[in] epochKeyNumber
Nomor kunci epoch.
Hasil
ID kunci epoch.

MakeGeneralKeyId

uint16_t MakeGeneralKeyId(
  uint16_t generalKeyNumber
)

Membuat ID kunci umum dengan nomor kunci umum.

Detail
Parameter
[in] generalKeyNumber
Nomor kunci umum.
Hasil
ID kunci umum.

MakeRootKeyId

uint32_t MakeRootKeyId(
  uint8_t rootKeyNumber
)

Membuat ID kunci utama grup aplikasi berdasarkan nomor kunci root.

Detail
Parameter
[in] rootKeyNumber
Nomor kunci root.
Hasil
ID root key.

MakeSessionKeyId

uint16_t MakeSessionKeyId(
  uint16_t sessionKeyNumber
)

Membuat ID kunci sesi berdasarkan nomor kunci sesi.

Detail
Parameter
[in] sessionKeyNumber
Nomor kunci sesi.
Hasil
ID kunci sesi.

UpdateEpochKeyId

uint32_t UpdateEpochKeyId(
  uint32_t keyId,
  uint32_t epochKeyId
)

Perbarui ID kunci grup aplikasi dengan nomor kunci epoch baru.

Detail
Parameter
[in] keyId
ID kunci aplikasi.
[in] epochKeyId
ID kunci epoch, yang akan digunakan dalam pembuatan ID kunci aplikasi yang diperbarui.
Hasil
ID kunci aplikasi tertentu.

UsesCurrentEpochKey

bool UsesCurrentEpochKey(
  uint32_t keyId
)

Menentukan apakah ID kunci grup aplikasi yang ditentukan menggunakan "saat ini" atau tidak tombol epoch.

Detail
Parameter
[in] keyId
ID kunci grup aplikasi Weave.
Hasil
benar (true) jika keyId menunjukkan penggunaan kunci epoch saat ini.