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 並非空值。
傳回
成功時為正確,失敗時則設為 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()

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

setAllowNestDevelopmentDevices:

virtual void setAllowNestDevelopmentDevices:(
  BOOL nestDev
)

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

setAllowSHA1DeviceCertificates:

virtual void setAllowSHA1DeviceCertificates:(
  BOOL nestDev
)

允許或禁止使用 SHA1 憑證的裝置匯出金鑰回應。