nl::Weave::Profiles::Security::AppKeys

この名前空間には、Weave セキュリティ プロファイル内の Weave アプリケーション キー ライブラリ用の Weave 内のすべてのインターフェースが含まれます。

概要

列挙型

@220{
  kWeaveAppGroupKeySize = 32,
  kWeaveAppRootKeySize = kWeaveAppGroupKeySize,
  kWeaveAppEpochKeySize = kWeaveAppGroupKeySize,
  kWeaveAppGroupMasterKeySize = kWeaveAppGroupKeySize,
  kWeaveAppIntermediateKeySize = kWeaveAppGroupKeySize,
  kWeaveFabricSecretSize = 36,
  kWeaveAppFabricRootKeyDiversifierSize = sizeof(kWeaveAppFabricRootKeyDiversifier),
  kWeaveAppClientRootKeyDiversifierSize = sizeof(kWeaveAppClientRootKeyDiversifier),
  kWeaveAppIntermediateKeyDiversifierSize = sizeof(kWeaveAppIntermediateKeyDiversifier)
}
enum
Weave のアプリケーション キー プロトコル パラメータの定義。
WeaveAppGroupGlobalId{
  kWeaveAppGroupGlobalId_Unspecified = 0,
  kWeaveAppGroupGlobalId_NestPhysicalAccess = (kWeaveVendor_NestLabs << 16) | 0x0001,
  kWeaveAppGroupGlobalId_NestStructureSecurity = (kWeaveVendor_NestLabs << 16) | 0x0002,
  kWeaveAppGroupGlobalId_NestHVAC = (kWeaveVendor_NestLabs << 16) | 0x0003,
  kWeaveAppGroupGlobalId_NestSecurityControl = (kWeaveVendor_NestLabs << 16) | 0x0004
}
enum
Weave アプリケーション グループ グローバル ID(AGGID)。

変数

kWeaveAppClientRootKeyDiversifier = { 0x53, 0xE3, 0xFF, 0xE5 }[]
const uint8_t
Weave クライアント ルートキーの導出に使用されるキー多様化器。
kWeaveAppFabricRootKeyDiversifier = { 0x21, 0xFA, 0x8F, 0x6A }[]
const uint8_t
Weave ファブリック ルート鍵の導出に使用される鍵多様化器。
kWeaveAppIntermediateKeyDiversifier = { 0xBC, 0xAA, 0x95, 0xAD }[]
const uint8_t
Weave 中間鍵導出に使用される鍵多様化器。

関数

GetAppGroupMasterKeyId(uint32_t groupGlobalId, GroupKeyStoreBase *groupKeyStore, uint32_t & groupMasterKeyId)
アプリケーション グループのグローバル ID を指定して、アプリケーション グループのマスター鍵 ID を取得します。
LogGroupKeys(GroupKeyStoreBase *groupKeyStore)

クラス

nl::Weave::Profiles::Security::AppKeys::DummyGroupKeyStore
nl::Weave::Profiles::Security::AppKeys::GroupKeyStoreBase

Weave グループ キーストア クラスの定義。

nl::Weave::Profiles::Security::AppKeys::WeaveGroupKey

Weave アプリケーション グループ キーに関する情報が含まれています。

列挙型

@220

 @220

Weave のアプリケーション キー プロトコル パラメータの定義。

プロパティ
kWeaveAppClientRootKeyDiversifierSize

クライアント ルートキーの多様化子のサイズ。

kWeaveAppEpochKeySize

Weave アプリケーションのエポックキーのサイズ。

kWeaveAppFabricRootKeyDiversifierSize

Fabric ルートキーの多様化子のサイズ。

kWeaveAppGroupKeySize

Weave 構成グループの鍵のサイズ。

kWeaveAppGroupMasterKeySize

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

kWeaveAppIntermediateKeyDiversifierSize

中間キー多様化子のサイズ。

kWeaveAppIntermediateKeySize

Weave アプリケーションの中間鍵のサイズ。

kWeaveAppRootKeySize

Weave アプリケーションのルートキーのサイズ。

kWeaveFabricSecretSize

Weave ファブリックのシークレット サイズ。

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

Weave アプリケーション グループ グローバル ID(AGGID)。

プロパティ
kWeaveAppGroupGlobalId_NestHVAC

Google Nest HVAC グループ。

kWeaveAppGroupGlobalId_NestPhysicalAccess

Nest Labs アプリケーション グループのグローバル ID。

注: これらの値を自分で割り当てようとしないでください。これらの値は Nest Labs によって管理されています。「Nest Weave: Nest Application Group」を使用して正式なリクエストを行ってください。 グローバル ID レジストリ」https://docs.google.com/document/d/1xHLAcTvLZg2YGoJfbUb2nbPIvaCNuoygmdiNwC-PJHI.Nest 物理アクセス グループ。

kWeaveAppGroupGlobalId_NestSecurityControl

Google Nest セキュリティ コントロール グループ。

kWeaveAppGroupGlobalId_NestStructureSecurity

Google Nest ストラクチャのセキュリティ グループ。

kWeaveAppGroupGlobalId_Unspecified

アプリケーション グループのグローバル ID が指定されていません。

変数

kWeaveAppClientRootKeyDiversifier

const uint8_t kWeaveAppClientRootKeyDiversifier[] = { 0x53, 0xE3, 0xFF, 0xE5 }

Weave クライアント ルートキーの導出に使用されるキー多様化器。

この値は、「Client Root Key」の SHA-1 HASH の最初の 4 バイトを表します。ありません。

kWeaveAppFabricRootKeyDiversifier

const uint8_t kWeaveAppFabricRootKeyDiversifier[] = { 0x21, 0xFA, 0x8F, 0x6A }

Weave ファブリック ルート鍵の導出に使用される鍵多様化器。

この値は、「Fabric Root Key」の SHA-1 ハッシュの最初の 4 バイトを表します。ありません。

kWeaveAppIntermediateKeyDiversifier

const uint8_t kWeaveAppIntermediateKeyDiversifier[] = { 0xBC, 0xAA, 0x95, 0xAD }

Weave 中間鍵導出に使用される鍵多様化器。

この値は、「Intermediate Key」の SHA-1 HASH の最初の 4 バイトを表しますありません。

関数

GetAppGroupMasterKeyId

WEAVE_ERROR GetAppGroupMasterKeyId(
  uint32_t groupGlobalId,
  GroupKeyStoreBase *groupKeyStore,
  uint32_t & groupMasterKeyId
)

アプリケーション グループのグローバル ID を指定して、アプリケーション グループのマスター鍵 ID を取得します。

詳細
パラメータ
[in] groupGlobalId
アプリケーション グループのグローバル ID。
[in] groupKeyStore
グループ キーストア オブジェクトへのポインタ。
[out] groupMasterKeyId
アプリケーション グループのマスター鍵 ID。
戻り値
WEAVE_NO_ERROR
成功時。
WEAVE_ERROR_INVALID_ARGUMENT
グループ キーストアへのポインタが指定されていない場合。
WEAVE_ERROR_UNSUPPORTED_WEAVE_FEATURE
FabricState オブジェクトが、完全に機能するグループ キーストアで初期化されていない場合。
WEAVE_ERROR_KEY_NOT_FOUND
指定されたグローバル ID を持つグループ鍵がプラットフォームのキーストアで見つからない場合。
other
プラットフォーム キーストア API から返されるその他のプラットフォーム固有のエラー。

LogGroupKeys

WEAVE_ERROR LogGroupKeys(
  GroupKeyStoreBase *groupKeyStore
)