DEENESPTFRRUARHIKOZHNL

Crypto Interface (CryIf)

ModulCryIf (Crypto Interface)
BSW-Modul-ID112
Standard-Header#include "CryIf.h"
SWS-SpezifikationAUTOSAR_SWS_CryptoInterface.pdf
ClusterCrypto Services

دليل الوحدةمولَّد بالذكاء الاصطناعي

يمرر مهام التشفير واستدعاءات المفاتيح الخاصة بـ CSM عبر قنوات مكوّنة إلى برامج تشغيل التشفير المختصة.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: claude-opus-5-5 · الجهد: high · درجة الحرارة: غير قابل للتحكم · الموجّه: 6b37c73ee677 المصدر أسئلة مفتوحة (4)
المرساة السببية: R20-11 صالح اعتبارًا من R20-11 مُركَّب حديثًا لهذا الإصدار من المواصفة.
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يمرر مهام التشفير واستدعاءات المفاتيح الخاصة بـ CSM عبر قنوات مكوّنة إلى برامج تشغيل التشفير المختصة.

يقوم CryIf بالوساطة في حزمة تشفير Classic بين CSM وCrypto Driver ويمرر المهام واستدعاءات المفاتيح عبر قنوات مكوّنة إلى Crypto Driver Object المختص SWS CSM ص. 26. والواجهة المركزية هي CryIf_ProcessJob، التي تعمل بشكل متزامن أو غير متزامن اعتمادًا على التكوين [SWS_CryIf_91003]. ويُبلغ برنامج التشغيل عن النتائج غير المتزامنة عبر رد نداء إلى CryIf، الذي يمررها بدوره إلى CSM. وقبل التمرير، يطابق CryIf معرّفات المفاتيح الخاصة به مع معرّفات برنامج التشغيل ويفحص نطاقها. وبالنسبة لـ R20-11، تجدر الإشارة إلى أن الإصدارات اللاحقة قامت بتغيير رموز الأخطاء وقواعد التزامن.

يقوم CryIf بالوساطة في حزمة تشفير Classic بين CSM في Service Layer وCrypto Driver في MCAL. وتمر طلبات التطبيقات عبر قنوات منطقية وصولاً إلى محركات العتاد الخاصة بـ HSM SWS CSM الشكل 7.4 ص. 27. والقناة هي المسار الممتد من صف انتظار CSM عبر CryIf إلى Crypto Driver Object؛ ويتم تخصيص كل صف انتظار CSM لقناة واحدة بالضبط SWS CSM ص. 26. ويتم تكوين القنوات في الحاوية CryIfChannel مع CryIfChannelId وCryIfDriverObjectRef SWS CryIf ص. 51. وقبل أي استخدام، تقوم CryIf_Init بتهيئة الوحدة بتكوين خاص بالتنفيذ [SWS_CryIf_91000].

kontext cluster_app Application Layer cluster_srv Service Layer cluster_ecu ECU Abstraction Layer cluster_mcal MCAL cluster_hw Microcontroller (HSM) app1 App1 (AES) rte RTE app1->rte app2 App2 (AES) app2->rte app3 App3 (RSA) app3->rte csm CSM Queue je Kanal rte->csm Krypto-Dienste cryif CryIf CryIfChannel csm->cryif CryIf_ProcessJob, CryIf_CancelJob, CryIf_Key… cryif->csm Csm_CallbackNotification crypto Crypto Driver Crypto Driver Objects cryif->crypto Weiterleitung je Kanal an Crypto Driver Object det DET cryif->det Det_ReportError, Det_ReportRuntimeError crypto->cryif CryIf_CallbackNotification hwaes HW-AES crypto->hwaes Kanal AES hwrsa HW-RSA crypto->hwrsa Kanal RSA

مخطط سياق: يمرر CryIf طلبات CSM لكل قناة إلى Crypto Driver Objects ويُعيد النتائج إلى CSM. المصادر: SWS CSM الشكل 7.4 ص. 27، [SWS_CryIf_91100]

الواجهة المركزية هي CryIf_ProcessJob. وتتميز الدالة بأنها قابلة لإعادة الدخول وتعمل بشكل متزامن أو غير متزامن اعتمادًا على التكوين [SWS_CryIf_91003]. ويمكن دمج أوضاع التشغيل START وUPDATE وFINISH، بحيث تغطي نفس الدالة الاستدعاءات الفردية والبث التدفقي SWS CryIf ص. 22. ويُبلغ برنامج التشغيل عن النتائج غير المتزامنة عبر CryIf_CallbackNotification [SWS_CryIf_91013]. ويمررها CryIf عبر Csm_CallbackNotification إلى CSM [SWS_CryIf_91100]. ويلغي CryIf_CancelJob المهام الجارية لدى برنامج التشغيل [SWS_CryIf_91014].

معالجة المهمة عبر CryIf_ProcessJobCSMCryIfCrypto Driver ObjectDETCryIf_ProcessJob(channelId, job)فحص معرّفات المفاتيحوتعيينها إلى معرّفات المشغّلoptمعرّف المفتاح خارج النطاقCRYPTO_E_PARAM_HANDLE meldenE_NOT_OKCrypto_ProcessJob(…, job)altsynchron konfiguriertBerechnungErgebnis (E_OK / CRYPTO_E_…)تمرير القيمة المعادةasynchron konfiguriertالقيمة المعادة لعملية التسليمتمرير القيمة المعادةBerechnung,على سبيل المثال من دالة MainFunctionCryIf_CallbackNotification(job, result)Csm_CallbackNotification(job, result)

مخطط تسلسل: يفحص CryIf معرّفات المفاتيح ثم يمرر المهمة. تعود النتيجة بشكل متزامن كقيمة مرجعة أو بشكل غير متزامن عبر مرحلتين من ردود النداء. المصادر: [SWS_CryIf_91003]، [SWS_CryIf_91013]، SWS Crypto ص. 27

قبل التمرير، يطابق CryIf معرّفات المفاتيح الخاصة به مع معرّفات برنامج التشغيل. وإذا كانت خارج النطاق، فإنه يُبلغ DET بـ CRYPTO_E_PARAM_HANDLE ويُرجع E_NOT_OK [SWS_CryIf_00133] [SWS_CryIf_00134]. بالإضافة إلى ذلك، يوفر CryIf دوالاً متزامنة لتعيين المفاتيح وتفعيلها وإلغاء تفعيلها وقراءتها وتوليدها واشتقاقها وتبادلها ونسخها. وإذا كان المصدر والهدف يقعان في برامج تشغيل مختلفة أثناء النسخ الجزئي، يقرأ CryIf العنصر ويكتبه بنفسه في الهدف [SWS_CryIf_00140].

تُرسل أخطاء التطوير مثل CRYIF_E_UNINIT أو CRYIF_E_PARAM_POINTER إلى DET [SWS_CryIf_00009]. وتعود أخطاء وقت التشغيل مثل CRYPTO_E_BUSY أو CRYPTO_E_KEY_NOT_VALID كقيم مرجعة [SWS_CryIf_91020]. تختلف الإصدارات اللاحقة عن R20-11: حيث قامت بتوحيد CRYIF_E_PARAM_HANDLE وتحديد CryIf_RandomSeed بالإضافة إلى CryIf_KeyGenerate كدوال متزامنة SWS CryIf ص. 1.

دور CryIf بين Crypto Service Manager وCrypto Driver

تقع Crypto Interface (CryIf) في حزمة تشفير Classic ضمن ECU Abstraction Layer. تطلب التطبيقات خدمات التشفير عبر RTE وCSM. وتمر هذه الطلبات عبر قنوات منطقية من خلال CryIf إلى Crypto Driver في MCAL ومن ثم إلى محركات العتاد الخاصة به، مثل HW-AES وHW-RSA في HSM SWS CSM الشكل 7.4 ص. 27. ويمثل Crypto Driver Object «كيان» تشفير مستقل في العتاد أو البرمجيات، على سبيل المثال مسرّع AES أو تنفيذ RSA في البرمجيات SWS CSM ص. 26. لا يقوم CryIf بأي عمليات حسابية بنفسه؛ بل تُمرر دواله الاستدعاء المعني إلى Crypto Driver Object المكوّن، مثل [SWS_CryIf_91005] و[SWS_CryIf_91007] و[SWS_CryIf_91009] و[SWS_CryIf_91014].

يوفر CryIf للمستوى الأعلى ثلاث مجموعات من الواجهات:

بالنسبة لمهمة في الحالة «ACTIVE»، يستدعي CSM الدالة CryIf_ProcessJob ويمرر قيمتها المرجعة دون تغيير SWS CSM ص. 22. ومن المستوى الأدنى، يستقبل CryIf عبر CryIf_CallbackNotification [SWS_CryIf_91013] إشعارات اكتمال برنامج التشغيل SWS Crypto ص. 27. ويتطلب من الوحدات الأخرى Csm_CallbackNotification وDet_ReportRuntimeError [SWS_CryIf_91100]، واختياريًا بالإضافة إلى ذلك Det_ReportError [SWS_CryIf_91101].

kontext cluster_app Application Layer cluster_srv Service Layer cluster_ecu ECU Abstraction Layer cluster_mcal MCAL cluster_hw Microcontroller (HSM) app1 App1 (AES) rte RTE app1->rte app2 App2 (AES) app2->rte app3 App3 (RSA) app3->rte csm CSM Queue je Kanal rte->csm Krypto-Dienste cryif CryIf CryIfChannel csm->cryif CryIf_ProcessJob, CryIf_CancelJob, CryIf_Key… cryif->csm Csm_CallbackNotification crypto Crypto Driver Crypto Driver Objects cryif->crypto Weiterleitung je Kanal an Crypto Driver Object det DET cryif->det Det_ReportError, Det_ReportRuntimeError crypto->cryif CryIf_CallbackNotification hwaes HW-AES crypto->hwaes Kanal AES hwrsa HW-RSA crypto->hwrsa Kanal RSA

مخطط سياق: يربط CryIf صفوف انتظار CSM بكل قناة مع Crypto Driver Objects ويُبلغ CSM بالنتائج. المصادر: SWS CSM الشكل 7.4 ص. 27، [SWS_CryIf_91100]، [SWS_CryIf_91013]

القنوات والتكوين والتهيئة

القناة هي المسار الممتد من صف انتظار CSM عبر CryIf إلى Crypto Driver Object. ويتم تخصيص كل صف انتظار لـ CSM لقناة واحدة بالضبط؛ واختياريًا يمتلك Crypto Driver أيضًا صف انتظار خاصًا به SWS CSM ص. 26. ويتم تكوين القنوات في الحاوية CryIfChannel، بتعددية 0..* وتكوين ما قبل التجميع (Pre-compile) في جميع المتغيرات. وتحتوي الحاوية على المعاملين CryIfChannelId وCryIfDriverObjectRef SWS CryIf ص. 51. يحدد CryIfChannelId القناة التي يتصل بها صف انتظار CSM. وفي وقت التشغيل، يشير المعامل channelId لـ [SWS_CryIf_91003] و[SWS_CryIf_91014] بالمثل إلى قناة التشفير. تفسير: يُرجح أن CryIfDriverObjectRef يربط القناة بـ Crypto Driver Object الذي ينفذ طلبات هذه القناة. سؤال Q-5f8f778dc8552b7f (مفتوح)

قبل كل استخدام، يجب استدعاء CryIf_Init [SWS_CryIf_91000]. هذه الدالة متزامنة وغير قابلة لإعادة الدخول (non-reentrant). وتتلقى مؤشرًا إلى التكوين المختار من النوع CryIf_ConfigType، والذي يعد محتواه خاصًا بالتنفيذ [SWS_CryIf_91118] SWS CryIf ص. 20. وبالنسبة للتهيئة الفاشلة، تنص قائمة الأخطاء على CRYIF_E_INIT_FAILED (0x01) [SWS_CryIf_00009]. CryIf_GetVersionInfo قابلة لإعادة الدخول وتوفر معلومات إصدار الوحدة [SWS_CryIf_91001].

إلى جانب القنوات، يدير CryIf معرفات مفاتيح خاصة به (cryIfKeyId). ويقوم بربطها بمعرفات المفاتيح الخاصة بالمشغل المسؤول [SWS_CryIf_00133]. وإذا استخدمت وظيفةٌ إعادةَ توجيه معالجة الوظائف (job processing redirection)، فإن CryIf يقوم بالإضافة إلى ذلك بمواءمة مراجع المفاتيح وعناصر المفاتيح الواردة مع تلك الخاصة بالمشغل [SWS_CryIf_00136]. يتكون المفتاح من عنصر مفتاح واحد أو أكثر، مثل مادة المفتاح أو متجه التهيئة أو بذرة التوليد (Seed) SWS CSM ص. 30.

معالجة الوظائف من CryIf_ProcessJob حتى الإشعار المرتجع

يعمل كل من الاستدعاء الفردي والتدفق عبر الدالة نفسها CryIf_ProcessJob. يحتوي الحقل job->jobPrimitiveInputOutput.mode على أوضاع التشغيل «START» و«UPDATE» و«FINISH»، والتي يمكن دمجها معًا. وتتوافق خدمة كاملة في استدعاء فردي واحد مع دمج الأوضاع الثلاثة جميعها SWS CryIf ص. 22. الدالة قابلة لإعادة الدخول وتعمل بشكل متزامن أو غير متزامن اعتمادًا على التكوين [SWS_CryIf_91003]. ينفذ Crypto Driver انتقالات حالات الوظيفة، وليس CSM SWS CSM ص. 22.

في الحالة غير المتزامنة، يمرر المشغل المعلومات الضرورية فقط إلى العنصر الأولي (Primitive). ويمكن بعد ذلك إطلاق الحساب من الدالة الرئيسية (Main). وبعد الاكتمال، يبلغ المشغل CryIf بالوظيفة والنتيجة عبر CryIf_CallbackNotification SWS Crypto ص. 27. هذه الدالة متزامنة وغير قابلة لإعادة الدخول؛ وتحتوي الوظيفة الممررة على معرف رد نداء (Callback-ID) يحدد هويتها [SWS_CryIf_91013]. ويبلغ CryIf بعد ذلك CSM بالاكتمال عبر Csm_CallbackNotification؛ وهذه الدالة مخصصة صراحةً للطبقة الأدنى CRYIF [SWS_CryIf_91100]. وإذا تم تعيين بت FINISH، يستدعي CSM رد النداء المكوَّن SWS CSM ص. 82.

معالجة المهمة عبر CryIf_ProcessJobCSMCryIfCrypto Driver ObjectDETCryIf_ProcessJob(channelId, job)فحص معرّفات المفاتيحوتعيينها إلى معرّفات المشغّلoptمعرّف المفتاح خارج النطاقCRYPTO_E_PARAM_HANDLE meldenE_NOT_OKCrypto_ProcessJob(…, job)altsynchron konfiguriertBerechnungErgebnis (E_OK / CRYPTO_E_…)تمرير القيمة المعادةasynchron konfiguriertالقيمة المعادة لعملية التسليمتمرير القيمة المعادةBerechnung,على سبيل المثال من دالة MainFunctionCryIf_CallbackNotification(job, result)Csm_CallbackNotification(job, result)

مخطط تتابع: يتحقق CryIf أولاً من معرفات المفاتيح ثم يمرر الوظيفة. وتعود النتيجة إما بشكل متزامن كقيمة إرجاع أو بشكل غير متزامن عبر مرحلتين من ردود النداء. المصادر: [SWS_CryIf_91003]، [SWS_CryIf_00134]، [SWS_CryIf_91013]، [SWS_CryIf_91100]، SWS Crypto ص. 27

يمكن إلغاء الوظائف غير المتزامنة ووظائف التدفق الجارية. وللقيام بذلك، يزيل CSM الوظيفة من قائمة الانتظار (Queue) الخاصة به أو يستدعي CryIf_CancelJob SWS CSM ص. 80. CryIf_CancelJob متزامنة وقابلة لإعادة الدخول وتمرر الإلغاء إلى Crypto Driver Object المكوَّن. E_OK تعني أنه تمت إزالة الوظيفة؛ وE_NOT_OK تعني أن ذلك لم يكن ممكنًا [SWS_CryIf_91014] SWS CryIf ص. 24. تذكر مواضع التوثيق في الإصدارات اللاحقة (R24-11/R25-11) بالإضافة إلى ذلك CRYPTO_E_JOB_CANCELED. وفي هذه الحالة، لا يتم الإلغاء إلا عند خطوة المعالجة المناسبة التالية ويتم الإبلاغ عنه عبر رد نداء اكتمال سلبي SWS CSM ص. 80.

إلغاء مهمةالتطبيقCSMCryIfCrypto Driver ObjectCsm_CancelJob(job, mode)altالمهمة لا تزال في قائمة انتظار CSMإزالة المهمة من قائمة الانتظار الخاصةالمهمة موجودة بالفعل لدى المشغّلCryIf_CancelJob(channelId, job)Abbruch weiterleiten(Crypto_CancelJob)E_OK / E_NOT_OK(لاحقًا أيضًا CRYPTO_E_JOB_CANCELED)القيمة المُرجعةE_OK: يستدعي CSM رد نداء اكتمال المهمةCRYPTO_E_JOB_CANCELED: الإلغاء عند التاليgeeigneten Schritt, negativer Abschluss-Callbackالقيمة المُرجعة

مخطط تتابع: ينتهي الإلغاء إما بالفعل في قائمة انتظار CSM أو يتم تمريره عبر CryIf إلى Crypto Driver Object. المصادر: [SWS_CryIf_91014]، SWS CSM ص. 80، SWS CryIf ص. 45

ربط معرفات المفاتيح في الوظيفة والتحقق منها

تحمل بعض الوظائف خدمة من خدمات إدارة المفاتيح: CRYPTO_KEYSETVALID أو CRYPTO_KEYSETINVALID أو CRYPTO_RANDOMSEED أو CRYPTO_KEYGENERATE أو CRYPTO_KEYDERIVE أو CRYPTO_KEYEXCHANGECALCPUBVAL أو CRYPTO_KEYEXCHANGECALCSECRET. ومن أجلها، يتحقق CryIf مما إذا كان job->jobPrimitiveInputOutput->cryIfKeyId وtargetCryIfKeyId إن وجد يقعان في النطاق الصالح. وإذا كان الأمر كذلك، فإنه يضبط job->cryptoKeyId أو job->targetCryptoKeyId على معرفات مفاتيح المشغل [SWS_CryIf_00133] [SWS_CryIf_00141]. وإذا كان المعرف المصدر خارج النطاق، يبلغ CryIf_ProcessJob CRYPTO_E_PARAM_HANDLE إلى DET ويعيد E_NOT_OK [SWS_CryIf_00134]. وبالنسبة إلى CRYPTO_KEYDERIVE، ينطبق الأمر نفسه أيضًا على المعرف الهدف [SWS_CryIf_00135].

يتم أيضًا فحص العناصر الأولية المرتبطة بمفاتيح. ففي CRYPTO_MACGENERATE وCRYPTO_MACVERIFY وCRYPTO_ENCRYPT وCRYPTO_DECRYPT وCRYPTO_AEADENCRYPT وCRYPTO_AEADDECRYPT وCRYPTO_RANDOMGENERATE وCRYPTO_SIGNATUREGENERATE وCRYPTO_SIGNATUREVERIFY، يتم التحقق من job->jobPrimitiveInfo->cryIfKeyId لمعرفة ما إذا كان يقع في النطاق الصالح [SWS_CryIf_00143].

keyid start CryIf_ProcessJob(channelId, job) d1 خدمة إدارة المفاتيح؟ KEYSETVALID، KEYSETINVALID، RANDOMSEED، KEYGENERATE، KEYDERIVE، KEYEXCHANGECALCPUBVAL، KEYEXCHANGECALCSECRET start->d1 c1 هل jobPrimitiveInputOutput->cryIfKeyId في النطاق الصالح؟ d1->c1 نعم d3 دالة أولية بمفتاح؟ MACGENERATE/-VERIFY، (AEAD)ENCRYPT/DECRYPT، RANDOMGENERATE، SIGNATUREGENERATE/-VERIFY d1->d3 لا d2 Dienst = CRYPTO_KEYDERIVE? c1->d2 نعم err CRYPTO_E_PARAM_HANDLE إلى DET إرجاع E_NOT_OK c1->err لا c2 هل targetCryIfKeyId في النطاق الصالح؟ d2->c2 نعم map تعيين job->cryptoKeyId (وعند الاقتضاء job->targetCryptoKeyId) على معرّفات مفاتيح المشغّل d2->map لا c2->map نعم c2->err لا fwd إعادة التوجيه إلى Crypto Driver Object الخاص بالقناة map->fwd c3 هل jobPrimitiveInfo->cryIfKeyId في النطاق الصالح؟ d3->c3 نعم d3->fwd لا c3->err لا c3->fwd نعم

مخطط نشاط: يتحقق CryIf من معرفات المفاتيح وفقًا لنوع الخدمة ويربطها بمعرفات المشغل قبل تمرير الوظيفة. المصادر: [SWS_CryIf_00133]، [SWS_CryIf_00134]، [SWS_CryIf_00135]، [SWS_CryIf_00143]

تغير هذا النطاق بين الإصدارات. يذكر R20-11 في عمليات التحقق CRYPTO_E_PARAM_HANDLE، بينما تحدد قائمة أخطاء الوحدة بالمقابل CRYIF_E_PARAM_HANDLE (0x03) [SWS_CryIf_00009]. ووفقًا لسجل التغييرات، لم يتم توحيد ذلك ليصبح CRYIF_E_PARAM_HANDLE إلا في R22-11 SWS CryIf ص. 1. ومع التغيير نفسه، أُلغيت قيم الإرجاع بعد إخطارات DET. وعلاوة على ذلك، أضيفت الخدمة CRYPTO_CUSTOM، والمدرجة بالفعل في القائمة في موضع التوثيق اللاحق SWS CryIf ص. 23. وبالنسبة لـ R20-11، تسري المتطلبات بالصيغة المقتبسة هنا.

إدارة المفاتيح: المادة، والحالة، والتوليد، والتبادل

واجهات برمجة التطبيقات (APIs) المباشرة للمفاتيح متزامنة. أما غير القابلة لإعادة الدخول فهي CryIf_KeyElementSet [SWS_CryIf_91004] وCryIf_KeySetValid [SWS_CryIf_91005] وCryIf_KeySetInvalid [SWS_CryIf_91021] وCryIf_KeyGetStatus [SWS_CryIf_91012]. وقد أضيفت وظيفة حالة المفتاح وفقًا لسجل التغييرات مع R20-11 SWS CryIf ص. 1. وإذا فشل تعيين عنصر ما، تُعتبر حالته مجهولة وفقًا لمواصفات CSM SWS CSM ص. 62. ويمكن التحقق منها باستخدام Csm_KeyGetStatus، والتي تستدعي بدورها CryIf_KeyGetStatus SWS CSM ص. 63.

CryIf_KeyElementGet قابلة لإعادة الدخول [SWS_CryIf_91006]. وتُستخدم المعلمة resultLengthPtr كمدخل ومخرج. فعند الاستدعاء، تحتوي على حجم الذاكرة المؤقتة؛ وفي العناصر ذات الوصول الجزئي، تحتوي بدلاً من ذلك على المقدار المطلوب قراءته. وبعد الاكتمال، تحتوي على مقدار البيانات المخزنة فعليًا SWS CryIf ص. 30.

schluesselstatus start Start gesetzt تم تعيين العناصر (لم يتم الإعلان عن صلاحيتها بعد، استنتاج) start->gesetzt CryIf_KeyElementSet valid صالح (valid) gesetzt->valid CryIf_KeySetValid valid->valid Nutzung in Jobs, CryIf_KeyGetStatus invalid غير صالح (invalid) valid->invalid CryIf_KeySetInvalid invalid->valid CryIf_KeySetValid invalid->invalid Nutzung scheitert: CRYPTO_E_KEY_NOT_VALID

مخطط حالة: يُعلن المفتاح صالحًا بعد تعيين عناصره ويمكن تعيينه غير صالح مرة أخرى. وفي حالة المفتاح غير الصالح، تفشل العمليات باستخدام CRYPTO_E_KEY_NOT_VALID. الحالة الأولية قبل CryIf_KeySetValid هي تفسير (Interpretation). المصادر: [SWS_CryIf_91004]، [SWS_CryIf_91005]، [SWS_CryIf_91021]، [SWS_CryIf_91012]، SWS CSM ص. 70

لتوليد المفاتيح، توفر CryIf_RandomSeed [SWS_CryIf_91007] قيم البداية، وتولد CryIf_KeyGenerate [SWS_CryIf_91008] المفتاح. ووفقًا لمواصفات CSM، ينشأ المفتاح في العنصر CRYPTO_KE_KEYGENERATE_KEY. والأساس لذلك هو بذرة التوليد في CRYPTO_KE_KEYGENERATE_SEED والخوارزمية في CRYPTO_KE_KEYGENERATE_ALGORITHM SWS CSM ص. 67. وفي R20-11، تعمل كلتا الدالتين بشكل متزامن أو غير متزامن اعتمادًا على التكوين [SWS_CryIf_91007] [SWS_CryIf_91008]. ولم يحددهما R21-11 كدالتين متزامنتين إلا لاحقًا SWS CryIf ص. 1. CryIf_KeyDerive متزامنة وقابلة لإعادة الدخول، وتشتق من مفتاح مصدر مفتاحًا يتم تخزينه في المفتاح الهدف [SWS_CryIf_91009] SWS CryIf ص. 42.

توجد دالتان لتبادل مفاتيح Diffie-Hellman. تحسب CryIf_KeyExchangeCalcPubVal [SWS_CryIf_91010] القيمة العامة الخاصة. بينما تحسب CryIf_KeyExchangeCalcSecret [SWS_CryIf_91011] السر المشترك من قيمة الشريك. توجد مادة المفتاح في العناصر CRYPTO_KE_KEYEXCHANGE_BASE وCRYPTO_KE_KEYEXCHANGE_PRIVKEY وCRYPTO_KE_KEYEXCHANGE_OWNPUBKEY SWS CSM ص. 70. ويخزن المشغل السر كعنصر في المفتاح نفسه SWS Crypto ص. 84. تفسير (Interpretation): من المرجح أن CryIf يقوم أيضًا في واجهات برمجة التطبيقات المباشرة للمفاتيح بربط cryIfKeyId بمعرف المفتاح الخاص بالمشغل تمامًا كما في مسار الوظيفة [SWS_CryIf_00133]. سؤال Q-f146ad33e972fa97 (مفتوح)

تبادل المفاتيح عبر CryIfAnwendung / CSMCryIfCrypto Driver ObjectKommunikationspartnerUse Case: حساب القيمة العامة الخاصةCryIf_KeyExchangeCalcPubVal(cryIfKeyId,publicValuePtr, publicValueLengthPtr)an konfiguriertes Crypto Driver Object weiterleitenالقيمة العامة، القيمة المعادةالقيمة العامة، القيمة المعادةUse Case: التبادل خارج CryIfإرسال القيمة العامة الخاصةإرسال القيمة العامة للشريكUse Case: Gemeinsames Geheimnis berechnenCryIf_KeyExchangeCalcSecret(cryIfKeyId,partnerPublicValuePtr, partnerPublicValueLength)Crypto_KeyExchangeCalcSecret(…)السر كعنصر مفتاحالتخزين في نفس المفتاحالقيمة المُرجعةالقيمة المُرجعة

مخطط تتابع: يتم تبادل المفاتيح في استدعاءين لـ CryIf. وفيما بينهما، يتبادل التطبيق القيم العامة مع الشريك خارج CryIf. المصادر: [SWS_CryIf_91010]، [SWS_CryIf_91011]، SWS CSM ص. 70، SWS Crypto ص. 84

نسخ المفاتيح داخل مشغلات Crypto Drivers وفيما بينها

بالنسبة لعمليات النسخ، تتوفر CryIf_KeyElementCopy [SWS_CryIf_91015] وCryIf_KeyCopy [SWS_CryIf_91016] وCryIf_KeyElementCopyPartial [SWS_CryIf_91018]. وجميعها الثلاث متزامنة وقابلة لإعادة الدخول، ولكن ليس لنفس cryIfKeyId. بالإضافة إلى E_OK وE_NOT_OK، يمكنها من بين أمور أخرى إرجاع CRYPTO_E_KEY_READ_FAIL وCRYPTO_E_KEY_WRITE_FAIL وCRYPTO_E_KEY_SIZE_MISMATCH وCRYPTO_E_KEY_EMPTY SWS CryIf ص. 35.

عند النسخ الجزئي، تميز المواصفات بين حالتين:

  • المفتاح المصدر والمفتاح الهدف يقعان في Crypto Driver نفسه: يستدعي CryIf الدالة Crypto_<vi>_<ai>_KeyElementCopyPartial() الخاصة بالمشغل المعين ويمرر قيمة الإرجاع الخاصة به [SWS_CryIf_00139].
  • المفاتيح تقع في مشغلات مختلفة: يقرأ CryIf العنصر باستخدام Crypto_<vi>_<ai>_KeyElementGet()، وينسخ البيانات الجزئية إلى وجهتها، ويكتب العنصر الهدف باستخدام Crypto_<vi>_<ai>_KeyElementSet() [SWS_CryIf_00140].

تعد دوال النسخ في المشغلات واجهات اختيارية. وإذا كان أحد العناصر موجودًا مباشرة في ذاكرة Flash، فقد يستغرق الاستدعاء وقتًا أطول بكثير SWS CryIf ص. 45.

copypartial start CryIf_KeyElementCopyPartial(…) fehler Fehler durch CryIf erkannt? start->fehler abbruch عدم إعادة التوجيه (انظر السلوك في حالة الخطأ) fehler->abbruch نعم gleich هل cryIfKeyId وtargetCryIfKeyId في نفس Crypto Driver؟ fehler->gleich لا ende Ende abbruch->ende partial استدعاء Crypto_<vi>_<ai>_KeyElementCopyPartial() وتمرير القيمة المعادة gleich->partial نعم lesen قراءة عنصر المصدر باستخدام Crypto_<vi>_<ai>_KeyElementGet() gleich->lesen لا partial->ende kopieren Teildaten an Zielposition kopieren lesen->kopieren schreiben كتابة عنصر الهدف باستخدام Crypto_<vi>_<ai>_KeyElementSet() kopieren->schreiben schreiben->ende

مخطط نشاط: ما إذا كان CryIf يفوض مباشرة إلى المشغل أو ينسخ بنفسه عبر القراءة والكتابة، يعتمد على ما إذا كانت المفاتيح تقع في المشغل نفسه. المصادر: [SWS_CryIf_00139]، [SWS_CryIf_00140]

التصرف في حالة الخطأ

يبلغ CryIf عن أخطاء التطوير إلى DET. تشمل قائمة أخطاء الوحدة [SWS_CryIf_00009]:

رمز الخطأالقيمةالسبب
CRYIF_E_UNINIT0x00استدعاء واجهة برمجة التطبيقات (API) قبل التهيئة
CRYIF_E_INIT_FAILED0x01فشلت التهيئة
CRYIF_E_PARAM_POINTER0x02مؤشر خالي (Null Pointer) كمعلمة
CRYIF_E_PARAM_HANDLE0x03معلمة خارج النطاق
CRYIF_E_PARAM_VALUE0x04قيمة معلمة غير صالحة
CRYIF_E_KEY_SIZE_MISMATCH0x05حجم عنصري المصدر والهدف غير متطابق

تم توثيق الإبلاغ عن CRYIF_E_UNINIT قبل التهيئة لعدة دوال: CryIf_KeyDerive SWS CryIf ص. 42، وCryIf_RandomSeed SWS CryIf ص. 37، وCryIf_CancelJob SWS CryIf ص. 24، وCryIf_KeyGetStatus SWS CryIf ص. 29، وCryIf_CallbackNotification SWS CryIf ص. 44. وبالنسبة للخدمات المتبقية، يُفترض على الأرجح انطباق الشيء نفسه. كما تم إثبات فحوصات أخرى أيضًا؛ حيث يبلغ CryIf_CancelJob عن CRYIF_E_PARAM_HANDLE في حالة channelId غير مسموح بها، وعن CryIf_KeyGetStatus في حالة cryIfKeyId غير مسموح بها. ويتحقق CryIf_CallbackNotification من مؤشره ويبلغ عن CRYIF_E_PARAM_POINTER إذا لزم الأمر SWS CryIf ص. 44. سؤال (مفتوح)

تأتي أخطاء وقت التشغيل كقيم إرجاع من المشغل. ويمررها CryIf كما يحدد ذلك [SWS_CryIf_00139] على سبيل المثال للنسخ الجزئي. ويمرر CSM بدوره قيمة الإرجاع الخاصة بـ CryIf_ProcessJob SWS CSM ص. 22. ويشمل نطاق القيم من بين أمور أخرى [SWS_CryIf_91020]:

  • CRYPTO_E_BUSY (0x02): الخدمة لا تزال مشغولة
  • CRYPTO_E_ENTROPY_EXHAUSTED (0x04)
  • CRYPTO_E_KEY_READ_FAIL (0x06)
  • CRYPTO_E_KEY_WRITE_FAIL (0x07)
  • CRYPTO_E_KEY_NOT_AVAILABLE (0x08)
  • CRYPTO_E_KEY_NOT_VALID (0x09)

إذا كانت قائمة انتظار CSM ممتلئة، يرفض CSM الطلب بالفعل باستخدام CRYPTO_E_BUSY SWS CSM ص. 22.

بالنسبة لقيم الإرجاع، يجدر إلقاء نظرة على سجل الإصدارات. تمت إزالة CRYPTO_E_QUEUE_FULL من [SWS_CryIf_91003] فقط مع الإصدار R23-11. وأُضيف CRYPTO_E_KEY_EMPTY لـ CryIf_RandomSeed فقط في R24-11 SWS CryIf ص. 1. لذلك، بالنسبة للإصدار R20-11، فإن متطلبات API الخاصة بهذا الإصدار هي المرجع الحاسم، وليست مواضع المستندات المؤرخة لاحقًا.

أدلة تفصيلية إضافية

دليل تم إنشاؤه بواسطة الذكاء الاصطناعي بناءً على متطلبات R20-11 ومواضع التوثيق المرتبطة بها، والتي يعود بعضها إلى إصدارات لاحقة. المرجع المعتمد هو مواصفات AUTOSAR.

Crypto Interface (CryIf)

Abstracts cryptographic hardware and software acceleration engines.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

دالة CryIf_Init [SWS_CryIf_91000] 📄 PDF

void CryIf_Init (const CryIf_ConfigType* configPtr);

Initializes the CRYIF module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoInterface

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 2b39ab06c8cb المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُستخدم الدالة المتزامنة CryIf_Init للتهيئة الكاملة لوحدة Crypto Interface (CryIf) وفقًا لـ AUTOSAR Classic Platform [SWS_CryIf_91000]. تم الإعلان عن الدالة في ملف الرأس CryIf.h وتملك معرف الخدمة Service-ID 0x00 [SWS_CryIf_91000]. كمعلمة إدخال وحيدة، تتوقع الواجهة configPtr، وهو مؤشر إلى بنية تكوين محددة من النوع CryIf_ConfigType [SWS_CryIf_91000]. لا ترجع الدالة أي قيمة إرجاع (void) ولا تملك معلمات Inout أو Out [SWS_CryIf_91000].

الدلالات والتزامن

يتم تنفيذ استدعاء CryIf_Init بشكل متزامن [SWS_CryIf_91000]. وبالتالي تُكمل الوحدة جميع أعمال التهيئة المطلوبة قبل إرجاع التنفيذ إلى المُستدعي. فيما يتعلق بالتزامن، تُصنف الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_CryIf_91000]. لذلك، لا يجوز استدعاء الروتين بالتوازي أو بشكل متداخل في أي وقت.

القيود والتكامل

Interpretation: يُرجح أن يتم استدعاء CryIf_Init عادةً بشكل مركزي أثناء بدء تشغيل النظام ضمن مرحلة تهيئة البرمجيات الأساسية، قبل السماح باستدعاء خدمات واجهة التشفير اللاحقة. سؤال Q-31b82ca9b144c843 (مفتوح) نظرًا لأن الحمولة لا تذكر أي معالجة أخطاء محددة أو رسائل DET أو أحداث DEM، يجب على المُستدعي التأكد مسبقًا من وجود مؤشر صالح إلى التكوين. لا يتم تعريف المتطلبات ذات الصلة في الحمولة.

تم إنشاء ملاحظة الاستخدام هذه آليًا وتستند حصريًا إلى بيانات المواصفات الخاصة بـ SWS_CryIf_91000.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة CryIf_ProcessJob [SWS_CryIf_91003] 📄 PDF

Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);

Service CryIf_ProcessJob.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 7b2b73dd3704 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُمرر الدالة CryIf_ProcessJob (معرّف الخدمة 0x03) المتوفرة عبر ملف الرأس CryIf.h أوامر معالجة التشفير إلى كائن برنامج تشغيل التشفير المكوّن [SWS_CryIf_91003]. وتستقبل كمعلمات مُعرّف قناة التشفير (channelId) ومؤشرًا إلى تكوين الأمر (job) [SWS_CryIf_91003]. ويحتوي الهيكل job على جميع المعلومات ذات الصلة بالمستخدم وكذلك بالبنية المشفرة الأساسية المحددة [SWS_CryIf_91003]. وتتم معالجة الأوامر بشكل متزامن أو غير متزامن وفقًا للتكوين؛ بالإضافة إلى ذلك، تم تنفيذ الواجهة لتكون قابلة لإعادة الدخول [SWS_CryIf_91003].

عند الاستلام الخالي من الأخطاء، تُرجع الدالة E_OK [SWS_CryIf_91003]. وإذا فشل الطلب، تشير قيمة الإرجاع إما إلى E_NOT_OK أو إلى حالة خطأ محددة لبرنامج التشغيل: CRYPTO_E_BUSY (كائن برنامج التشغيل مشغول)، CRYPTO_E_QUEUE_FULL (قائمة الانتظار ممتلئة)، أو أخطاء تتعلق بحالات المفاتيح مثل CRYPTO_E_KEY_NOT_VALID أو CRYPTO_E_KEY_SIZE_MISMATCH أو CRYPTO_E_KEY_NOT_AVAILABLE أو CRYPTO_E_KEY_EMPTY أو CRYPTO_E_KEY_READ_FAIL أو CRYPTO_E_KEY_WRITE_FAIL، بالإضافة إلى CRYPTO_E_JOB_CANCELED عند إلغاء أمر متزامن وCRYPTO_E_ENTROPY_EXHAUSTED [SWS_CryIf_91003].

علاوة على ذلك، تُجري الواجهة عمليات فحص مسبق لمُعرّفات المفاتيح:

  • إذا تم ضبط job->jobPrimitiveInfo->primitiveInfo->service على CRYPTO_KEYSETVALID أو CRYPTO_KEYSETINVALID أو CRYPTO_RANDOMSEED أو CRYPTO_KEYGENERATE أو CRYPTO_KEYDERIVE أو CRYPTO_KEYEXCHANGECALCPUBVAL أو CRYPTO_KEYEXCHANGECALCSECRET، يجب أن يقع job->cryIfKeyId ضمن نطاق القيم الصالحة [SWS_CryIf_00134]. وإلا تُبلغ الدالة الخطأ CRYPTO_E_PARAM_HANDLE إلى DET وتتوقف مع E_NOT_OK [SWS_CryIf_00134].
  • إذا طُلبت الخدمة CRYPTO_KEYDERIVE، فيجب بالإضافة إلى ذلك أن يقع مُعرّف المفتاح الهدف job->cryIfTargetKeyId ضمن النطاق الصالح؛ وإلا يتم إبلاغ CRYPTO_E_PARAM_HANDLE إلى DET بالمثل ويتم إرجاع E_NOT_OK [SWS_CryIf_00135].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند إلى مواصفات AUTOSAR CP R20-11.

دالة CryIf_CancelJob [SWS_CryIf_91014] 📄 PDF

Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);

This interface dispatches the job cancellation function to the configured crypto driver object.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: feb9ccdcc6c2 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة CryIf_CancelJob لإعادة توجيه طلب إلغاء لمهمة تشفير إلى كائن برنامج تشغيل التشفير المهيأ [SWS_CryIf_91014]. وتوفر الواجهة المعيارية لـ Crypto Interface، وهي مصرح عنها عبر ملف الترويسة CryIf.h ولها رمز الخدمة المعرّف (Service-ID) 0x0e [SWS_CryIf_91014].

لإجراء الاستدعاء، يجب تمرير معرّف القناة الهدف وتهيئة المهمة [SWS_CryIf_91014]:

  • channelId (إدخال، uint32): يحمل معرّف قناة التشفير المعنية [SWS_CryIf_91014].
  • job (إدخال/إخراج، Crypto_JobType*): مؤشر إلى تهيئة المهمة، والتي تتضمن بنيات ذات معلومات متعلقة بالمستخدم وبالدوال الأولية (Primitives) [SWS_CryIf_91014].

يتم التنفيذ بشكل متزامن ويعيد حالة من النوع Std_ReturnType إلى الجهة المستدعية [SWS_CryIf_91014]:

  • E_OK: كان الطلب ناجحاً وتمت إزالة المهمة من برنامج التشغيل [SWS_CryIf_91014].
  • E_NOT_OK: فشل الطلب، نظراً لتعذر إزالة المهمة [SWS_CryIf_91014].
  • CRYPTO_E_JOB_CANCELED: قيمة معادة تشفيرية محددة لتأكيد إلغاء المهمة [SWS_CryIf_91014].

فيما يتعلق بسلوك التزامن، حُددت CryIf_CancelJob بأنها قابلة لإعادة الدخول [SWS_CryIf_91014]. ويتيح ذلك استدعاءات متوازية لإلغاء المهام، حيث يتم تفويض المعالجة بشكل مانع (Blocking) إلى كائن برنامج التشغيل الأساسي [SWS_CryIf_91014].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دالة CryIf_KeyElementSet [SWS_CryIf_91004] 📄 PDF

Std_ReturnType CryIf_KeyElementSet (uint32 cryIfKeyId, uint32 keyElementId, const uint8* keyPtr, uint32 keyLength);

This function shall dispatch the set key element function to the configured crypto driver object.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: b1d8a6a46a48 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تقوم الدالة المتزامنة CryIf_KeyElementSet (Service-ID 0x04) بإعادة توجيه طلب تعيين عنصر مفتاح إلى كائن مشغل التشفير المكوّن [SWS_CryIf_91004]. يتم توفير إعلان الدالة عبر ملف الرأس CryIf.h [SWS_CryIf_91004].

يتم الاستدعاء عبر أربع معلمات إدخال [SWS_CryIf_91004]:

  • cryIfKeyId: يُحدد معرّف المفتاح الذي يراد تحديث عنصر المفتاح الخاص به.
  • keyElementId: يُحدد معرّف عنصر المفتاح المحدد الذي يراد تعيينه.
  • keyPtr: مؤشر إلى المخزن المؤقت المحتوي على بيانات المفتاح التي يجب اعتمادها كعنصر.
  • keyLength: يُحدد طول عنصر المفتاح المراد تعيينه بالبايت.

تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_CryIf_91004]. لذلك، يجب على المُستدعين التأكد من عدم إجراء استدعاءات متزامنة غير منسقة.

تشير قيمة الإرجاع من النوع Std_ReturnType إلى نتيجة إعادة التوجيه أو التنفيذ [SWS_CryIf_91004]:

  • E_OK: كان الطلب ناجحًا.
  • E_NOT_OK: فشل الطلب.
  • CRYPTO_E_BUSY: كائن مشغل التشفير المعين مشغول حاليًا.
  • CRYPTO_E_KEY_WRITE_FAIL: تم رفض وصول الكتابة إلى عنصر المفتاح.
  • CRYPTO_E_KEY_NOT_AVAILABLE: المفتاح المطلوب غير متاح.
  • CRYPTO_E_KEY_SIZE_MISMATCH: حجم عنصر المفتاح لا يتطابق مع طول البيانات المقدمة.

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة CryIf_KeySetValid [SWS_CryIf_91005] 📄 PDF

Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);

This function shall dispatch the set key valid function to the configured crypto driver object.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: f4147bfa82e2 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

يتم توفير الواجهة المتزامنة CryIf_KeySetValid (Service-ID 0x05) عبر ملف الرأس CryIf.h وتقوم بإعادة توجيه طلب التحقق من صحة المفتاح إلى كائن مشغل التشفير المكوّن المعني [SWS_CryIf_91005]. يتم تمرير المعرّف cryIfKeyId كمعلمة وحيدة، والتي تحدد المفتاح الهدف الذي يجب تمييز عناصر المفتاح الخاصة به على أنها صالحة [SWS_CryIf_91005]. لا توجد معلمات إدخال/إخراج أو إخراج إضافية لهذه الدالة [SWS_CryIf_91005].

قيم الإرجاع ومعالجة الأخطاء

تُبلغ قيمة الإرجاع من النوع Std_ReturnType المُستدعي بنتيجة إعادة التوجيه والمعالجة في المشغل [SWS_CryIf_91005]:

  • E_OK: تمت إعادة توجيه العملية بنجاح إلى كائن مشغل التشفير واكتملت بنجاح [SWS_CryIf_91005].
  • E_NOT_OK: فشلت إعادة التوجيه أو تنفيذ الطلب [SWS_CryIf_91005].
  • CRYPTO_E_BUSY: تعذر تنفيذ الطلب لأن كائن مشغل التشفير المسؤول مشغول حاليًا [SWS_CryIf_91005].

التزامن والقيود

تم تحديد الدالة صراحةً في المواصفات على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_CryIf_91005]. لذلك، يجب على الكيانات المستدعية التأكد من عدم تنفيذ استدعاءات CryIf_KeySetValid بشكل متزامن أو مقاطِع أبدًا، وذلك لمنع التعارضات عند إعادة التوجيه إلى كائن المشغل بشكل موثوق.

تم توليد ملاحظة الاستخدام هذه تلقائياً بناءً على المواصفة.

دالة CryIf_KeySetInvalid [SWS_CryIf_91021] 📄 PDF

Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);

Sets invalid for the status of the key identifi ed by cry If Key Id.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: de4f767c5cce المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُعيّن الواجهة المتزامنة CryIf_KeySetInvalid (معرّف الخدمة 0x14) حالة المفتاح المُحدَّد عبر المعلمة cryIfKeyId إلى غير صالح [SWS_CryIf_91021]. يُوفَّر تصريح الدالة عبر ملف الرأس CryIf.h [SWS_CryIf_91021].

تنطبق المعلمات وقيم الإرجاع التالية على استخدام الدالة [SWS_CryIf_91021]:

  • معلمات التمرير: يُمرَّر عبر معلمة الإدخال cryIfKeyId من النوع uint32 معرّف المفتاح المراد إبطال صلاحيته. لا توجد معلمات إدخال/إخراج.
  • القيمة المعادة (Std_ReturnType):
    • E_OK: نجح طلب تغيير الحالة.
    • E_NOT_OK: فشل الطلب.
    • CRYPTO_E_BUSY: فشل التنفيذ لأن كائن Crypto Driver Object المسؤول مشغول.

فيما يتعلق بالتزامن وسياق التنفيذ، تم تحديد CryIf_KeySetInvalid على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_CryIf_91021]. لذلك، يجب على الجهات المستدعية التأكد من أن الاستدعاءات تجري بشكل تسلسلي ولا تتداخل فيما بينها. إذا ظهرت قيمة الإرجاع CRYPTO_E_BUSY، فإن كائن Crypto Driver Object يكون محجوبًا مؤقتًا [SWS_CryIf_91021]؛ ومن المرجح في هذه الحالة أن تكون الجهة المستدعية مسؤولة عن إعادة محاولة إبطال الحالة لاحقًا. سؤال Q-4377065d4d4eecab (مفتوح)

أُنشئ هذا النص بواسطة ذكاء اصطناعي ويستند حصريًا إلى بيانات مواصفات AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة CryIf_KeyGetStatus [SWS_CryIf_91012] 📄 PDF

Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);

Returns the key state of the key identified by cry If Key Id.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 5bef488620f3 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام وسياق الاستدعاء

تُستخدم الدالة CryIf_KeyGetStatus للاستعلام المتزامن عن حالة مفتاح تشفيري ضمن Crypto Interface [SWS_CryIf_91012]. وهي متوفرة عبر ملف الترويسة CryIf.h برمز الخدمة المعرّف (Service-ID) 0x13 [SWS_CryIf_91012]. وعند الاستدعاء، يتم تمرير المعلمات التالية:

  • cryIfKeyId (إدخال): المعرّف الفريد للمفتاح المراد تحديد حالته [SWS_CryIf_91012].
  • keyStatusPtr (إخراج): مؤشر إلى متغير من النوع Crypto_KeyStatusType، تُكتب فيه حالة المفتاح [SWS_CryIf_91012].

معالجة الأخطاء وقيم الإرجاع

تشير القيمة المعادة من النوع Std_ReturnType إلى نتيجة التنفيذ [SWS_CryIf_91012]:

  • E_OK: نجح الاستعلام عن الحالة وتم تخزين الحالة في الذاكرة الوجهة [SWS_CryIf_91012].
  • E_NOT_OK: فشل الطلب [SWS_CryIf_91012].

لم تُحدد رموز أخطاء معينة، أو رسائل DET، أو أحداث DEM في مواصفة العنصر؛ وتعتمد معالجة الأخطاء من جانب الجهة المستدعية بشكل أساسي على تقييم القيمة المعادة.

التزامن والقيود

تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_CryIf_91012]. لذلك، يجب على الجهات المستدعية التأكد من عدم إجراء استدعاءات متزامنة أو مقاطعة لمثيل المفتاح نفسه أو لمثيلات مفاتيح مختلفة. بالإضافة إلى ذلك، يُفترض أن توفر الجهة المستدعية نطاق ذاكرة صالح لمؤشر الإخراج keyStatusPtr، نظراً لأن الدالة تكتب فيه مباشرةً. سؤال Q-da3a034d4f2e9442 (مفتوح)

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة CryIf_KeyElementGet [SWS_CryIf_91006] 📄 PDF

Std_ReturnType CryIf_KeyElementGet (uint32 cryIfKeyId, uint32 keyElementId, uint8* resultPtr, uint32* resultLengthPtr);

This function shall dispatch the get key ele ment function to the configured crypto driver object.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ab8ed66ea380 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تقوم الدالة المتزامنة CryIf_KeyElementGet بإعادة توجيه الاستعلام عن عنصر مفتاح إلى Crypto Driver Object المكوّن [SWS_CryIf_91006]. تم الإعلان عنها عبر ملف الرأس CryIf.h وحُددت بأنها قابلة لإعادة الدخول [SWS_CryIf_91006].

الاستخدام والمعلمات

عند الاستدعاء، يحدد cryIfKeyId المفتاح المعني، ويحدد keyElementId عنصر المفتاح المراد استرداده [SWS_CryIf_91006]. يتم تخزين بيانات الحمولة في المخزن المؤقت resultPtr [SWS_CryIf_91006]. يعمل المؤشر resultLengthPtr كمعلمة إدخال وإخراج مشتركة للتحكم في الطول [SWS_CryIf_91006]:

  • قبل التنفيذ، يمرر المُستدعي فيه حجم المخزن المؤقت المتاح الخاص بـ resultPtr [SWS_CryIf_91006].
  • إذا كان عنصر المفتاح يسمح بالوصول الجزئي، فإن القيمة تحدد بدلاً من ذلك كمية البيانات المراد استردادها، والتي لا يلزم أن تتطابق مع حجم المخزن المؤقت [SWS_CryIf_91006].
  • بعد انتهاء العملية، تخزن الدالة كمية البيانات المكتوبة فعليًا في موقع الذاكرة هذا [SWS_CryIf_91006].

معالجة الأخطاء وقيم الإرجاع

تشير قيمة الإرجاع من النوع Std_ReturnType إلى حالة النجاح أو الخطأ [SWS_CryIf_91006]:

تم توليد ملاحظة الاستخدام هذه تلقائيًا على أساس مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة CryIf_KeyElementCopy [SWS_CryIf_91015] 📄 PDF

Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);

Service CryIf_KeyElementCopy.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 98ca892724e4 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة CryIf_KeyElementCopy لنسخ عنصر مفتاح من مفتاح مصدر إلى مفتاح هدف وفقاً لـ [SWS_CryIf_91015]. تتوفر الخدمة عبر ملف الترويسة CryIf.h.

لإجراء الاستدعاء، يتم تمرير المفتاح المصدر (cryIfKeyId)، وعنصر المصدر المراد نسخه (keyElementId)، بالإضافة إلى المفتاح الهدف (targetCryIfKeyId) وعنصر الهدف (targetKeyElementId) عبر معلمات الإدخال [SWS_CryIf_91015]. صُممت الدالة لتكون قابلة لإعادة الدخول، ولكن ليس بشكل صريح للـ cryIfKeyId نفسها [SWS_CryIf_91015]. وكتفسير، قد يكون من البديهي أنه لتجنب تعارضات البيانات، ينبغي أيضاً على الجهة المستدعية مزامنة عمليات الوصول المتزامنة للكتابة على المفتاح الهدف نفسه (targetCryIfKeyId). سؤال Q-cba3554c537dd498 (مفتوح)

تشير القيمة المرجعة من النوع Std_ReturnType إلى نتيجة العملية [SWS_CryIf_91015]:

  • E_OK: تمت عملية النسخ بنجاح.
  • E_NOT_OK: فشل الطلب.
  • CRYPTO_E_BUSY: كائن برنامج تشغيل التشفير المرتبط (Crypto Driver Object) مشغول.
  • CRYPTO_E_KEY_NOT_AVAILABLE: عنصر المفتاح المطلوب غير متاح.
  • CRYPTO_E_KEY_READ_FAIL: قراءة عنصر المفتاح المصدر غير مسموح بها.
  • CRYPTO_E_KEY_WRITE_FAIL: لا يُسمح بكتابة عنصر المفتاح الهدف.
  • CRYPTO_E_KEY_SIZE_MISMATCH: أحجام عناصر المفاتيح المعنية غير متوافقة.
  • CRYPTO_E_KEY_EMPTY: عنصر المفتاح المصدر غير مهيأ.

تم إنشاء ملاحظة الاستخدام هذه آليًا استنادًا إلى AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة CryIf_KeyElementCopyPartial [SWS_CryIf_91018] 📄 PDF

Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);

Service CryIf_KeyElementCopyPartial.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 1703918a24fa المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تقوم الدالة المتزامنة CryIf_KeyElementCopyPartial، المتوفرة عبر ملف الرأس CryIf.h، بنسخ نطاقات جزئية من عنصر مفتاح إلى عنصر مفتاح آخر [SWS_CryIf_91018]. يتم تحديد المفاتيح المصدر والهدف بالإضافة إلى العناصر المعنية عبر المعلمات cryIfKeyId وkeyElementId وtargetCryIfKeyId وtargetKeyElementId [SWS_CryIf_91018]. يتم تحديد مواضع البدء داخل كلا العنصرين بواسطة keyElementSourceOffset وkeyElementTargetOffset، بينما يحدد keyElementCopyLength العدد الدقيق للبايتات المراد نقلها [SWS_CryIf_91018].

فيما يتعلق بالتزامن، تم تصميم الروتين ليكون قابلاً لإعادة الدخول، ولكن صراحةً ليس لنفس المفتاح المصدر (cryIfKeyId) [SWS_CryIf_91018]. لذلك، يجب على المُستدعي مزامنة الاستدعاءات المتوازية ذات معرّف المفتاح المصدر المتطابق أو تجنبها.

تُبلغ قيمة الإرجاع عن حالة التنفيذ التفصيلية للطلب المتزامن [SWS_CryIf_91018]:

  • E_OK: تم إجراء عملية النسخ بنجاح.
  • E_NOT_OK: فشل الطلب.
  • CRYPTO_E_BUSY: كائن Crypto Driver Object المسؤول مثقل.
  • CRYPTO_E_KEY_NOT_AVAILABLE: عنصر المفتاح المصدر أو الهدف المطلوب غير متاح.
  • CRYPTO_E_KEY_READ_FAIL: قراءة عنصر المفتاح المصدر غير مسموح بها.
  • CRYPTO_E_KEY_WRITE_FAIL: الكتابة إلى عنصر المفتاح الهدف غير مسموح بها.
  • CRYPTO_E_KEY_SIZE_MISMATCH: أحجام العناصر أو بيانات الإزاحة والطول غير متوافقة.
  • CRYPTO_E_KEY_EMPTY: عنصر المفتاح المصدر غير مهيأ.

تم توليد ملاحظة الاستخدام هذه تلقائيًا استنادًا إلى مواصفة AUTOSAR R20-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

دالة CryIf_KeyCopy [SWS_CryIf_91016] 📄 PDF

Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);

This function shall co py all key elements from the source key to a target key.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: e2c4b04b20c3 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تقوم الدالة المتزامنة CryIf_KeyCopy بنسخ جميع عناصر المفتاح من مفتاح مصدر إلى مفتاح هدف محدد ([SWS_CryIf_91016]). يتم توفيرها عبر ملف الرأس CryIf.h وتملك معرف الخدمة Service-ID 0x10 ([SWS_CryIf_91016]).

تتوقع الدالة معلمتي إدخال ([SWS_CryIf_91016]):

  • cryIfKeyId: معرّف المفتاح الذي تعمل عناصر المفتاح الخاصة به كمصدر.
  • targetCryIfKeyId: معرّف المفتاح الذي يستقبل عناصر المفتاح كهدف.

التزامن والقيود

تم تحديد الواجهة على أنها قابلة لإعادة الدخول، ولكن لا يجوز استدعاؤها في الوقت نفسه لنفس معرّف المفتاح المصدر (cryIfKeyId) ([SWS_CryIf_91016]).

معالجة الأخطاء

تشير قيمة الإرجاع من النوع Std_ReturnType إلى نتيجة العملية ([SWS_CryIf_91016]):

  • E_OK: اكتملت عملية النسخ بنجاح.
  • E_NOT_OK: فشل الطلب.
  • CRYPTO_E_BUSY: فشلت لأن كائن Crypto-Driver الأساسي مشغول.
  • CRYPTO_E_KEY_NOT_AVAILABLE: عنصر المفتاح المطلوب غير متاح.
  • CRYPTO_E_KEY_READ_FAIL: قراءة عنصر المفتاح غير مسموح بها.
  • CRYPTO_E_KEY_WRITE_FAIL: كتابة عنصر المفتاح الهدف غير مسموح بها.
  • CRYPTO_E_KEY_SIZE_MISMATCH: أحجام عناصر المفتاح غير متوافقة مع بعضها البعض.
  • CRYPTO_E_KEY_EMPTY: عنصر المفتاح المصدر غير مهيأ.

تم توليد ملاحظة الاستخدام هذه تلقائياً بناءً على المواصفة.

دالة CryIf_RandomSeed [SWS_CryIf_91007] 📄 PDF

Std_ReturnType CryIf_RandomSeed (uint32 cryIfKeyId, const uint8* seedPtr, uint32 seedLength);

This function shall dispatch the random seed function to the configured crypto driver object.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: cb0539e3124c المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة CryIf_RandomSeed لإعادة توجيه توليد أو تغذية بذرة عشوائية (Random Seed) إلى كائن مشغل التشفير المهيأ [SWS_CryIf_91007]. وهي متاحة عبر ملف الرأس CryIf.h وتمتلك معرّف الخدمة 0x07 [SWS_CryIf_91007].

تتوقع الواجهة ثلاث معلمات إدخال [SWS_CryIf_91007]:

  • cryIfKeyId: معرّف المفتاح الذي سيتم توليد بذرة جديدة له.
  • seedPtr: مؤشر إلى منطقة الذاكرة التي تحتوي على البيانات لتغذية البذرة.
  • seedLength: طول البذرة بالبايت.

سلوك التنفيذ (متزامن أو غير متزامن) غير محدد بشكل ثابت، بل يعتمد على التهيئة المعنية [SWS_CryIf_91007]. وفيما يتعلق بالتزامن، حُددت الدالة بأنها قابلة لإعادة الدخول [SWS_CryIf_91007].

كقيمة إرجاع، تُرجع الدالة Std_ReturnType بقيم الحالة التالية [SWS_CryIf_91007]:

  • E_OK: كان الطلب ناجحًا.
  • E_NOT_OK: فشل الطلب.
  • CRYPTO_E_KEY_NOT_VALID: فشل الطلب لأن حالة المفتاح للمفتاح هي "invalid".

تفسير: عند إرجاع CRYPTO_E_KEY_NOT_VALID، يُرجح أن الفحص يشير إلى المفتاح الممرر cryIfKeyId، على الرغم من أن نص المواصفة يتحدث على نحو مخالف عن cryptoKeyId [SWS_CryIf_91007]. سؤال Q-22b20256f21f131b (مفتوح)

تم توليد هذا النص بواسطة ذكاء اصطناعي ويستند إلى مواصفة AUTOSAR CP R20-11.

دالة CryIf_KeyGenerate [SWS_CryIf_91008] 📄 PDF

Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);

This function shall dispatch the key generate function to the configured crypto driver object.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: d582a843edfa المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تقوم الدالة CryIf_KeyGenerate بإعادة توجيه استدعاء الدالة لتوليد المفتاح إلى كائن Crypto-Driver المكوّن [SWS_CryIf_91008]. عبر معلمة الإدخال cryIfKeyId، يتم تمرير المعرّف الفريد للمفتاح الذي يجب تحديثه بقيمة المفتاح المولدة حديثًا [SWS_CryIf_91008]. يتم توفير إعلان هذه الواجهة عبر ملف الرأس CryIf.h [SWS_CryIf_91008].

سلوك المزامنة والتزامن

يتم التنفيذ اعتمادًا على التكوين الأساسي إما بشكل متزامن أو غير متزامن [SWS_CryIf_91008]. فيما يتعلق بسياق الاستدعاء والتزامن، تم تحديد الدالة على أنها قابلة لإعادة الدخول [SWS_CryIf_91008].

قيم الإرجاع ومعالجة الأخطاء

يُرجع الاستدعاء قيمة حالة من النوع Std_ReturnType [SWS_CryIf_91008]:

  • E_OK: تم تنفيذ طلب توليد المفتاح بنجاح [SWS_CryIf_91008].
  • E_NOT_OK: فشل الطلب [SWS_CryIf_91008].
  • CRYPTO_E_BUSY: فشل الطلب لأن كائن Crypto-Driver المعني مشغول حاليًا [SWS_CryIf_91008].
  • CRYPTO_E_KEY_EMPTY: فشل الطلب لأن عنصر المفتاح المصدر المطلوب غير مهيأ [SWS_CryIf_91008].
  • CRYPTO_E_KEY_NOT_VALID: فشل الطلب لأن حالة المفتاح المُشار إليه بواسطة معرّف المفتاح غير صالحة [SWS_CryIf_91008].

تم إنشاء إشعار الاستخدام هذا آليًا بناءً على مواصفات إطلاق AUTOSAR R20-11.

دالة CryIf_KeyDerive [SWS_CryIf_91009] 📄 PDF

Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);

This function shall dispatch th e key derive function to the configured crypto driver object.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: e0c725352dab المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُستخدم الدالة CryIf_KeyDerive لتوجيه طلب لاشتقاق المفتاح بشكل متزامن إلى كائن برنامج تشغيل التشفير المكوّن [SWS_CryIf_91009]. وقد تم الإعلان عن الواجهة عبر ملف الرأس CryIf.h برقم معرّف الخدمة 0x09 [SWS_CryIf_91009].

عند الاستدعاء، يتم تمرير مُعرّفي مفتاحين [SWS_CryIf_91009]:

  • cryIfKeyId: مُعرّف المفتاح الذي يُستخدم كأساس للاشتقاق.
  • targetCryIfKeyId: مُعرّف المفتاح الذي يتم حفظ المفتاح المشتق فيه.

معالجة الأخطاء وقيم الإرجاع

يتم إرسال نتيجة العملية عبر نوع الإرجاع Std_ReturnType [SWS_CryIf_91009]:

  • E_OK: تم تنفيذ الطلب بنجاح [SWS_CryIf_91009].
  • E_NOT_OK: فشل التنفيذ [SWS_CryIf_91009].
  • CRYPTO_E_KEY_EMPTY: عنصر المفتاح المصدر غير مهيأ [SWS_CryIf_91009].
  • CRYPTO_E_KEY_NOT_VALID: حالة المفتاح للمفتاح المشار إليه غير صالحة [SWS_CryIf_91009].
  • CRYPTO_E_BUSY: أبلغ كائن برنامج تشغيل التشفير الأساسي عن CRYPTO_E_BUSY [SWS_CryIf_91009].

التزامن والشروط الحدية

تم تحديد الواجهة على أنها قابلة لإعادة الدخول [SWS_CryIf_91009]. ونظرًا لأن العملية تتم بشكل متزامن، يُرجح أن يتعين على المستدعين مراعاة وقت تنفيذ برنامج التشغيل في سياق الاستدعاء المعني. سؤال Q-2b2fd50249878177 (مفتوح)

تم إنشاء ملاحظة الاستخدام هذه آلياً بناءً على مواصفة AUTOSAR R20-11.

دالة CryIf_KeyExchangeCalcPubVal [SWS_CryIf_91010] 📄 PDF

Std_ReturnType CryIf_KeyExchangeCalcPubVal (uint32 cryIfKeyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

This function shall dispatch the key exchange public value calculation function to the configured crypto driver object. Available

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 5f03ab0336af المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تقوم الدالة المتزامنة والقابلة لإعادة الدخول CryIf_KeyExchangeCalcPubVal بإعادة توجيه حساب قيمة تبادل المفاتيح العامة إلى كائن Crypto-Driver المكوّن [SWS_CryIf_91010]. الخدمة متاحة عبر ملف الرأس CryIf.h [SWS_CryIf_91010].

عند استدعاء الدالة، تتم معالجة المعلمات التالية [SWS_CryIf_91010]:

  • cryIfKeyId: معرّف المفتاح المراد استخدامه لبروتوكول تبادل المفاتيح.
  • publicValuePtr: مؤشر إلى منطقة الذاكرة التي سيتم تخزين القيمة العامة المحسوبة فيها.
  • publicValueLengthPtr: مؤشر إلى معلومات الطول. عند الاستدعاء، يجب أن تحتوي هذه المعلمة على حجم المخزن المؤقت المقدم؛ وبعد الاكتمال، تخزن الطول الفعلي للقيمة المحسوبة.

تعيد الدالة حالة من النوع Std_ReturnType [SWS_CryIf_91010]:

  • E_OK: كان الطلب ناجحًا.
  • E_NOT_OK: فشل الطلب.
  • CRYPTO_E_BUSY: خطأ لأن كائن Crypto-Driver المسؤول مشغول.
  • CRYPTO_E_KEY_EMPTY: خطأ بسبب عدم تهيئة عنصر المفتاح المصدر.
  • CRYPTO_E_KEY_NOT_VALID: خطأ لأن المفتاح المعنون في حالة غير صالحة.

تم إنشاء هذا النص بواسطة نظام مدعوم بالذكاء الاصطناعي ويستند حصريًا إلى بيانات المواصفات من AUTOSAR R20-11.

دالة CryIf_KeyExchangeCalcSecret [SWS_CryIf_91011] 📄 PDF

Std_ReturnType CryIf_KeyExchangeCalcSecret (uint32 cryIfKeyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

This function shall dispatch the key exchange common shared secret calculation function to the configured crypto driver object.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ecfeb27c89f0 المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تقوم الدالة المتزامنة CryIf_KeyExchangeCalcSecret بإعادة توجيه حساب السر المشترك أثناء تبادل المفاتيح إلى كائن Crypto-Driver المكوّن [SWS_CryIf_91011]. يتم تمرير معرّف المفتاح (cryIfKeyId)، ومؤشر إلى قيمة المفتاح العامة للطرف المقابل في الاتصال (partnerPublicValuePtr)، بالإضافة إلى طولها بالبايت (partnerPublicValueLength) إلى الخدمة [SWS_CryIf_91011].

معالجة الأخطاء: تُرجع الدالة النتيجة عبر Std_ReturnType [SWS_CryIf_91011]:

التزامن: تم تحديد الواجهة على أنها قابلة لإعادة الدخول [SWS_CryIf_91011]. ونظرًا لأن العملية تُنفذ بشكل متزامن، يُرجح أن يتم الاستدعاء عادةً في سياق المهمة Task. سؤال Q-b3bca3645b0ef468 (مفتوح) يتم توفير الخدمة عبر ملف الرأس CryIf.h [SWS_CryIf_91011].

تم إنشاء ملاحظة الاستخدام هذه آليًا استنادًا إلى مواصفات AUTOSAR R20-11.

دالة CryIf_CallbackNotification [SWS_CryIf_91013] 📄 PDF

void CryIf_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);

Notifies the CRYIF about the completion of the request with the result of the cryptographic operation.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 781636a3f50e المصدر أسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة CryIf_CallbackNotification وفقاً لـ [SWS_CryIf_91013] لإبلاغ Crypto Interface (CryIf) باكتِمال عملية تشفيرية وكذلك بنتيجتها. يتوفر التصريح عبر ملف الترويسة CryIf.h وله رمز الخدمة المعرّف (Service-ID) 0x0d [SWS_CryIf_91013].

يتم الاستدعاء بشكل متزامن ويعالج معلمتي إدخال إلزاميتين [SWS_CryIf_91013]:

  • job (إدخال، Crypto_JobType*): يشير إلى بنية معلومات المهمة المكتملة ويحتوي على معرّف رد اتصال (Callback-ID) لربط المهمة المنتهية [SWS_CryIf_91013].
  • result (إدخال، Crypto_ResultType): ينقل نتيجة العملية التشفيرية المنفذة [SWS_CryIf_91013].

لم يتم تعريف رموز أخطاء أو رسائل خطأ محددة (DET/DEM) لهذه الخدمة؛ ويتم فحص الأخطاء الوظيفية عبر المعلمة result، والتي تعكس حالة نجاح العملية أو فشلها [SWS_CryIf_91013].

فيما يتعلق بالتزامن، حُددت الدالة وفقاً لـ [SWS_CryIf_91013] بأنها غير قابلة لإعادة الدخول (Non Reentrant) وليس لها قيمة معادة (void). لذلك يجب على الجهات المستدعية التأكد من تشغيل الاستدعاءات بالتسلسل وعدم حدوث أي تنفيذات متداخلة أو متوازية. تفسير: يُرجح عادةً أن يتم استدعاء هذا الإشعار بواسطة برامج تشغيل التشفير التابعة لإرجاع نتيجة مهام التشفير المعالجة بشكل غير متزامن إلى Crypto Interface. سؤال Q-ae17af188a970e00 (مفتوح)

تم توليد ملاحظة الاستخدام هذه تلقائيًا على أساس مواصفة AUTOSAR R20-11.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_CryIf
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_CryIf@rel:R20-11#5a568892
Content hash
5a568892
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CryptoInterface.pdf#nameddest=SWS_CryIf_91000

التهيئة والحالة

Returns the version information of this module.

void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
CryIf_Init دالة

Initializes the CRYIF module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoInterface

void CryIf_Init (const CryIf_ConfigType* configPtr);

الخدمات · KeyElement…

Service CryIf_KeyElementCopy.

Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);

Service CryIf_KeyElementCopyPartial.

Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);

This function shall dispatch the get key ele ment function to the configured crypto driver object.

Std_ReturnType CryIf_KeyElementGet (uint32 cryIfKeyId, uint32 keyElementId, uint8* resultPtr, uint32* resultLengthPtr);

This function shall dispatch the set key element function to the configured crypto driver object.

Std_ReturnType CryIf_KeyElementSet (uint32 cryIfKeyId, uint32 keyElementId, const uint8* keyPtr, uint32 keyLength);

الخدمات · Key…

CryIf_KeyCopy دالة

This function shall co py all key elements from the source key to a target key.

Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);

This function shall dispatch th e key derive function to the configured crypto driver object.

Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);

This function shall dispatch the key exchange public value calculation function to the configured crypto driver object. Available

Std_ReturnType CryIf_KeyExchangeCalcPubVal (uint32 cryIfKeyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

This function shall dispatch the key exchange common shared secret calculation function to the configured crypto driver object.

Std_ReturnType CryIf_KeyExchangeCalcSecret (uint32 cryIfKeyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

This function shall dispatch the key generate function to the configured crypto driver object.

Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);

Returns the key state of the key identified by cry If Key Id.

Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);

Sets invalid for the status of the key identifi ed by cry If Key Id.

Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);

This function shall dispatch the set key valid function to the configured crypto driver object.

Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);

الخدمات · أخرى

Notifies the CRYIF about the completion of the request with the result of the cryptographic operation.

void CryIf_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);

This interface dispatches the job cancellation function to the configured crypto driver object.

Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);

Service CryIf_ProcessJob.

Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);

This function shall dispatch the random seed function to the configured crypto driver object.

Std_ReturnType CryIf_RandomSeed (uint32 cryIfKeyId, const uint8* seedPtr, uint32 seedLength);

الأنواع

Configuration data structure of Cry If module