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

ファブリック ルート鍵のダイバーシファイアのサイズ。

kWeaveAppGroupKeySize

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

kWeaveAppGroupMasterKeySize

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

kWeaveAppIntermediateKeyDiversifierSize

中間キー ダイバーシファイア サイズ。

kWeaveAppIntermediateKeySize

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

kWeaveAppRootKeySize

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

kWeaveFabricSecretSize

Weave ファブリックの Secret サイズ。

WeaveAppGroupGlobalId

 WeaveAppGroupGlobalId

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

プロパティ
kWeaveAppGroupGlobalId_NestHVAC

Google Nest HVAC グループ。

kWeaveAppGroupGlobalId_NestPhysicalAccess

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

注: これらの値を自分で割り当てようとしないでください。これらの値は Nest Labs によって管理されています。「Nest Weave: Nest アプリケーション グループ グローバル 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 HASH の最初の 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
)