nl:: بافت:: پروفایل ها:: امنیت:: CertProvisioning:: WeaveNodeMfrAttestDelegate
این یک کلاس انتزاعی است.#include <src/lib/profiles/security/WeaveCertProvisioning.h>
رابط انتزاعی که اقدامات خاص پلتفرم در طول گواهی سازنده گره Weave به آن واگذار می شود.
خلاصه
توابع عمومی | |
---|---|
EncodeMAInfo ( TLVWriter & writer)=0 | virtual WEAVE_ERROR اطلاعات گواهی سازنده Weave را برای گره محلی رمزگذاری کنید. |
GenerateAndEncodeMASig (const uint8_t *data, uint16_t dataLen, TLVWriter & writer)=0 | virtual WEAVE_ERROR امضای گواهی سازنده را با استفاده از کلید خصوصی گواهی سازنده گره محلی تولید و کدگذاری کنید. |
توابع عمومی
EncodeMAInfo
virtual WEAVE_ERROR EncodeMAInfo( TLVWriter & writer )=0
اطلاعات گواهی سازنده Weave را برای گره محلی رمزگذاری کنید.
هنگام فراخوانی، پیاده سازی باید ساختاری بنویسد که حاوی اطلاعات مورد استفاده برای گواهی سازنده گره باشد. اطلاعات گواهی سازنده باید در قالب یک ساختار TLV با استفاده از برچسب خاص مشخصات امنیتی برای نگارشگر TLV ارائه شده نوشته شود.
GenerateAndEncodeMASig
virtual WEAVE_ERROR GenerateAndEncodeMASig( const uint8_t *data, uint16_t dataLen, TLVWriter & writer )=0
امضای گواهی سازنده را با استفاده از کلید خصوصی گواهی سازنده گره محلی تولید و کدگذاری کنید.
هنگام فراخوانی، پیادهسازیها باید با استفاده از کلید خصوصی گواهی سازنده گره، امضایی را روی مقدار هش داده شده محاسبه کنند.
ابتدا، مقدار شمارششده که الگوریتم امضای گواهی سازنده را شناسایی میکند، باید به شکل یک عدد صحیح بدون علامت در رایتر TLV ارائهشده با استفاده از برچسب زیر نوشته شود: kTag_GetCertReqMsg_MfrAttestSigAlgo مقادیر برشماری قانونی از kOID_SigAlaceconstanta گرفته شدهاند.
سپس امضای تولید شده باید به شکل یک امضای ECDSAS، RSASignature، HMACSignature، یا ساختار سفارشی با استفاده از یکی از تگهای زیر برای نگارشگر TLV ارائه شده نوشته شود:
نکته: در مواردی که کلید خصوصی منحنی بیضی مربوط به گره در یک بافر محلی نگهداری می شود، تابع ابزار GenerateAndEncodeWeaveECDSASignature() می تواند برای پیاده سازی این روش مفید باشد.