nl::Weave::โปรไฟล์::ความปลอดภัย::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 หรือตั้งค่าสถานะแฟล็กตรวจสอบที่เหมาะสมเพื่อระงับการตรวจสอบอายุการใช้งานของใบรับรอง

การติดตั้งใช้งานจะต้องรักษาทรัพยากรที่จัดสรรในระหว่าง BeginCertvalidation() จนกว่าจะมีการเรียกใช้ EndCertvalidation() ที่เกี่ยวข้อง การติดตั้งจะรับประกันว่าจะมีการเรียก EndCertvalidation() เพียงครั้งเดียวสําหรับการเรียก StartCertvalidation() ที่สําเร็จแต่ละครั้ง

สิ้นสุดการตรวจสอบสิทธิ์

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

ปล่อยทรัพยากรที่เชื่อมโยงกับการตรวจสอบใบรับรองโดยเพียร์

เรียกใช้เมื่อการตรวจสอบใบรับรองโดยเพื่อนและส่งคําขอเสร็จสิ้น

ลายเซ็น GenerateNode

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

สร้างลายเซ็นสําหรับข้อความส่งออกคีย์

วิธีการนี้มีหน้าที่รับผิดชอบการประมวลผลลายเซ็นของค่าแฮชที่ระบุโดยใช้คีย์ส่วนตัวของโหนดภายในเครื่อง และเขียนลายเซ็นไปยังผู้เขียน TLV ที่ระบุเป็นโครงสร้างของ WeaveSignature TLV

รับชุดใบรับรอง

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

รับชุดใบรับรองการส่งออกคีย์สําหรับโหนดในเครื่อง

เรียกใช้เมื่อเครื่องมือส่งออกคีย์เตรียมลงชื่อในข้อความการส่งออกคีย์ วิธีนี้จะทําหน้าที่เริ่มต้นชุดใบรับรองและโหลดใบรับรองทั้งหมดที่จะรวมไว้หรืออ้างอิงในลายเซ็นของข้อความ ใบรับรองล่าสุดที่โหลดจะต้องเป็นใบรับรองที่ลงชื่อ

HandleCertCertationResult

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

ประมวลผลผลการตรวจสอบใบรับรองของแอปเทียบเท่า

เรียกใช้เมื่อตรวจสอบใบรับรองโหนดเพียร์&#39เสร็จสมบูรณ์ ระบบจะเรียกเมธอดนี้ก็ต่อเมื่อการตรวจสอบใบรับรองเสร็จสมบูรณ์แล้วเท่านั้น การใช้งานอาจใช้การเรียกนี้เพื่อตรวจสอบผลลัพธ์ของการตรวจสอบและอาจลบล้างผลลัพธ์ที่มีข้อผิดพลาด

สําหรับโหนดที่ตอบกลับ เมธอดควรจะยืนยันสิทธิ์ของผู้ขอในการส่งออกคีย์ที่ขอ

สําหรับโหนดที่เริ่มต้น เมธอดควรตรวจสอบให้แน่ใจว่าใบรับรองที่ตรวจสอบความถูกต้องแล้วระบุตําแหน่งการเพียร์ที่ส่งคําขอส่งออกคีย์ได้อย่างถูกต้อง

ไม่กําหนดใบรับรอง

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

ปล่อยชุดใบรับรองของโหนด

เรียกใช้เมื่อเครื่องมือการส่งออกคีย์เสร็จสิ้นด้วยชุดใบรับรองที่ GetNodeCertSet() แสดงผล

ตรวจสอบ SignedUnExportMessage

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

ยืนยันความปลอดภัยของข้อความการส่งออกคีย์ที่ไม่มีการรับรอง

เรียกใช้เมื่อโหนดได้รับข้อความส่งออกคีย์ที่ไม่ได้ลงชื่อ ##99 วิธีนี้ควรมีการยืนยันความปลอดภัยของข้อความการส่งออกคีย์ที่ไม่มีการรับรองในบริบทของการสื่อสาร เช่น ผ่านแอตทริบิวต์ของเซสชันการรักษาความปลอดภัยที่ใช้ในการส่งข้อความ

สําหรับโหนดที่ตอบกลับ เมธอดควรยืนยันผู้ออกใบรับรองของผู้เริ่มการส่งออกคีย์ที่ขอ

สําหรับโหนดที่เริ่มต้นใช้งาน เมธอดควรยืนยันว่าข้อความนั้นมีต้นทางมาจากแอปเทียบเท่าที่มีการส่งคําขอการส่งออกคีย์