NLWeaveKeyExportClient

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

金鑰匯出功能的 C++ 實作包裝函式,支援 PIN 碼加密。

摘要

繼承

沿用來源: NSObject

公用函式

allowNestDevelopmentDevices()
virtual BOOL
如果允許來自 Nest 開發裝置的重要匯出回應,則為「是」。
allowSHA1DeviceCertificates()
virtual BOOL
如果允許從具備 SHA1 憑證的裝置匯出金鑰的回應,則為「是」。
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
允許或禁止 Nest 開發裝置的金鑰匯出回應。
setAllowSHA1DeviceCertificates:(BOOL nestDev)
virtual void
允許或禁止從具備 SHA1 憑證的裝置匯出金鑰回應。

公用函式

allowNestDevelopmentDevices

virtual BOOL allowNestDevelopmentDevices()

如果允許來自 Nest 開發裝置的重要匯出回應,則為「是」。

allowSHA1DeviceCertificates

virtual BOOL allowSHA1DeviceCertificates()

如果允許從具備 SHA1 憑證的裝置匯出金鑰的回應,則為「是」。

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 並非空值。
傳回
包含所產生金鑰匯出要求的二進位緩衝區。如果發生錯誤,請設為 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 並非空值。
傳回
包含所產生金鑰匯出要求的二進位緩衝區。如果發生錯誤,請設為 nil。

init

virtual instancetype init()

初始化 NLWeaveKeyExportClient 物件。

建立執行個體並初始化內部 C++ 物件,以便執行金鑰匯出功能。

processKeyExportReconfigure:error:

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

處理先前產生的金鑰匯出要求而收到的重新設定訊息。

詳細說明
參數
[in] reconfig
包含 Weave 金鑰匯出項目重新設定訊息的緩衝區,裝置會傳回訊息。
[out] errOut
輸出錯誤參數 (在事件中設定) 發生錯誤,errOut 並非空值。
傳回
成功時為 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 並非空值。
傳回
包含匯出金鑰的二進位緩衝區。如果發生錯誤,請設為 nil。

重設

virtual void reset()

重設金鑰匯出用戶端物件,捨棄與待處理的金鑰匯出要求相關聯的任何狀態。

setAllowNestDevelopment 裝置:

virtual void setAllowNestDevelopmentDevices:(
  BOOL nestDev
)

允許或禁止 Nest 開發裝置的金鑰匯出回應。

setAllowSHA1DeviceCertificates:

virtual void setAllowSHA1DeviceCertificates:(
  BOOL nestDev
)

允許或禁止從具備 SHA1 憑證的裝置匯出金鑰回應。