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() 為止。導入作業一定會保證,每次成功呼叫 BeginCertValidation() 時,只會呼叫 EndCertValidation() 一次。

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

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

節點收到未簽署的金鑰匯出訊息時呼叫。此方法應根據通訊內容 (例如透過傳送電子郵件的安全性工作階段屬性) 驗證未簽署金鑰匯出訊息的安全性。

如為回應節點,該方法必須驗證發起者是否能匯出所要求的金鑰。

若是啟動中的節點,此方法需要驗證訊息是否正常來自傳送金鑰匯出要求的對等互連。