nl::Weave::WeaveKeyId

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

Weave Key ID の定義。

概要

このクラスには、キータイプ、キーフラグ、キー ID フィールド定義、API 関数が含まれています。

パブリック タイプ

@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
Public Weave キー ID フィールド、フラグ、タイプ。

静的パブリック関数

ConvertToCurrentAppKeyId(uint32_t keyId)
uint32_t
アプリケーション グループ キー ID をアプリケーションの現在のキー ID に変換します。
ConvertToStaticAppKeyId(uint32_t keyId)
uint32_t
アプリケーション キー ID をアプリケーションの静的キー ID に変換します。
DescribeKey(uint32_t keyId)
const char *
説明的な文字列を使用して Weave キー ID をデコードします。
GetAppGroupLocalNumber(uint32_t keyId)
uint8_t
指定されたアプリケーション キーの取得に使用されたアプリケーション グループのローカル番号を取得します。
GetAppGroupMasterKeyId(uint32_t keyId)
uint32_t
指定されたアプリケーション キーの取得に使用されたアプリケーション グループ マスターキー ID を取得します。
GetEpochKeyId(uint32_t keyId)
uint32_t
指定されたアプリケーション キーの取得に使用されたアプリケーション グループのエポックキー ID を取得します。
GetEpochKeyNumber(uint32_t keyId)
uint8_t
指定されたアプリケーション キーの取得に使用されたアプリケーション グループのエポックキー番号を取得します。
GetRootKeyId(uint32_t keyId)
uint32_t
指定されたアプリケーション キーの取得に使用されたアプリケーション グループ ルートキー ID を取得します。
GetRootKeyNumber(uint32_t keyId)
uint8_t
指定されたアプリケーション キーの取得に使用されたアプリケーション グループのルートキー番号を取得します。
GetType(uint32_t keyId)
uint32_t
指定されたキー ID の Weave キータイプを取得します。
IncorporatesAppGroupMasterKey(uint32_t keyId)
bool
指定されたアプリケーション グループ キー ID にグループ マスター鍵が組み込まれているかどうかを確認します。
IncorporatesEpochKey(uint32_t keyId)
bool
指定されたアプリケーション グループ キー ID にエポックキーが組み込まれているかどうかを確認します。
IncorporatesRootKey(uint32_t keyId)
bool
指定されたアプリケーション グループ キー ID にルートキーが組み込まれているかどうかを確認します。
IsAppEpochKey(uint32_t keyId)
bool
指定されたキー ID がアプリケーションのエポックキー タイプかどうかを判断します。
IsAppGroupKey(uint32_t keyId)
bool
指定されたキー ID がいずれかのアプリケーション グループ キータイプ(静的またはローテーション)に属しているかどうかを判断します。
IsAppGroupMasterKey(uint32_t keyId)
bool
指定された鍵 ID がアプリケーション グループのマスター鍵タイプであるかどうかを判定します。
IsAppRootKey(uint32_t keyId)
bool
指定されたキー ID がアプリケーションのルートキー タイプかどうかを判断します。
IsAppRotatingKey(uint32_t keyId)
bool
指定された鍵 ID がアプリケーション ローテーション タイプかどうかを判断します。
IsAppStaticKey(uint32_t keyId)
bool
指定されたキー ID がアプリケーションの静的タイプであるかどうかを判定します。
IsGeneralKey(uint32_t keyId)
bool
指定されたキー ID が一般的な型かどうかを判断します。
IsMessageEncryptionKeyId(uint32_t keyId, bool allowLogicalKeys)
bool
指定した鍵 ID が、Weave メッセージ暗号化に適した鍵を識別するかどうかを判断します。
IsSameKeyOrGroup(uint32_t keyId1, uint32_t keyId2)
bool
2 つの鍵 ID が同じキーを識別するか、または鍵をローテーションする場合は特定のエポックに関係なく同じキーのグループを識別するかを指定します。
IsSessionKey(uint32_t keyId)
bool
指定されたキー ID がセッション タイプかどうかを判断します。
IsValidKeyId(uint32_t keyId)
bool
鍵 ID に有効(有効な)値があるかどうかを判断します。
MakeAppGroupMasterKeyId(uint8_t appGroupLocalNumber)
uint32_t
アプリケーション グループのローカル番号を指定して、アプリケーション グループ マスター鍵 ID を作成します。
MakeAppIntermediateKeyId(uint32_t rootKeyId, uint32_t epochKeyId, bool useCurrentEpochKey)
uint32_t
構成鍵 ID を基に、アプリケーションの中間鍵 ID を作成します。
MakeAppKeyId(uint32_t keyType, uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
構成キー ID などの情報を指定して、アプリケーション グループ キー ID を作成します。
MakeAppRotatingKeyId(uint32_t rootKeyId, uint32_t epochKeyId, uint32_t appGroupMasterKeyId, bool useCurrentEpochKey)
uint32_t
構成鍵 ID やその他の情報を指定して、アプリケーション ローテーション鍵 ID を作成します。
MakeAppStaticKeyId(uint32_t rootKeyId, uint32_t appGroupMasterKeyId)
uint32_t
構成キー ID を指定して、アプリケーションの静的キー ID を作成します。
MakeEpochKeyId(uint8_t epochKeyNumber)
uint32_t
エポックキー番号を指定してアプリケーション グループ ルートキー ID を作成します。
MakeGeneralKeyId(uint16_t generalKeyNumber)
uint16_t
一般的な鍵番号を指定して、一般的な鍵 ID を作成します。
MakeRootKeyId(uint8_t rootKeyNumber)
uint32_t
ルートキー番号を指定して、アプリケーション グループのルートキー ID を作成します。
MakeSessionKeyId(uint16_t sessionKeyNumber)
uint16_t
セッションキー番号を指定してセッションキー ID を作成します。
UpdateEpochKeyId(uint32_t keyId, uint32_t epochKeyId)
uint32_t
アプリケーション グループ キー ID を新しいエポックキー番号で更新します。
UsesCurrentEpochKey(uint32_t keyId)
bool
指定されたアプリケーション グループ キー ID が「現在の」エポックキーを使用しているかどうかを確認します。

パブリック タイプ

@52

 @52

Public Weave キー ID フィールド、フラグ、タイプ。

プロパティ
kClientRootKey

クライアント ルートキー ID。

kFabricRootKey

ファブリック ルート鍵 ID。

kFabricSecret

Weave ファブリックのシークレット ID。

kKeyNumber_Max

キー ID サブフィールドの最大値。

kNone

Weave グローバル キー ID。

Weave キー ID が指定されていません。

kServiceRootKey

サービスルート鍵 ID。

kType_AppEpochKey

アプリケーション グループのエポックキーのタイプ。

kType_AppGroupMasterKey

アプリケーション グループのマスター鍵のタイプ。

kType_AppIntermediateKey

アプリケーション グループの中間キーのタイプ。

kType_AppRootKey

Weave 鍵タイプ(Weave メッセージ暗号化タイプ以外)

kType_AppRotatingKey

アプリのローテーション鍵のタイプ。

kType_AppStaticKey

アプリケーションの静的キーのタイプ。

kType_General

一般的なキーのタイプ。

kType_None

Weave メッセージの暗号化に使用される Weave 鍵タイプ。

kType_Session

セッション キーのタイプ。

静的パブリック関数

ConvertToCurrentAppKeyId

uint32_t ConvertToCurrentAppKeyId(
  uint32_t keyId
)

アプリケーション グループ キー ID をアプリケーションの現在のキー ID に変換します。

詳細
パラメータ
[in] keyId
アプリケーション キー ID。
戻り値
現在のキー ID。

ConvertToStaticAppKeyId

uint32_t ConvertToStaticAppKeyId(
  uint32_t keyId
)

アプリケーション キー ID をアプリケーションの静的キー ID に変換します。

詳細
パラメータ
[in] keyId
アプリケーション キー ID。
戻り値
静的キー ID。

DescribeKey

const char * DescribeKey(
  uint32_t keyId
)

説明的な文字列を使用して Weave キー ID をデコードします。

詳細
パラメータ
[in] keyId
デコードして説明文字列を返す Weave キー ID。
戻り値
指定されたキー ID を表す NULL 終了文字列へのポインタ。

GetAppGroupLocalNumber

uint8_t GetAppGroupLocalNumber(
  uint32_t keyId
)

指定されたアプリケーション キーの取得に使用されたアプリケーション グループのローカル番号を取得します。

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キーの識別子。
戻り値
許可できます。

GetAppGroupMasterKeyId

uint32_t GetAppGroupMasterKeyId(
  uint32_t keyId
)

指定されたアプリケーション キーの取得に使用されたアプリケーション グループ マスターキー ID を取得します。

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キーの識別子。
戻り値
アプリケーション グループのマスター鍵 ID。

GetEpochKeyId

uint32_t GetEpochKeyId(
  uint32_t keyId
)

指定されたアプリケーション キーの取得に使用されたアプリケーション グループのエポックキー ID を取得します。

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キーの識別子。
戻り値
エポックキー ID を指定します。

GetEpochKeyNumber

uint8_t GetEpochKeyNumber(
  uint32_t keyId
)

指定されたアプリケーション キーの取得に使用されたアプリケーション グループのエポックキー番号を取得します。

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キーの識別子。
戻り値
エポックキー番号です。

GetRootKeyId

uint32_t GetRootKeyId(
  uint32_t keyId
)

指定されたアプリケーション キーの取得に使用されたアプリケーション グループ ルートキー ID を取得します。

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キーの識別子。
戻り値
ルート鍵 ID。

GetRootKeyNumber

uint8_t GetRootKeyNumber(
  uint32_t keyId
)

指定されたアプリケーション キーの取得に使用されたアプリケーション グループのルートキー番号を取得します。

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キーの識別子。
戻り値
ルートキー番号を指定します。

GetType

uint32_t GetType(
  uint32_t keyId
)

指定されたキー ID の Weave キータイプを取得します。

詳細
パラメータ
[in] keyId
Weave キー ID。
戻り値
値。

IncorporatesAppGroupMasterKey

bool IncorporatesAppGroupMasterKey(
  uint32_t keyId
)

指定されたアプリケーション グループ キー ID にグループ マスター鍵が組み込まれているかどうかを確認します。

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キーの識別子。
戻り値
keyId にグループ マスター鍵が含まれている場合は true。

IncorporatesEpochKey

bool IncorporatesEpochKey(
  uint32_t keyId
)

指定されたアプリケーション グループ キー ID にエポックキーが組み込まれているかどうかを確認します。

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キーの識別子。
戻り値
keyId にエポックキーが含まれている場合は true。

IncorporatesRootKey

bool IncorporatesRootKey(
  uint32_t keyId
)

指定されたアプリケーション グループ キー ID にルートキーが組み込まれているかどうかを確認します。

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キーの識別子。
戻り値
keyId にルートキーが含まれている場合は true。

IsAppEpochKey

bool IsAppEpochKey(
  uint32_t keyId
)

指定されたキー ID がアプリケーションのエポックキー タイプかどうかを判断します。

詳細
パラメータ
[in] keyId
Weave キー ID。
戻り値
アプリケーションのエポックキータイプの keyId の場合は true。

IsAppGroupKey

bool IsAppGroupKey(
  uint32_t keyId
)

指定されたキー ID がいずれかのアプリケーション グループ キータイプ(静的またはローテーション)に属しているかどうかを判断します。

詳細
パラメータ
[in] keyId
Weave キー ID。
戻り値
keyId がローテーション タイプまたは静的キータイプの場合は true。

IsAppGroupMasterKey

bool IsAppGroupMasterKey(
  uint32_t keyId
)

指定された鍵 ID がアプリケーション グループのマスター鍵タイプであるかどうかを判定します。

詳細
パラメータ
[in] keyId
Weave キー ID。
戻り値
アプリケーション グループのマスターキータイプの keyId の場合は true。

IsAppRootKey

bool IsAppRootKey(
  uint32_t keyId
)

指定されたキー ID がアプリケーションのルートキー タイプかどうかを判断します。

詳細
パラメータ
[in] keyId
Weave キー ID。
戻り値
アプリケーションのルートキータイプの keyId の場合は true。

IsAppRotatingKey

bool IsAppRotatingKey(
  uint32_t keyId
)

指定された鍵 ID がアプリケーション ローテーション タイプかどうかを判断します。

詳細
パラメータ
[in] keyId
Weave キー ID。
戻り値
アプリケーションのローテーション タイプの keyId の場合は true。

IsAppStaticKey

bool IsAppStaticKey(
  uint32_t keyId
)

指定されたキー ID がアプリケーションの静的タイプであるかどうかを判定します。

詳細
パラメータ
[in] keyId
Weave キー ID。
戻り値
アプリケーションの静的型の keyId の場合は true。

IsGeneralKey

bool IsGeneralKey(
  uint32_t keyId
)

指定されたキー ID が一般的な型かどうかを判断します。

詳細
パラメータ
[in] keyId
Weave キー ID。
戻り値
keyId が一般タイプの場合は true。

IsMessageEncryptionKeyId

bool IsMessageEncryptionKeyId(
  uint32_t keyId,
  bool allowLogicalKeys
)

指定した鍵 ID が、Weave メッセージ暗号化に適した鍵を識別するかどうかを判断します。

詳細
パラメータ
[in] keyId
Weave キー ID。
[in] allowLogicalKeys
論理鍵 ID(「現在の」ローテーション鍵など)をメッセージ暗号化に適しているとみなすかどうかを指定します。
戻り値
識別された鍵を Weave メッセージの暗号化に使用できる場合は true。

IsSameKeyOrGroup

bool IsSameKeyOrGroup(
  uint32_t keyId1,
  uint32_t keyId2
)

2 つの鍵 ID が同じキーを識別するか、または鍵をローテーションする場合は特定のエポックに関係なく同じキーのグループを識別するかを指定します。

詳細
パラメータ
[in] keyId1
最初にテストする鍵 ID。
[in] keyId2
2 番目にテストする鍵 ID。
戻り値
キー ID が同じキーを表す場合は true。

IsSessionKey

bool IsSessionKey(
  uint32_t keyId
)

指定されたキー ID がセッション タイプかどうかを判断します。

詳細
パラメータ
[in] keyId
Weave キー ID。
戻り値
セッション タイプの keyId の場合は true。

IsValidKeyId

bool IsValidKeyId(
  uint32_t keyId
)

鍵 ID に有効(有効な)値があるかどうかを判断します。

詳細
パラメータ
[in] keyId
Weave キー ID。
戻り値
キー ID 値が有効な場合は true。

MakeAppGroupMasterKeyId

uint32_t MakeAppGroupMasterKeyId(
  uint8_t appGroupLocalNumber
)

アプリケーション グループのローカル番号を指定して、アプリケーション グループ マスター鍵 ID を作成します。

詳細
パラメータ
[in] appGroupLocalNumber
アプリケーション グループの市内番号。
戻り値
アプリケーション グループのマスター鍵 ID。

MakeAppIntermediateKeyId

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

構成鍵 ID を基に、アプリケーションの中間鍵 ID を作成します。

詳細
パラメータ
[in] rootKeyId
アプリケーションの中間鍵を導出するために使用されるルート鍵 ID。
[in] epochKeyId
アプリケーションの中間鍵を導出するために使用されるエポックキー ID。
[in] useCurrentEpochKey
「現在の」エポックキーを使用してキーを取得するかどうかを示すブール値のフラグ。
戻り値
アプリケーション中間鍵 ID。

MakeAppKeyId

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

構成キー ID などの情報を指定して、アプリケーション グループ キー ID を作成します。

詳細
パラメータ
[in] keyType
派生アプリケーション グループ キーのタイプ。
[in] rootKeyId
アプリケーション グループ鍵を導出するために使用されるルート鍵 ID。
[in] epochKeyId
アプリケーション グループキーを取得するために使用されるエポックキー ID。
[in] appGroupMasterKeyId
アプリケーション グループ鍵の取得に使用されるアプリケーション グループ マスター鍵 ID。
[in] useCurrentEpochKey
「現在の」エポックキーを使用してキーを取得するかどうかを示すブール値のフラグ。
戻り値
アプリケーション グループ キー ID。

MakeAppRotatingKeyId

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

構成鍵 ID やその他の情報を指定して、アプリケーション ローテーション鍵 ID を作成します。

詳細
パラメータ
[in] rootKeyId
アプリケーションのローテーション鍵を導出するために使用されるルート鍵 ID。
[in] epochKeyId
アプリケーション ローテーション鍵を導出するために使用されるエポックキー ID。
[in] appGroupMasterKeyId
アプリケーション ローテーション鍵を抽出するために使用されるアプリケーション グループ マスター鍵 ID。
[in] useCurrentEpochKey
「現在の」エポックキーを使用してキーを取得するかどうかを示すブール値のフラグ。
戻り値
ID が必要になります。

MakeAppStaticKeyId

uint32_t MakeAppStaticKeyId(
  uint32_t rootKeyId,
  uint32_t appGroupMasterKeyId
)

構成キー ID を指定して、アプリケーションの静的キー ID を作成します。

詳細
パラメータ
[in] rootKeyId
アプリケーションの静的キーを取得するために使用されるルートキー ID。
[in] appGroupMasterKeyId
アプリの静的キーを取得するために使用されるアプリケーション グループ マスターキー ID。
戻り値
静的キー ID。

MakeEpochKeyId

uint32_t MakeEpochKeyId(
  uint8_t epochKeyNumber
)

エポックキー番号を指定してアプリケーション グループ ルートキー ID を作成します。

詳細
パラメータ
[in] epochKeyNumber
エポックキー番号。
戻り値
エポックキー ID を指定します。

MakeGeneralKeyId

uint16_t MakeGeneralKeyId(
  uint16_t generalKeyNumber
)

一般的な鍵番号を指定して、一般的な鍵 ID を作成します。

詳細
パラメータ
[in] generalKeyNumber
一般的なキー番号。
戻り値
一般的なキー ID です。

MakeRootKeyId

uint32_t MakeRootKeyId(
  uint8_t rootKeyNumber
)

ルートキー番号を指定して、アプリケーション グループのルートキー ID を作成します。

詳細
パラメータ
[in] rootKeyNumber
ルート鍵番号。
戻り値
ルート鍵 ID。

MakeSessionKeyId

uint16_t MakeSessionKeyId(
  uint16_t sessionKeyNumber
)

セッションキー番号を指定してセッションキー ID を作成します。

詳細
パラメータ
[in] sessionKeyNumber
セッションキー番号。
戻り値
セッションキー ID です。

UpdateEpochKeyId

uint32_t UpdateEpochKeyId(
  uint32_t keyId,
  uint32_t epochKeyId
)

アプリケーション グループ キー ID を新しいエポックキー番号で更新します。

詳細
パラメータ
[in] keyId
アプリケーション キー ID。
[in] epochKeyId
エポックキー ID。更新されたアプリケーション キー ID の構成で使用されます。
戻り値
アプリケーション キー ID。

UsesCurrentEpochKey

bool UsesCurrentEpochKey(
  uint32_t keyId
)

指定されたアプリケーション グループ キー ID が「現在の」エポックキーを使用しているかどうかを確認します。

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キーの識別子。
戻り値
keyId が現在のエポックキーの使用を示している場合は true。