nl::Weave::WeaveKeyId

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

Definisi ID Kunci Weave.

Ringkasan

Class ini berisi tipe 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 Public Weave.

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 tertentu.
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 tertentu.
GetRootKeyNumber(uint32_t keyId)
uint8_t
Mendapatkan nomor kunci root grup aplikasi yang digunakan untuk memperoleh kunci aplikasi tertentu.
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 adalah 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 ditetapkan merupakan jenis kunci master grup aplikasi.
IsAppRootKey(uint32_t keyId)
bool
Menentukan apakah ID kunci yang ditentukan adalah jenis kunci root aplikasi.
IsAppRotatingKey(uint32_t keyId)
bool
Menentukan apakah ID kunci yang ditentukan adalah jenis aplikasi yang berputar.
IsAppStaticKey(uint32_t keyId)
bool
Menentukan apakah ID kunci yang ditentukan adalah jenis statis aplikasi.
IsGeneralKey(uint32_t keyId)
bool
Menentukan apakah ID kunci yang ditentukan adalah jenis umum.
IsMessageEncryptionKeyId(uint32_t keyId, bool allowLogicalKeys)
bool
Menentukan apakah ID kunci tertentu mengidentifikasi kunci yang sesuai untuk enkripsi pesan Weave.
IsSameKeyOrGroup(uint32_t keyId1, uint32_t keyId2)
bool
Menentukan apakah dua ID kunci mengidentifikasi kunci yang sama, atau dalam kasus kunci yang 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
Tentukan apakah ID kunci memiliki nilai yang valid (legal).
MakeAppGroupMasterKeyId(uint8_t appGroupLocalNumber)
uint32_t
Membuat ID kunci master grup aplikasi yang diberi nomor lokal grup aplikasi.
MakeAppIntermediateKeyId(uint32_t rootKeyId, uint32_t epochKeyId, bool useCurrentEpochKey)
uint32_t
Membuat ID kunci perantara aplikasi yang diberikan 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 rotasi aplikasi berdasarkan ID kunci konstituen dan informasi lainnya.
MakeAppStaticKeyId(uint32_t rootKeyId, uint32_t appGroupMasterKeyId)
uint32_t
Membuat ID kunci statis aplikasi yang diberikan ID kunci konstituen.
MakeEpochKeyId(uint8_t epochKeyNumber)
uint32_t
Membuat ID kunci root grup aplikasi yang diberi nomor kunci epoch.
MakeGeneralKeyId(uint16_t generalKeyNumber)
uint16_t
Membuat ID kunci umum berdasarkan nomor kunci umum.
MakeRootKeyId(uint8_t rootKeyNumber)
uint32_t
Membuat ID kunci root grup aplikasi yang diberi nomor kunci root.
MakeSessionKeyId(uint16_t sessionKeyNumber)
uint16_t
Buat 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 kunci epoch "saat ini".

Jenis publik

@52

 @52

Kolom, tanda, dan jenis ID kunci Public Weave.

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

Menyusun 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

Aplikasi merotasi jenis kunci.

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.

DescribeKey

const char * DescribeKey(
  uint32_t keyId
)

Mendekode ID kunci Weave dengan string deskriptif.

Detail
Parameter
[in] keyId
Susun ID kunci untuk didekode dan dikembalikan 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 memperoleh 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 tertentu.

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 tombol 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 kunci epoch.

GetRootKeyId

uint32_t GetRootKeyId(
  uint32_t keyId
)

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

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

GetRootKeyNumber

uint8_t GetRootKeyNumber(
  uint32_t keyId
)

Mendapatkan nomor kunci root grup aplikasi yang digunakan untuk memperoleh kunci aplikasi tertentu.

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

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 menggabungkan kunci master grup.

Detail
Parameter
[in] keyId
ID kunci grup aplikasi Weave.
Hasil
benar jika keyId menggabungkan 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 menggabungkan 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
benar jika keyId menggabungkan kunci {i>root<i}.

IsAppEpochKey

bool IsAppEpochKey(
  uint32_t keyId
)

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

Detail
Parameter
[in] keyId
ID kunci Weave.
Hasil
true jika keyId 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 adalah jenis kunci statis atau berputar.

IsAppGroupMasterKey

bool IsAppGroupMasterKey(
  uint32_t keyId
)

Menentukan apakah ID kunci yang ditetapkan 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 adalah jenis kunci root aplikasi.

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

IsAppRotatingKey

bool IsAppRotatingKey(
  uint32_t keyId
)

Menentukan apakah ID kunci yang ditentukan adalah jenis aplikasi yang berputar.

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

IsAppStaticKey

bool IsAppStaticKey(
  uint32_t keyId
)

Menentukan apakah ID kunci yang ditentukan adalah jenis statis aplikasi.

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

IsGeneralKey

bool IsGeneralKey(
  uint32_t keyId
)

Menentukan apakah ID kunci yang ditentukan adalah jenis 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 sesuai untuk enkripsi pesan Weave.

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

IsSameKeyOrGroup

bool IsSameKeyOrGroup(
  uint32_t keyId1,
  uint32_t keyId2
)

Menentukan apakah dua ID kunci mengidentifikasi kunci yang sama, atau dalam kasus kunci yang 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 tombol merepresentasikan 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 jika keyId jenis sesi.

IsValidKeyId

bool IsValidKeyId(
  uint32_t keyId
)

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

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

MakeAppGroupMasterKeyId

uint32_t MakeAppGroupMasterKeyId(
  uint8_t appGroupLocalNumber
)

Membuat ID kunci master grup aplikasi yang diberi 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 yang diberikan ID kunci konstituen.

Detail
Parameter
[in] rootKeyId
ID kunci root yang digunakan untuk memperoleh kunci perantara aplikasi.
[in] epochKeyId
ID kunci Epoch digunakan untuk memperoleh kunci perantara aplikasi.
[in] useCurrentEpochKey
Flag boolean yang menunjukkan apakah kunci harus diturunkan menggunakan kunci epoch "saat ini".
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 memperoleh kunci grup aplikasi.
[in] epochKeyId
ID kunci Epoch yang digunakan untuk memperoleh kunci grup aplikasi.
[in] appGroupMasterKeyId
ID kunci master grup aplikasi yang digunakan untuk memperoleh kunci grup aplikasi.
[in] useCurrentEpochKey
Flag boolean yang menunjukkan apakah kunci harus diturunkan menggunakan kunci epoch "saat ini".
Hasil
ID kunci grup aplikasi.

MakeAppRotatingKeyId

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

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

Detail
Parameter
[in] rootKeyId
ID kunci root yang digunakan untuk memperoleh kunci rotasi aplikasi.
[in] epochKeyId
ID kunci Epoch digunakan untuk memperoleh 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 diturunkan menggunakan kunci epoch "saat ini".
Hasil
ID kunci rotasi aplikasi.

MakeAppStaticKeyId

uint32_t MakeAppStaticKeyId(
  uint32_t rootKeyId,
  uint32_t appGroupMasterKeyId
)

Membuat ID kunci statis aplikasi yang diberikan ID kunci konstituen.

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

MakeEpochKeyId

uint32_t MakeEpochKeyId(
  uint8_t epochKeyNumber
)

Membuat ID kunci root grup aplikasi yang diberi nomor kunci epoch.

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

MakeGeneralKeyId

uint16_t MakeGeneralKeyId(
  uint16_t generalKeyNumber
)

Membuat ID kunci umum berdasarkan nomor kunci umum.

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

MakeRootKeyId

uint32_t MakeRootKeyId(
  uint8_t rootKeyNumber
)

Membuat ID kunci root grup aplikasi yang diberi nomor kunci root.

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

MakeSessionKeyId

uint16_t MakeSessionKeyId(
  uint16_t sessionKeyNumber
)

Buat 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 diupdate.
Hasil
ID kunci aplikasi.

UsesCurrentEpochKey

bool UsesCurrentEpochKey(
  uint32_t keyId
)

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

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