OT_TOOL_PACKED_BEGIN struct otPlatCryptoSha256Hash OT_TOOL_PACKED_END
کارکرد otPlatCryptoAesEncrypt otError otPlatCryptoAesEncrypt(
otCryptoContext *aContext,
const uint8_t *aInput,
uint8_t *aOutput
) داده های داده شده را رمزگذاری کنید.
جزئیات مولفه های [in] aContext
زمینه برای عملیات AES.
[in] aInput
اشاره گر به بافر ورودی.
[in] aOutput
اشاره گر به بافر خروجی.
ارزش های بازگشتی OT_ERROR_NONE
aInput
با موفقیت رمزگذاری شد.
OT_ERROR_FAILED
رمزگذاری aInput
ناموفق بود.
OT_ERROR_INVALID_ARGS
aContext
یا aKey
یا aOutput
NULL بودند
otPlatCryptoAesFree otError otPlatCryptoAesFree(
otCryptoContext *aContext
) زمینه AES را آزاد کنید.
جزئیات مولفه های [in] aContext
زمینه برای عملیات AES.
ارزش های بازگشتی OT_ERROR_NONE
زمینه AES با موفقیت آزاد شد.
OT_ERROR_FAILED
زمینه AES آزاد نشد.
OT_ERROR_INVALID_ARGS
aContext
NULL بود
otPlatCryptoAesInit otError otPlatCryptoAesInit(
otCryptoContext *aContext
) عملیات AES را راه اندازی کنید.
توجه: درایور پلتفرم باید متن را به شی درست مانند psa_key_id یا mbedtls_aes_context_t اشاره کند.
جزئیات مولفه های [in] aContext
زمینه برای عملیات AES.
ارزش های بازگشتی OT_ERROR_NONE
عملیات AES با موفقیت آغاز شد.
OT_ERROR_FAILED
شروع عملیات AES ناموفق بود.
OT_ERROR_INVALID_ARGS
aContext
NULL بود
OT_ERROR_NO_BUFS
نمی توان زمینه را اختصاص داد.
otPlatCryptoAesSetKey otError otPlatCryptoAesSetKey(
otCryptoContext *aContext,
const otCryptoKey *aKey
) کلید را برای عملکرد AES تنظیم کنید.
جزئیات مولفه های [in] aContext
زمینه برای عملیات AES.
[out] aKey
کلید مورد استفاده برای عملیات AES.
ارزش های بازگشتی OT_ERROR_NONE
کلید برای عملکرد AES با موفقیت تنظیم شد.
OT_ERROR_FAILED
کلید برای عملکرد AES تنظیم نشد.
OT_ERROR_INVALID_ARGS
aContext
یا aKey
NULL بود
otPlatCryptoDestroyKey otError otPlatCryptoDestroyKey(
otCryptoKeyRef aKeyRef
) یک کلید ذخیره شده در PSA ITS را نابود کنید.
توجه: این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
فعال باشد.
جزئیات مولفه های [in] aKeyRef
رفر کلیدی که از بین می رود
ارزش های بازگشتی OT_ERROR_NONE
کلید را با موفقیت از بین برد.
OT_ERROR_FAILED
شکست در از بین بردن کلید.
otPlatCryptoEcdsaExportPublicKey otError otPlatCryptoEcdsaExportPublicKey(
otCryptoKeyRef aKeyRef,
otPlatCryptoEcdsaPublicKey *aPublicKey
) کلید عمومی مرتبط را از مرجع کلید دریافت کنید.
بسته به کتابخانه پشتیبان رمزنگاری مورد استفاده (OPENTHREAD_CONFIG_CRYPTO_LIB) کلید عمومی به طور متفاوتی ذخیره می شود.
این API باید مطمئن شود که کلید عمومی را به عنوان یک نمایش توالی بایت از یک نقطه منحنی فشرده نشده برمی گرداند (RFC 6605 - sec 4)
توجه: این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
فعال باشد.
جزئیات مولفه های [in] aKeyRef
اشاره کلید به شکافی که جفت کلید در آن ذخیره می شود.
[out] aPublicKey
یک اشاره گر به ساختار کلید عمومی ECDSA برای ذخیره کلید عمومی.
ارزش های بازگشتی OT_ERROR_NONE
کلید عمومی با موفقیت بازیابی شد و aBuffer
به روز شد.
OT_ERROR_PARSE
قالب DER جفت کلید قابل تجزیه نیست (قالب نامعتبر).
OT_ERROR_INVALID_ARGS
aContext
NULL است.
otPlatCryptoEcdsaGenerateAndImportKey otError otPlatCryptoEcdsaGenerateAndImportKey(
otCryptoKeyRef aKeyRef
) ایجاد و وارد کردن یک جفت کلید ECDSA جدید در مرجع تصویب شده.
توجه: این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
فعال باشد.
جزئیات مولفه های [in] aKeyRef
اشاره کلید به شکافی که جفت کلید در آن ذخیره می شود.
ارزش های بازگشتی OT_ERROR_NONE
یک جفت کلید جدید با موفقیت ایجاد شد.
OT_ERROR_NO_BUFS
تخصیص بافر برای تولید کلید انجام نشد.
OT_ERROR_NOT_CAPABLE
ویژگی پشتیبانی نمی شود.
OT_ERROR_FAILED
ایجاد جفت کلید ناموفق بود.
otPlatCryptoEcdsaGenerateKey otError otPlatCryptoEcdsaGenerateKey(
otPlatCryptoEcdsaKeyPair *aKeyPair
) بافر خروجی را با یک جفت کلید ECDSA جدید تولید و پر کنید.
جزئیات مولفه های [out] aKeyPair
یک اشاره گر به ساختار جفت کلید ECDSA برای ذخیره جفت کلید تولید شده.
ارزش های بازگشتی OT_ERROR_NONE
یک جفت کلید جدید با موفقیت ایجاد شد.
OT_ERROR_NO_BUFS
تخصیص بافر برای تولید کلید انجام نشد.
OT_ERROR_NOT_CAPABLE
ویژگی پشتیبانی نمی شود.
OT_ERROR_FAILED
ایجاد جفت کلید ناموفق بود.
otPlatCryptoEcdsaGetPublicKey otError otPlatCryptoEcdsaGetPublicKey(
const otPlatCryptoEcdsaKeyPair *aKeyPair,
otPlatCryptoEcdsaPublicKey *aPublicKey
) کلید عمومی مرتبط را از زمینه ورودی دریافت کنید.
جزئیات مولفه های [in] aKeyPair
اشاره گر به ساختار جفت کلید ECDSA که در آن جفت کلید ذخیره می شود.
[out] aPublicKey
یک اشاره گر به ساختار کلید عمومی ECDSA برای ذخیره کلید عمومی.
ارزش های بازگشتی OT_ERROR_NONE
کلید عمومی با موفقیت بازیابی شد و aBuffer
به روز شد.
OT_ERROR_PARSE
قالب DER جفت کلید قابل تجزیه نیست (قالب نامعتبر).
OT_ERROR_INVALID_ARGS
aContext
NULL است.
otPlatCryptoEcdsaSign otError otPlatCryptoEcdsaSign(
const otPlatCryptoEcdsaKeyPair *aKeyPair,
const otPlatCryptoSha256Hash *aHash,
otPlatCryptoEcdsaSignature *aSignature
) امضای ECDSA را برای یک پیام هش شده با استفاده از کلید خصوصی از زمینه ورودی محاسبه کنید.
از روش تولید امضای دیجیتال قطعی از RFC 6979 استفاده می کند.
جزئیات مولفه های [in] aKeyPair
اشاره گر به ساختار جفت کلید ECDSA که در آن جفت کلید ذخیره می شود.
[in] aHash
یک اشاره گر به ساختار هش SHA-256 که در آن مقدار هش برای محاسبه امضا ذخیره می شود.
[out] aSignature
یک اشاره گر به یک ساختار امضای ECDSA برای خروجی امضای محاسبه شده.
ارزش های بازگشتی OT_ERROR_NONE
امضا با موفقیت محاسبه شد، aSignature
به روز شد.
OT_ERROR_PARSE
قالب DER جفت کلید قابل تجزیه نیست (قالب نامعتبر).
OT_ERROR_NO_BUFS
تخصیص بافر برای محاسبه امضا انجام نشد.
OT_ERROR_INVALID_ARGS
aContext
NULL است.
otPlatCryptoEcdsaSignUsingKeyRef otError otPlatCryptoEcdsaSignUsingKeyRef(
otCryptoKeyRef aKeyRef,
const otPlatCryptoSha256Hash *aHash,
otPlatCryptoEcdsaSignature *aSignature
) امضای ECDSA را برای یک پیام هش شده با استفاده از مرجع کلید ارسال شده محاسبه کنید.
از روش تولید امضای دیجیتال قطعی از RFC 6979 استفاده می کند.
توجه: این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
فعال باشد.
جزئیات مولفه های [in] aKeyRef
اشاره کلید به شکافی که جفت کلید در آن ذخیره می شود.
[in] aHash
یک اشاره گر به ساختار هش SHA-256 که در آن مقدار هش برای محاسبه امضا ذخیره می شود.
[out] aSignature
یک اشاره گر به یک ساختار امضای ECDSA برای خروجی امضای محاسبه شده.
ارزش های بازگشتی OT_ERROR_NONE
امضا با موفقیت محاسبه شد، aSignature
به روز شد.
OT_ERROR_PARSE
قالب DER جفت کلید قابل تجزیه نیست (قالب نامعتبر).
OT_ERROR_NO_BUFS
تخصیص بافر برای محاسبه امضا انجام نشد.
OT_ERROR_INVALID_ARGS
aContext
NULL است.
otPlatCryptoEcdsaVerify otError otPlatCryptoEcdsaVerify(
const otPlatCryptoEcdsaPublicKey *aPublicKey,
const otPlatCryptoSha256Hash *aHash,
const otPlatCryptoEcdsaSignature *aSignature
) از کلید زمینه ورودی برای تأیید امضای ECDSA یک پیام هش شده استفاده کنید.
جزئیات مولفه های [in] aPublicKey
یک اشاره گر به ساختار کلید عمومی ECDSA که در آن کلید عمومی برای تأیید امضا ذخیره می شود.
[in] aHash
یک اشاره گر به ساختار هش SHA-256 که در آن مقدار هش برای تأیید امضا ذخیره می شود.
[in] aSignature
یک اشاره گر به ساختار امضای ECDSA که در آن مقدار امضایی که باید تأیید شود ذخیره می شود.
ارزش های بازگشتی OT_ERROR_NONE
امضا با موفقیت تأیید شد.
OT_ERROR_SECURITY
امضا نامعتبر است.
OT_ERROR_INVALID_ARGS
کلید یا هش نامعتبر است.
OT_ERROR_NO_BUFS
تخصیص بافر برای تأیید امضا انجام نشد.
otPlatCryptoEcdsaVerifyUsingKeyRef otError otPlatCryptoEcdsaVerifyUsingKeyRef(
otCryptoKeyRef aKeyRef,
const otPlatCryptoSha256Hash *aHash,
const otPlatCryptoEcdsaSignature *aSignature
) از کلید کلید برای تأیید امضای ECDSA یک پیام هش شده استفاده کنید.
توجه: این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
فعال باشد.
جزئیات مولفه های [in] aKeyRef
اشاره کلید به شکافی که جفت کلید در آن ذخیره می شود.
[in] aHash
یک اشاره گر به ساختار هش SHA-256 که در آن مقدار هش برای تأیید امضا ذخیره می شود.
[in] aSignature
یک اشاره گر به ساختار امضای ECDSA که در آن مقدار امضایی که باید تأیید شود ذخیره می شود.
ارزش های بازگشتی OT_ERROR_NONE
امضا با موفقیت تأیید شد.
OT_ERROR_SECURITY
امضا نامعتبر است.
OT_ERROR_INVALID_ARGS
کلید یا هش نامعتبر است.
OT_ERROR_NO_BUFS
تخصیص بافر برای تأیید امضا انجام نشد.
otPlatCryptoExportKey otError otPlatCryptoExportKey(
otCryptoKeyRef aKeyRef,
uint8_t *aBuffer,
size_t aBufferLen,
size_t *aKeyLen
) یک کلید ذخیره شده در PSA ITS را صادر کنید.
توجه: این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
فعال باشد.
جزئیات مولفه های [in] aKeyRef
رمز کلیدی که برای عملیات کریپتو استفاده می شود.
[out] aBuffer
اشاره گر به بافری که در آن کلید باید صادر شود.
[in] aBufferLen
طول بافر برای ذخیره کلید صادر شده ارسال شده است.
[out] aKeyLen
اشاره گر برای برگرداندن طول کلید صادر شده.
ارزش های بازگشتی OT_ERROR_NONE
aKeyRef
با موفقیت صادر شد.
OT_ERROR_FAILED
aKeyRef
صادر نشد.
OT_ERROR_INVALID_ARGS
aBuffer
NULL بود
otPlatCryptoHasKey bool otPlatCryptoHasKey(
otCryptoKeyRef aKeyRef
) بررسی کنید که آیا کلید ref ارسال شده دارای یک کلید مرتبط در PSA ITS است یا خیر.
توجه: این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
فعال باشد.
جزئیات مولفه های [in] aKeyRef
Ref کلید برای بررسی.
ارزش های بازگشتی TRUE
یک کلید مرتبط با aKeyRef
وجود دارد.
FALSE
هیچ کلید مرتبطی با aKeyRef
وجود ندارد.
otPlatCryptoHkdfDeinit otError otPlatCryptoHkdfDeinit(
otCryptoContext *aContext
) زمینه HKDF را از حالت اولیه خارج کنید.
جزئیات مولفه های [in] aContext
زمینه برای عملیات HKDF.
ارزش های بازگشتی OT_ERROR_NONE
عملیات HKDF با موفقیت لغو اولیه شد.
OT_ERROR_FAILED
عملیات HKDF از حالت اولیه خارج نشد.
OT_ERROR_INVALID_ARGS
aContext
NULL بود
otPlatCryptoHkdfExpand otError otPlatCryptoHkdfExpand(
otCryptoContext *aContext,
const uint8_t *aInfo,
uint16_t aInfoLength,
uint8_t *aOutputKey,
uint16_t aOutputKeyLength
) مرحله گسترش HKDF را انجام دهید.
جزئیات مولفه های [in] aContext
زمینه عملیات برای عملیات HKDF.
[in] aInfo
به دنباله Info اشاره کنید.
[in] aInfoLength
طول دنباله اطلاعات
[out] aOutputKey
اشاره گر به کلید خروجی
[in] aOutputKeyLength
اندازه بافر کلید خروجی
ارزش های بازگشتی OT_ERROR_NONE
HKDF Expand موفقیت آمیز بود.
OT_ERROR_FAILED
گسترش HKDF ناموفق بود.
OT_ERROR_INVALID_ARGS
aContext
NULL بود
otError otPlatCryptoHkdfExtract(
otCryptoContext *aContext,
const uint8_t *aSalt,
uint16_t aSaltLength,
const otCryptoKey *aInputKey
) مرحله استخراج HKDF را انجام دهید.
جزئیات مولفه های [in] aContext
زمینه عملیات برای عملیات HKDF.
[in] aSalt
اشاره به نمک برای HKDF.
[in] aSaltLength
طول نمک.
[in] aInputKey
اشاره گر به کلید ورودی
ارزش های بازگشتی OT_ERROR_NONE
استخراج HKDF موفقیت آمیز بود.
OT_ERROR_FAILED
استخراج HKDF ناموفق بود.
otPlatCryptoHkdfInit otError otPlatCryptoHkdfInit(
otCryptoContext *aContext
) زمینه HKDF را راه اندازی کنید.
توجه: درایور پلتفرم باید متن را به شی درست مانند psa_key_derivation_operation_t یا HmacSha256::Hash اشاره کند.
جزئیات مولفه های [in] aContext
زمینه برای عملیات HKDF.
ارزش های بازگشتی OT_ERROR_NONE
عملیات AES با موفقیت آغاز شد.
OT_ERROR_FAILED
شروع عملیات AES ناموفق بود.
OT_ERROR_INVALID_ARGS
aContext
NULL بود
otPlatCryptoHmacSha256Deinit otError otPlatCryptoHmacSha256Deinit(
otCryptoContext *aContext
) عملیات HMAC را از حالت اولیه خارج کنید.
جزئیات مولفه های [in] aContext
زمینه برای عملیات HMAC.
ارزش های بازگشتی OT_ERROR_NONE
عملیات HMAC با موفقیت راه اندازی نشد.
OT_ERROR_FAILED
عملیات HMAC اولیه ناموفق بود.
OT_ERROR_INVALID_ARGS
aContext
NULL بود
otPlatCryptoHmacSha256Finish otError otPlatCryptoHmacSha256Finish(
otCryptoContext *aContext,
uint8_t *aBuf,
size_t aBufLength
) عملیات HMAC را کامل کنید.
جزئیات مولفه های [in] aContext
زمینه برای عملیات HMAC.
[out] aBuf
اشاره گر به بافر خروجی.
[in] aBufLength
طول aBuf
بر حسب بایت.
ارزش های بازگشتی OT_ERROR_NONE
عملیات HMAC با موفقیت به پایان رسید.
OT_ERROR_FAILED
عملیات HMAC کامل نشد.
OT_ERROR_INVALID_ARGS
aContext
یا aBuf
NULL بود
otPlatCryptoHmacSha256Init otError otPlatCryptoHmacSha256Init(
otCryptoContext *aContext
) عملیات HMAC را راه اندازی کنید.
توجه: درایور پلتفرم باید متن را به شی درست مانند psa_mac_operation_t یا mbedtls_md_context_t اشاره کند.
جزئیات مولفه های [in] aContext
زمینه برای عملیات HMAC.
ارزش های بازگشتی OT_ERROR_NONE
عملیات HMAC با موفقیت راه اندازی شد.
OT_ERROR_FAILED
شروع عملیات HMAC ناموفق بود.
OT_ERROR_INVALID_ARGS
aContext
NULL بود
otPlatCryptoHmacSha256شروع کنید otError otPlatCryptoHmacSha256Start(
otCryptoContext *aContext,
const otCryptoKey *aKey
) عملیات HMAC را شروع کنید.
جزئیات مولفه های [in] aContext
زمینه برای عملیات HMAC.
[in] aKey
مواد کلیدی مورد استفاده برای عملیات HMAC.
ارزش های بازگشتی OT_ERROR_NONE
عملیات HMAC با موفقیت شروع شد.
OT_ERROR_FAILED
شروع عملیات HMAC ناموفق بود.
OT_ERROR_INVALID_ARGS
aContext
یا aKey
NULL بود
otPlatCryptoHmacSha256 به روز رسانی otError otPlatCryptoHmacSha256Update(
otCryptoContext *aContext,
const void *aBuf,
uint16_t aBufLength
) عملیات HMAC را با ورودی جدید به روز کنید.
جزئیات مولفه های [in] aContext
زمینه برای عملیات HMAC.
[in] aBuf
اشاره گر به بافر ورودی.
[in] aBufLength
طول aBuf
بر حسب بایت.
ارزش های بازگشتی OT_ERROR_NONE
HMAC با عملیات ورودی جدید با موفقیت به روز شد.
OT_ERROR_FAILED
عملیات HMAC به روز نشد.
OT_ERROR_INVALID_ARGS
aContext
یا aBuf
NULL بود
otPlatCryptoImportKey otError otPlatCryptoImportKey(
otCryptoKeyRef *aKeyRef,
otCryptoKeyType aKeyType,
otCryptoKeyAlgorithm aKeyAlgorithm,
int aKeyUsage,
otCryptoKeyStorage aKeyPersistence,
const uint8_t *aKey,
size_t aKeyLen
) یک کلید را به PSA ITS وارد کنید.
توجه: اگر OT_CRYPTO_KEY_STORAGE_PERSISTENT برای aKeyPersistence ارسال شود، aKeyRef
ورودی است و پلتفرم باید از aKeyRef داده شده استفاده کند و نباید آن را تغییر دهد. اگر OT_CRYPTO_KEY_STORAGE_VOLATILE برای aKeyPersistence ارسال شود، aKeyRef
خروجی می شود، مقدار اولیه مهم نیست و API پلتفرم باید آن را به روز کند تا ref کلید جدید را برگرداند.
جزئیات مولفه های [in,out] aKeyRef
اشاره گر به کلید ref که برای عملیات کریپتو استفاده می شود.
[in] aKeyType
نوع کلید رمزگذاری برای کلید.
[in] aKeyAlgorithm
رمزگذاری الگوریتم کلید برای کلید.
[in] aKeyUsage
رمزگذاری استفاده از کلید برای کلید (ترکیبی از OT_CRYPTO_KEY_USAGE_*
).
[in] aKeyPersistence
ماندگاری کلید برای این کلید
[in] aKey
کلید واقعی برای وارد شدن
[in] aKeyLen
طول کلیدی که باید وارد شود.
ارزش های بازگشتی OT_ERROR_NONE
کلید با موفقیت وارد شد.
OT_ERROR_FAILED
وارد کردن کلید انجام نشد.
OT_ERROR_INVALID_ARGS
aKey
روی NULL تنظیم شد.
این API فقط زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
فعال باشد.
otPlatCryptoInit void otPlatCryptoInit(
void
) ماژول Crypto را راه اندازی کنید.
otPlatCryptoPbkdf2GenerateKey otError otPlatCryptoPbkdf2GenerateKey(
const uint8_t *aPassword,
uint16_t aPasswordLen,
const uint8_t *aSalt,
uint16_t aSaltLen,
uint32_t aIterationCounter,
uint16_t aKeyLen,
uint8_t *aKey
) PKCS#5 PBKDF2 را با استفاده از CMAC (AES-CMAC-PRF-128) انجام دهید.
جزئیات مولفه های [in] aPassword
رمز عبور برای استفاده در هنگام تولید کلید.
[in] aPasswordLen
طول رمز عبور
[in] aSalt
نمک برای استفاده در هنگام تولید کلید.
[in] aSaltLen
طول نمک.
[in] aIterationCounter
تعداد تکرار
[in] aKeyLen
طول کلید تولید شده بر حسب بایت
[out] aKey
اشاره گر به کلید تولید شده
ارزش های بازگشتی OT_ERROR_NONE
یک جفت کلید جدید با موفقیت ایجاد شد.
OT_ERROR_NO_BUFS
تخصیص بافر برای تولید کلید انجام نشد.
OT_ERROR_NOT_CAPABLE
ویژگی پشتیبانی نمی شود.
OT_ERROR_FAILED
کلید تولید نشد.
otPlatCryptoRandomDeinit void otPlatCryptoRandomDeinit(
void
) مولد اعداد شبه تصادفی امن رمزنگاری (CSPRNG) را از مقدار اولیه اولیه بردارید.
otPlatCryptoRandomGet otError otPlatCryptoRandomGet(
uint8_t *aBuffer,
uint16_t aSize
) یک بافر مشخص را با بایت های تصادفی امن رمزنگاری پر می کند.
جزئیات مولفه های [out] aBuffer
یک اشاره گر به یک بافر برای پر کردن با بایت های تصادفی.
[in] aSize
اندازه بافر (تعداد بایت برای پر کردن).
ارزش های بازگشتی OT_ERROR_NONE
بافر با مقادیر تصادفی با موفقیت پر شد.
OT_ERROR_FAILED
عملیات شکست خورد.
otPlatCryptoRandomInit void otPlatCryptoRandomInit(
void
) مولد اعداد شبه تصادفی با امنیت رمزنگاری (CSPRNG) را راه اندازی کنید.
otPlatCryptoSha256Deinit otError otPlatCryptoSha256Deinit(
otCryptoContext *aContext
) عملیات SHA-256 را از حالت اولیه خارج کنید.
جزئیات مولفه های [in] aContext
زمینه عملیات SHA-256.
ارزش های بازگشتی OT_ERROR_NONE
عملیات SHA-256 با موفقیت لغو اولیه شد.
OT_ERROR_FAILED
عملیات SHA-256 از حالت اولیه خارج نشد.
OT_ERROR_INVALID_ARGS
aContext
NULL بود
otPlatCryptoSha256Finish otError otPlatCryptoSha256Finish(
otCryptoContext *aContext,
uint8_t *aHash,
uint16_t aHashSize
) عملیات SHA-256 را به پایان برسانید.
جزئیات مولفه های [in] aContext
زمینه عملیات SHA-256.
[in] aHash
یک اشاره گر به بافر خروجی، جایی که هش باید در آن ذخیره شود.
[in] aHashSize
طول aHash
بر حسب بایت.
ارزش های بازگشتی OT_ERROR_NONE
عملیات SHA-256 را با موفقیت به پایان رساند.
OT_ERROR_FAILED
عملیات SHA-256 تکمیل نشد.
OT_ERROR_INVALID_ARGS
aContext
یا aHash
NULL بود
otPlatCryptoSha256Init otError otPlatCryptoSha256Init(
otCryptoContext *aContext
) عملیات SHA-256 را راه اندازی کنید.
توجه: درایور پلتفرم باید متن را به شی درستی مانند psa_hash_operation_t یا mbedtls_sha256_context اشاره کند.
جزئیات مولفه های [in] aContext
زمینه عملیات SHA-256.
ارزش های بازگشتی OT_ERROR_NONE
عملیات SHA-256 با موفقیت راه اندازی شد.
OT_ERROR_FAILED
شروع عملیات SHA-256 ناموفق بود.
OT_ERROR_INVALID_ARGS
aContext
NULL بود
otPlatCryptoSha256شروع کنید otError otPlatCryptoSha256Start(
otCryptoContext *aContext
) عملیات SHA-256 را شروع کنید.
جزئیات مولفه های [in] aContext
زمینه عملیات SHA-256.
ارزش های بازگشتی OT_ERROR_NONE
عملیات SHA-256 با موفقیت آغاز شد.
OT_ERROR_FAILED
شروع عملیات SHA-256 ناموفق بود.
OT_ERROR_INVALID_ARGS
aContext
NULL بود
otPlatCryptoSha256 به روز رسانی otError otPlatCryptoSha256Update(
otCryptoContext *aContext,
const void *aBuf,
uint16_t aBufLength
) عملیات SHA-256 را با ورودی جدید به روز کنید.
جزئیات مولفه های [in] aContext
زمینه عملیات SHA-256.
[in] aBuf
اشاره گر به بافر ورودی.
[in] aBufLength
طول aBuf
بر حسب بایت.
ارزش های بازگشتی OT_ERROR_NONE
SHA-256 با عملیات ورودی جدید با موفقیت به روز شد.
OT_ERROR_FAILED
عملیات SHA-256 به روز نشد.
OT_ERROR_INVALID_ARGS
aContext
یا aBuf
NULL بود
ماکروها OT_CRYPTO_ECDSA_MAX_DER_SIZE OT_CRYPTO_ECDSA_MAX_DER_SIZE 125 حداکثر اندازه بافر (بر حسب بایت) برای نمایش جفت کلید EDCSA در قالب DER.
OT_CRYPTO_ECDSA_PUBLIC_KEY_SIZE OT_CRYPTO_ECDSA_PUBLIC_KEY_SIZE 64 اندازه بافر (بر حسب بایت) برای نمایش کلید عمومی EDCSA.
OT_CRYPTO_ECDSA_SIGNATURE_SIZE OT_CRYPTO_ECDSA_SIGNATURE_SIZE 64 اندازه بافر (بر حسب بایت) برای نشان دادن امضای EDCSA.
OT_CRYPTO_PBDKF2_MAX_SALT_SIZE OT_CRYPTO_PBDKF2_MAX_SALT_SIZE 30 حداکثر طول PBKDF2 SALT: پیشوند salt (6) + panid گسترده (8) + نام شبکه (16)
OT_CRYPTO_SHA256_HASH_SIZE OT_CRYPTO_SHA256_HASH_SIZE 32 طول هش SHA256 (بر حسب بایت).
منابع موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates. The OPENTHREAD and related marks are trademarks of the Thread Group and are used under license.
تاریخ آخرین بهروزرسانی 2023-12-14 بهوقت ساعت هماهنگ جهانی.