nl:: Weave:: Profiles:: Security:: CertProvisioning:: WeaveNodeMfrAttestDelegate
זהו שיעור מופשט.
#include <src/lib/profiles/security/WeaveCertProvisioning.h>
ממשק מופשט שאליו מוקצות פעולות ספציפיות לפלטפורמה במהלך אימות (attestation) יצרן של צומת Weave.
סיכום
פונקציות ציבוריות |
|
---|---|
EncodeMAInfo(TLVWriter & writer)=0
|
virtual WEAVE_ERROR
קידוד פרטי האימות (attestation) של היצרן ל-Weave עבור הצומת המקומי.
|
GenerateAndEncodeMASig(const uint8_t *data, uint16_t dataLen, TLVWriter & writer)=0
|
virtual WEAVE_ERROR
יצירה וקידוד של חתימת אימות (attestation) של היצרן באמצעות המפתח הפרטי לאימות (attestation) של הצומת המקומי של היצרן.
|
פונקציות ציבוריות
EncodeMAInfo
virtual WEAVE_ERROR EncodeMAInfo( TLVWriter & writer )=0
קידוד פרטי האימות (attestation) של היצרן ל-Weave עבור הצומת המקומי.
כשמפעילים את ההטמעה, ההטמעה צריכה לכתוב מבנה שמכיל מידע שמשמש לאימות (attestation) של היצרן של הצומת. את פרטי האימות (attestation) של היצרן צריך לכתוב במבנה של TLV לכותב ה-TLV שסופק באמצעות התג הספציפי של פרופיל האבטחה.
GenerateAndEncodeMASig
virtual WEAVE_ERROR GenerateAndEncodeMASig( const uint8_t *data, uint16_t dataLen, TLVWriter & writer )=0
יצירה וקידוד של חתימת אימות (attestation) של היצרן באמצעות המפתח הפרטי לאימות (attestation) של הצומת המקומי של היצרן.
כשמפעילים הטמעות, צריך לחשב את החתימה בערך הגיבוב הנתון באמצעות המפתח הפרטי לאימות (attestation) של היצרן של הצומת.
קודם כול, צריך לכתוב את הערך הנספור שמזהה את אלגוריתם חתימת האימות של היצרן בפורמט של מספר שלם ללא שיוך לכותב ה-TLV שסופק, באמצעות התג הבא: kTag_GetCertReqMsg_MfrAttestSigAlgo Legal הערכים המספורים נלקחים ממרחב השמות הקבוע kOID_SigAlgo_*.
לאחר מכן צריך לכתוב את החתימה שנוצרה בפורמט ECDSASignature , RSASignature , HMACSignature או במבנה מותאם אישית לכותב ה-TLV שסופק באמצעות אחד מהתגים הבאים: kTag_GetCertReqMsg_MfrAttestSig_ECDSA kTag_GetCertReqMsg_MfrigtestSigtest_GetCertReqMsg_MfrigtestSigtest_GetRSA_HMAC_gtager_טופס אבטחה ספציפי
הערה: במקרים שבהם המפתח הפרטי התואם של Elliptic Curve של הצומת שמור במאגר נתונים זמני, פונקציית השירות GenerateAndEncodeWeaveECDSASignature() יכולה להיות שימושית להטמעת השיטה הזו.