NLWeaveKeyExportClient

#include <src/device-manager/cocoa/NLWeaveKeyExportClient.h>

ピンの暗号化をサポートする鍵エクスポート機能の C++ 実装のラッパー。

概要

継承

継承元: NSObject

パブリック関数

allowNestDevelopmentDevices()
virtual BOOL
Google Nest 開発デバイスからの鍵エクスポート レスポンスを許可する場合は true。
allowSHA1DeviceCertificates()
virtual BOOL
SHA1 証明書を持つデバイスからの鍵エクスポート応答を許可する場合は true。
generateKeyExportRequest:responderNodeId:accessToken:error:(UInt32 keyId, UInt64 responderNodeId, NSData *accessToken, NSError **errOut)
virtual nullable NSData *
アクセス トークンを指定して鍵のエクスポート リクエストを生成します。
generateKeyExportRequest:responderNodeId:clientCert:clientKey:error:(UInt32 keyId, UInt64 responderNodeId, NSData *clientCert, NSData *clientKey, NSError **errOut)
virtual nullable NSData *
指定されたクライアント証明書と秘密鍵が指定された鍵のエクスポート リクエストを生成します。
init()
virtual instancetype
NLWeaveKeyExportClient オブジェクトを初期化します。
processKeyExportReconfigure:error:(NSData *reconfig, NSError **errOut)
virtual BOOL
以前に生成した鍵のエクスポート リクエストに応じて受信した再構成メッセージを処理します。
processKeyExportResponse:exportResp:error:(UInt64 responderNodeId, NSData *exportResp, NSError **errOut)
virtual nullable NSData *
以前に生成した鍵のエクスポート リクエストに対するレスポンスを処理します。
reset()
virtual void
保留中の鍵エクスポート リクエストに関連付けられた状態をすべて破棄して、鍵エクスポート クライアント オブジェクトをリセットします。
setAllowNestDevelopmentDevices:(BOOL nestDev)
virtual void
Google Nest 開発デバイスからの鍵のエクスポート レスポンスを許可または禁止する。
setAllowSHA1DeviceCertificates:(BOOL nestDev)
virtual void
SHA1 証明書を持つデバイスからの鍵のエクスポート レスポンスを許可または禁止します。

パブリック関数

allowNestDevelopmentDevices

virtual BOOL allowNestDevelopmentDevices()

Google Nest 開発デバイスからの鍵エクスポート レスポンスを許可する場合は true。

allowSHA1DeviceCertificates

virtual BOOL allowSHA1DeviceCertificates()

SHA1 証明書を持つデバイスからの鍵エクスポート応答を許可する場合は true。

generateKeyExportRequest:responderNodeId:accessToken:error:

virtual nullable NSData * generateKeyExportRequest:responderNodeId:accessToken:error:(
  UInt32 keyId,
  UInt64 responderNodeId,
  NSData *accessToken,
  NSError **errOut
)

アクセス トークンを指定して鍵のエクスポート リクエストを生成します。

詳細
パラメータ
[in] keyId
エクスポートする鍵の Weave 鍵 ID。
[in] responderNodeId
リクエストが転送されるデバイスの Weave ノード ID。特定のデバイス ID が不明な場合は 0。
[in] accessToken
Weave アクセス トークン(Weave TLV 形式)を格納するバッファ。
[out] errOut
エラー発生時に errOut が null でない場合に設定される出力エラー パラメータ。
戻り値
生成された鍵のエクスポート リクエストを含むバイナリ バッファ。エラーが発生した場合は nil に設定します。

generateKeyExportRequest:responderNodeId:clientCert:clientKey:error:

virtual nullable NSData * generateKeyExportRequest:responderNodeId:clientCert:clientKey:error:(
  UInt32 keyId,
  UInt64 responderNodeId,
  NSData *clientCert,
  NSData *clientKey,
  NSError **errOut
)

指定されたクライアント証明書と秘密鍵が指定された鍵のエクスポート リクエストを生成します。

詳細
パラメータ
[in] keyId
エクスポートする鍵の Weave 鍵 ID。
[in] responderNodeId
リクエストが転送されるデバイスの Weave ノード ID。特定のデバイス ID が不明な場合は 0。
[in] clientCert
リクエストを行っているクライアントを識別する Weave 証明書を含むバッファ。証明書は Weave TLV 形式でエンコードする必要があります。
[in] clientKey
クライアント証明書に関連付けられた秘密鍵を格納するバッファ。秘密鍵は Weave TLV 形式でエンコードする必要があります。
[out] errOut
エラー発生時に errOut が null でない場合に設定される出力エラー パラメータ。
戻り値
生成された鍵のエクスポート リクエストを含むバイナリ バッファ。エラーが発生した場合は nil に設定します。

init

virtual instancetype init()

NLWeaveKeyExportClient オブジェクトを初期化します。

鍵のエクスポート機能を実行するために、インスタンスを作成し、内部 C++ オブジェクトのインスタンスを初期化します。

processKeyExportReconfigure:error:

virtual BOOL processKeyExportReconfigure:error:(
  NSData *reconfig,
  NSError **errOut
)

以前に生成した鍵のエクスポート リクエストに応じて受信した再構成メッセージを処理します。

詳細
パラメータ
[in] reconfig
デバイスから返される、Weave キーのエクスポート再構成メッセージを含むバッファ。
[out] errOut
エラー発生時に errOut が null でない場合に設定される出力エラー パラメータ。
戻り値
成功した場合は true、失敗した場合は false。

processKeyExportResponse:exportResp:error:

virtual nullable NSData * processKeyExportResponse:exportResp:error:(
  UInt64 responderNodeId,
  NSData *exportResp,
  NSError **errOut
)

以前に生成した鍵のエクスポート リクエストに対するレスポンスを処理します。

詳細
パラメータ
[in] responderNodeId
リクエストが転送されたデバイスの Weave ノード ID。特定のデバイス ID が不明な場合は 0。
[in] exportResp
デバイスから返される、Weave 鍵のエクスポート レスポンスを含むバッファ。
[out] errOut
エラー発生時に errOut が null でない場合に設定される出力エラー パラメータ。
戻り値
エクスポートされた鍵を含むバイナリ バッファ。エラーが発生した場合は nil に設定します。

リセット

virtual void reset()

保留中の鍵エクスポート リクエストに関連付けられた状態をすべて破棄して、鍵エクスポート クライアント オブジェクトをリセットします。

setAllowNestDevelopmentDevices:

virtual void setAllowNestDevelopmentDevices:(
  BOOL nestDev
)

Google Nest 開発デバイスからの鍵のエクスポート レスポンスを許可または禁止する。

setAllowSHA1DeviceCertificates:

virtual void setAllowSHA1DeviceCertificates:(
  BOOL nestDev
)

SHA1 証明書を持つデバイスからの鍵のエクスポート レスポンスを許可または禁止します。