nl:: Weave:: Profiles:: 安全性:: 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
驗證未簽署金鑰匯出訊息的安全性。
|
公開函式
開始驗證
virtual WEAVE_ERROR BeginCertValidation( WeaveKeyExport *keyExport, ValidationContext & validCtx, WeaveCertificateSet & certSet )=0
準備驗證對等互連憑證。
憑證驗證開始時呼叫。此方法會負責準備提供的憑證集和驗證內容,以驗證對等互連節點的憑證。實作時,必須將提供之 WeaveCertificateSet 物件初始化,並有足夠的資源來處理後續的憑證驗證作業。此外,實作程序也必須將所有必要的信任根憑證或 CA 憑證載入憑證集。
提供的驗證內容將會使用一組預設的驗證標準來初始化,而實作可能會視需要加以變更。實作作業必須設定 EffectiveTime 欄位,或者設定適當的驗證標記,以略過憑證生命週期驗證。
您必須實作實作程序,以維護在 StartCertValidation() 期間分配的任何資源,直到呼叫相應的 EndCertValidation() 為止。實作這些方法可確保系統對每個成功呼叫 StartCertValidation() 的呼叫,都會只呼叫一次 EndCertValidation()。
EndCertValidation
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
GetNodeCertSet
virtual WEAVE_ERROR GetNodeCertSet( WeaveKeyExport *keyExport, WeaveCertificateSet & certSet )=0
取得本機節點的金鑰匯出憑證集。
金鑰匯出引擎準備簽署金鑰匯出訊息時,就會呼叫這個函式。這個方法會負責初始化憑證集,並載入所有在郵件簽名中包含或參照的憑證。上次載入的憑證必須是簽署憑證。
處理憑證驗證結果
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() 傳回的憑證集完成金鑰匯出引擎時,就會呼叫此事件。
驗證未簽署金鑰匯出訊息
virtual WEAVE_ERROR ValidateUnsignedKeyExportMessage( WeaveKeyExport *keyExport, uint32_t requestedKeyId )=0
驗證未簽署金鑰匯出訊息的安全性。
在節點收到未簽署的金鑰匯出訊息時呼叫。這個方法應根據通訊內容,驗證未簽署金鑰匯出訊息的安全性,例如透過傳送訊息的安全性工作階段屬性。
針對回應節點,該方法預期可驗證發起者,以匯出匯出的金鑰。
對於啟動的節點,該方法預期必須驗證來自匯出金鑰匯出要求的對等點的合法郵件。