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 שסופק כמבנה 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

אימות האבטחה של הודעת ייצוא מפתח ללא חתימה.

הפונקציה נקראת כשהצומת מקבל הודעה של ייצוא מפתח שלא חתומה. השיטה אמורה לאמת את האבטחה של הודעת ייצוא מפתח ללא חתימה על סמך ההקשר של התקשורת שלה, למשל באמצעות המאפיינים של סשן האבטחה ששימש לשליחת ההודעה.

בצומת שמגיב, השיטה אמורה לאמת את הרשאת הגורם המבצע ליצוא המפתח המבוקש.

עבור צומת שמתחיל את התהליך, השיטה צפויה לאמת שההודעה הגיעה באופן חוקי מהעמית שאליו נשלחה בקשת ייצוא המפתח.