NLWeaveKeyExportClient

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

PIN の暗号化をサポートする鍵のエクスポート機能の 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 TLV 形式の Weave アクセス トークンを含むバッファ。
[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 証明書を使用しているデバイスからの鍵エクスポートのレスポンスを許可または禁止します。