nl::Weave::Profiles::Security::KeyExport::WeaveKeyExportDelegate

這是抽象類別。

#include <src/lib/profiles/security/WeaveKeyExport.h>

在金鑰匯出期間,KeyExport 引擎呼叫的抽象委派類別,可執行與驗證相關的各種動作。

摘要

繼承

直接已知的子類別: nl::Weave::Profiles::Security::KeyExport::WeaveStandAloneKeyExportClient

公開函式

BeginCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
準備驗證對等點憑證。
EndCertValidation(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
釋出與對等互連憑證驗證相關聯的資源。
GenerateNodeSignature(WeaveKeyExport *keyExport, const uint8_t *msgHash, uint8_t msgHashLen, TLVWriter & writer)=0
virtual WEAVE_ERROR
為金鑰匯出訊息產生簽名。
GetNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
取得為本機節點設定的金鑰匯出憑證。
HandleCertValidationResult(WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
處理對等互連憑證的驗證結果。
ReleaseNodeCertSet(WeaveKeyExport *keyExport, WeaveCertificateSet & certSet)=0
virtual WEAVE_ERROR
釋出節點的憑證集。
ValidateUnsignedKeyExportMessage(WeaveKeyExport *keyExport, uint32_t requestedKeyId)=0
virtual WEAVE_ERROR
驗證未簽署金鑰匯出訊息的安全性。

公開函式

BeginCertValidation

virtual WEAVE_ERROR BeginCertValidation(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet
)=0

準備驗證對等端的憑證。

在憑證驗證程序開始時呼叫。這個方法負責準備提供的憑證集和驗證內容,以用於驗證對等節點的憑證。實作項目必須利用足夠的資源來初始化提供的 WeaveCertificateSet 物件,以處理即將進行的憑證驗證。實作項目也必須將任何必要的受信任根憑證或 CA 憑證載入憑證組合。

您所提供的驗證內容將以一組預設的驗證標準初始化,實作項目可能會視需要更改。實作時必須設定 EffectiveTime 欄位,或設定適當的驗證旗標,隱藏憑證生命週期驗證。

實作內容必須在 BeginCertValidation() 期間保留所有已分配的資源,直到呼叫對應的 EndCertValidation() 為止。實作可確保 EndCertValidation() 對每次成功呼叫 BeginCertValidation() 只會呼叫一次。

EndCertValidation

virtual WEAVE_ERROR EndCertValidation(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet
)=0

釋出與對等互連憑證驗證相關聯的資源。

對等互連憑證驗證和要求驗證完成時呼叫。

GenerateNodeSignature

virtual WEAVE_ERROR GenerateNodeSignature(
  WeaveKeyExport *keyExport,
  const uint8_t *msgHash,
  uint8_t msgHashLen,
  TLVWriter & writer
)=0

為金鑰匯出訊息產生簽名。

這個方法負責使用本機節點的私密金鑰,計算指定散列值的簽章,並將簽章寫入提供的 TLV 寫入器,做為 WeaveSignature TLV 結構。

GetNodeCertSet

virtual WEAVE_ERROR GetNodeCertSet(
  WeaveKeyExport *keyExport,
  WeaveCertificateSet & certSet
)=0

取得本機節點的金鑰匯出憑證組合。

當金鑰匯出引擎準備簽署金鑰匯出訊息時呼叫。這個方法負責初始化憑證集,並載入訊息簽名中將包含或參照的所有憑證。最後載入的憑證必須是簽署憑證。

HandleCertValidationResult

virtual WEAVE_ERROR HandleCertValidationResult(
  WeaveKeyExport *keyExport,
  ValidationContext & validCtx,
  WeaveCertificateSet & certSet,
  uint32_t requestedKeyId
)=0

處理對等互連憑證的驗證結果。

在對等節點的憑證驗證完成後呼叫。憑證驗證成功後,才會呼叫這個方法。實作可能會使用這個呼叫來檢查驗證結果,並可能覆寫結果,以便顯示錯誤。

針對回應節點,方法應驗證要求者是否有權匯出要求的金鑰。

針對啟動節點,此方法應驗證經過驗證的憑證是否能正確識別金鑰匯出要求的傳送目標對等點。

ReleaseNodeCertSet

virtual WEAVE_ERROR ReleaseNodeCertSet(
  WeaveKeyExport *keyExport,
  WeaveCertificateSet & certSet
)=0

釋出節點的憑證集。

當金鑰匯出引擎使用 GetNodeCertSet() 傳回的憑證集合完成時,系統會呼叫此方法。

ValidateUnsignedKeyExportMessage

virtual WEAVE_ERROR ValidateUnsignedKeyExportMessage(
  WeaveKeyExport *keyExport,
  uint32_t requestedKeyId
)=0

驗證未簽署金鑰匯出訊息的安全性。

當節點收到未簽署的金鑰匯出訊息時,系統會呼叫此方法。此方法應根據其通訊內容,驗證未簽署金鑰匯出訊息的安全性,例如:執行要用於傳送郵件的安全性工作階段屬性

針對回應節點,方法應驗證發起端是否有權匯出要求的金鑰。

對於發起節點,此方法應驗證訊息是否確實來自已傳送金鑰匯出要求的對等端。