Google は、黒人コミュニティのための人種的公平の促進に取り組んでいます。詳細をご覧ください。

nl::Weave::WeaveKeyId

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

Weave Key 識別子の定義。

まとめ

このクラスには、キータイプ、キーフラグ、キー 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
}
列挙型
公開 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
キー識別子に有効な(有効な)値があるかどうかを判断します。
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 が「current」のエポックキーを使用しているかどうかを確認します。

パブリック タイプ

52

 @52

公開 Weave の鍵 ID フィールド、フラグ、タイプ。

Properties
kClientRootKey

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

kFabricRootKey

Fabric ルートキー ID。

kFabricSecret

織り物のシークレット ID。

kKeyNumber_Max

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

kNone

グローバル鍵 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。

ExplainKey

const char * DescribeKey(
  uint32_t keyId
)

わかりやすい文字列で Weave キー ID をデコードします。

詳細
パラメータ
[in] keyId
デコードする文字列と、わかりやすい文字列を返す Weave キー ID。
戻り値
指定されたキー ID を記述する NULL 文字列。

GetAppGroupLocalNumber の使用

uint8_t GetAppGroupLocalNumber(
  uint32_t keyId
)

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

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キー ID。
戻り値
アプリケーション グループのローカル番号。

GetAppGroupMasterKeyId

uint32_t GetAppGroupMasterKeyId(
  uint32_t keyId
)

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

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

GetEpochKeyId

uint32_t GetEpochKeyId(
  uint32_t keyId
)

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

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キー ID。
戻り値
エポックキー ID。

GetEpochKeyNumber

uint8_t GetEpochKeyNumber(
  uint32_t keyId
)

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

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

GetRootKeyId

uint32_t GetRootKeyId(
  uint32_t keyId
)

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

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

GetRootKeyNumber

uint8_t GetRootKeyNumber(
  uint32_t keyId
)

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

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

GetType

uint32_t GetType(
  uint32_t keyId
)

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

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

IncorpsAppGroupMasterKey

bool IncorporatesAppGroupMasterKey(
  uint32_t keyId
)

指定したアプリケーション グループ キー ID にグループ マスター キーが含まれているかどうかを判別します。

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キー ID。
戻り値
keyId がグループ マスター鍵を組み込んでいる場合、true になります。

IncorporesEpochKey

bool IncorporatesEpochKey(
  uint32_t keyId
)

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

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

InrootsRootKey

bool IncorporatesRootKey(
  uint32_t keyId
)

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

詳細
パラメータ
[in] keyId
Weave アプリケーション グループ キー ID。
戻り値
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。

KeyAppRotatingKey

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 が General タイプの場合は 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
)

キー識別子に有効な(有効な)値があるかどうかを判断します。

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

makeAppGroupMasterKeyId

uint32_t MakeAppGroupMasterKeyId(
  uint8_t appGroupLocalNumber
)

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

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

MakeAppIntermediateKeyId(AppIntermediateKeyId)

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(セッション セッション ID)

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 が「current」のエポックキーを使用しているかどうかを確認します。

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