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 หรือตั้งค่า Flag การตรวจสอบที่เหมาะสมเพื่อระงับการตรวจสอบอายุของใบรับรอง

การติดตั้งใช้งานจําเป็นต้องคงทรัพยากรที่จัดสรรไว้ระหว่าง 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 ที่ระบุเป็นโครงสร้าง TLV ของ WeaveSignature

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

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

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

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

สำหรับโหนดเริ่มต้น ควรมีการยืนยันข้อความว่ามาจากเพียร์ที่ส่งคำขอส่งออกคีย์อย่างถูกต้องตามกฎหมาย