DEENESPTFRRUARHIKOZHNL

Key Manager (KeyM)

ModulKeyM (Key Manager)
BSW-Modul-ID109
Standard-Header#include "KeyM.h"
SWS-SpezifikationAUTOSAR_SWS_KeyManager.pdf
ClusterSecurity & Intrusion Detection

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

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

يدير مفاتيح وشهادات وحدة التحكم الإلكترونية: التحديث والتحليل والتحقق من سلاسل الشهادات.

يدير Key Manager في حزمة التشفير لـ AUTOSAR مادة المفاتيح وشهادات وحدة التحكم الإلكترونية، ويعتمد في ذلك على CSM. تستقبل الوحدة الفرعية لمفاتيح التشفير المفاتيح في جلسة اختيارية تتألف من KeyM_Start وKeyM_Prepare وKeyM_Update وKeyM_Finalize؛ كما يمكن دمج معالجات مفاتيح خاصة بالشركة المصنعة. تقوم الوحدة الفرعية للشهادات بتخزين الشهادات وتحليلها والتحقق منها بشكل غير متزامن مقابل سلسلة مكوّنة؛ وتبلغ رد نداء بالنتيجة [SWS_KeyM_00153]. لا تصبح الشهادة صالحة إلا بعد التحقق الخالي من الأخطاء، وحينئذٍ فقط يتم تفعيل مفتاحها العام في CSM [SWS_KeyM_00170].

يدير Key Manager في حزمة التشفير مادة المفاتيح وشهادات وحدة التحكم الإلكترونية. ولهذا الغرض يحتوي على وحدتين فرعيتين: تستقبل الوحدة الفرعية لمفاتيح التشفير المفاتيح من Key Master في المركبة أو في الواجهة الخلفية، وعادةً عبر أوامر التشخيص. تقوم الوحدة الفرعية للشهادات بتخزين الشهادات وتحليلها والتحقق منها مقابل سلسلتها (SWS KeyM ص. 24). على المستوى الأدنى، يستخدم KeyM الـ CSM، وتعد Csm_KeyElementGet وCsm_KeyElementSet وCsm_KeySetValid إلزامية [SWS_KeyM_00076].

يمكن أن تتم عمليات المفاتيح على شكل جلسة (SWS KeyM ص. 25). تفتح KeyM_Start() الجلسة، وتوفر KeyM_Prepare() البيانات بشكل متزامن لـ Key Server، وتغلق KeyM_Finalize() الجلسة. تعمل KeyM_Update() بشكل غير متزامن وتقدم تقاريرها عبر KeyM_CryptoKeyUpdateCallbackNotification() ([SWS_KeyM_00052]، [SWS_KeyM_00077]). اختياريًا، يتولى معالج المفاتيح خطوات خاصة بالشركة المصنعة. ويتم استدعاء KeyM_KH_Update() في هذه العملية حتى يبلغ عن KEYM_KH_UPDATE_FINISH ([SWS_KeyM_00092]، [SWS_KeyM_00096]).

جلسة المفتاح مع Key Handler اختياريApplikation / Key MasterKeyMKeyHandlerCsmUse Case: فتح الجلسةKeyM_Start(StartType, RequestData, …)optKeyMCryptoKeyHandlerStartFinalizeEnabled = TRUEKeyM_KH_Start(gleiche Parameter)القيمة المُرجعةStd_ReturnTypeUse Case: Vorbereiten (synchron)KeyM_Prepare(RequestData, …)opt‏KeyMCryptoKeyPrepareFunctionEnabled وKeyMCryptoKeyHandlerPrepareEnabled = TRUEKeyM_KH_Prepare(…)ResponseDataResponseData, Std_ReturnTypeUse Case: Aktualisieren (asynchron)KeyM_Update(KeyNamePtr, RequestDataPtr,ResultDataPtr, …)E_OK (angenommen)متابعة المعالجة في الخلفية،على سبيل المثال من KeyM_MainBackgroundFunction()optKeyMCryptoKeyHandlerUpdateEnabled = TRUEKeyM_KH_Update(…) (ggf. wiederholt)UpdateOperation, KeymId, ResultData‏Csm_KeyElementSet() أو Csm_KeyDerive()Csm_KeySetValid()KeyM_CryptoKeyUpdateCallbackNotification(Result, …)Use Case: إغلاق الجلسة (غير متزامن)KeyM_Finalize(RequestDataPtr, …)optKeyMCryptoKeyHandlerStartFinalizeEnabled = TRUEKeyM_KH_Finalize(…)القيمة المُرجعةE_OK (angenommen)optKeyMCryptoKeyStartFinalizeFunctionEnabled = TRUEKeyM_CryptoKeyFinalizeCallbackNotification(Result, …)

مخطط تسلسل: تمتد الجلسة من Start عبر Prepare والتحديث غير المتزامن حتى Finalize، مع معالجات مفاتيح اختيارية وردود نداء للنتائج. المصادر: SWS KeyM ص. 25، [SWS_KeyM_00052]، [SWS_KeyM_00079]

يتم إدخال الشهادات بطريقتين. بشكل دائم، يتم ذلك عبر KeyM_ServiceCertificate()، والذي يطلقه Key Master [SWS_KeyM_00021]. ومؤقتًا، يمرر المتصل شهادة للتحقق باستخدام KeyM_SetCertificate() [SWS_KeyM_00057]. تحتفظ كل شهادة بحالة وفقًا لـ KeyM_CertificateStatusType [SWS_KeyM_91003]. وبعد التحقق الخالي من الأخطاء فقط تصبح KEYM_CERTIFICATE_VALID، وحينئذٍ فقط يتم تفعيل مفتاحها العام في CSM [SWS_KeyM_00170].

zertstatus start Start na KEYM_CERTIFICATE_NOT_AVAILABLE start->na KeyM_Init() np KEYM_CERTIFICATE_NOT_PARSED (transient) na->np ‏KeyM_SetCertificate(الطول ≠ 0)، KeyM_ServiceCertificate()، التحميل أثناء بدء التشغيل pnv KEYM_CERTIFICATE_PARSED_NOT_VALIDATED np->pnv Parsing erfolgreich ep Parsing-Fehler: KEYM_E_CERTIFICATE_INVALID_FORMAT, KEYM_E_CERTIFICATE_INVALID_TYPE, KEYM_E_CERTIFICATE_INVALID_CONTENT (Zuordnung angenommen) np->ep Parsing fehlgeschlagen pnv->na ‏KeyM_SetCertificate(الطول = 0) valid KEYM_CERTIFICATE_VALID pnv->valid نجح الفحص، Csm_KeySetValid() ev خطأ في الفحص: KEYM_E_CERTIFICATE_VALIDITY_PERIOD_FAIL، KEYM_E_CERTIFICATE_SIGNATURE_FAIL، KEYM_E_CERTIFICATE_INVALID_CHAIN_OF_TRUST، KEYM_E_CERTIFICATE_REVOKED (افتراض التعيين) pnv->ev فشل التحقق valid->na ‏KeyM_SetCertificate(الطول = 0) ep->na ‏KeyM_SetCertificate(الطول = 0) ev->na ‏KeyM_SetCertificate(الطول = 0)

مخطط الحالة: تنتقل الشهادة من NOT_AVAILABLE عبر التحليل إلى PARSED_NOT_VALIDATED وبعد التحقق إلى VALID أو إلى حالة خطأ؛ وتؤدي إعادة التعيين بطول 0 إلى الرجوع. تخصيص INVALID_CONTENT وREVOKED هو استنتاج تفسيري. المصادر: SWS KeyM ص. 24، [SWS_KeyM_91003]

يتم التحقق بشكل غير متزامن عبر KeyM_VerifyCertificate() أو KeyM_VerifyCertificates() أو KeyM_VerifyCertificateChain(). ويبلغ رد نداء قابل للتكوين بالنتيجة [SWS_KeyM_00153]. تُقرأ المحتويات الفردية باستخدام KeyM_CertElementGet()؛ وتمر العناصر متعددة الإدخالات عبر مكرر [SWS_KeyM_00064]. يبلغ KeyM عن الأخطاء بثلاث طرق: كأخطاء تطوير مثل KEYM_E_UNINIT [SWS_KeyM_00036]، وكسلوك KeyM_ResultType في ردود النداء [SWS_KeyM_91008]، وعند فشل فحص السلسلة كحدث أمني إضافي [SWS_KeyM_00172].

الدور في حزمة التشفير: إدارة المفاتيح والشهادات فوق CSM

يعد Key Manager (KeyM) وحدة خدمة في حزمة التشفير لـ AUTOSAR ويتألف من وحدتين فرعيتين. تقوم الوحدة الفرعية لمفاتيح التشفير بتهيئة وتحديث وصيانة مادة المفاتيح لوحدة التحكم الإلكترونية. بينما تقوم الوحدة الفرعية للشهادات بتخزين الشهادات وتحليلها والتحقق منها مقابل سلسلتها (SWS KeyM ص. 23، SWS KeyM ص. 28). من حالات الاستخدام النموذجية للوحدة الفرعية لمفاتيح التشفير توزيع المفاتيح للاتصال الآمن على متن المركبة إلى مفاتيح CSM. وتوفر البيانات وحدة Key Master موجودة في المركبة أو في واجهة خلفية؛ وعادةً ما يتم الاتصال عبر أوامر التشخيص (SWS KeyM ص. 24).

على المستوى الأدنى، يعتمد KeyM على CSM. ويحدد [SWS_KeyM_00076] كواجهات إلزامية Csm_KeyElementGet وCsm_KeyElementSet وCsm_KeySetValid. بالإضافة إلى ذلك، يسرد [SWS_KeyM_00078] كلاً من Csm_KeyDerive وCsm_SignatureVerify وDet_ReportError وIdsM_SetSecurityEvent. وللتحقق من الصلاحية الزمنية، يستورد KeyM أنواعًا من StbM [SWS_KeyM_00037]. على المستوى الأعلى، يقدم KeyM واجهات برمجة تطبيقات C وواجهات خدمة RTE للشهادات وعناصر الشهادات ومفاتيح التشفير ([SWS_KeyM_00082]، [SWS_KeyM_00083]، [SWS_KeyM_00084]). ويتم دمج المنطق الخاص بالشركة المصنعة عبر دوال معالج المفاتيح القابلة للتكوين، مثل KeyM_KH_Start() [SWS_KeyM_00067].

kontext cluster_keym KeyM master ‏Key Master / Key Server (على سبيل المثال عبر التشخيص) ck Crypto-Key-Submodul master->ck KeyM_Start / KeyM_Prepare / KeyM_Update / KeyM_Finalize cert Zertifikats-Submodul master->cert KeyM_ServiceCertificate() nutzer SW-C / BSW-Nutzer (z. B. Dcm, TcpIp) nutzer->cert KeyM_SetCertificate(), KeyM_Verify*(), KeyM_CertElementGet*(), KeyM_GetCertificate() ck->master KeyM_CryptoKey*CallbackNotification() kh Key Handler (KeyM_KH_*) ck->kh optionale Key-Handler-Aufrufe csm Csm ck->csm Csm_KeyElementSet(), Csm_KeyDerive(), Csm_KeySetValid() det Det ck->det Det_ReportError() cert->master KeyM_ServiceCertificateCallbackNotification() cert->nutzer KeyM_CertificateVerifyCallbackNotification() cert->kh KeyM_KH_ServiceCertificate() (optional) cert->csm Csm_SignatureVerify(), Csm_KeySetValid() stbm StbM cert->stbm الوقت الحالي للتحقق من الصلاحية nvm NvM cert->nvm persistente Zertifikate (optional) idsm IdsM cert->idsm IdsM_SetSecurityEvent()

مخطط السياق: يتوسط KeyM بين Key Master أو المستخدمين، ومعالجات المفاتيح الاختيارية، والخدمات CSM وStbM وNvM وIdsM وDET. المصادر: SWS KeyM ص. 23، [SWS_KeyM_00076]، [SWS_KeyM_00078]، [SWS_KeyM_00037]، SWS KeyM ص. 119

التهيئة والتوقيت الدوري والتفكيك الآمن

تقوم KeyM_Init() بتهيئة الوحدة [SWS_KeyM_00043]. محتوى KeyM_ConfigType خاص بالتنفيذ [SWS_KeyM_00157]، ويجب أن يكون مؤشر التكوين دائمًا NULL_PTR [SWS_KeyM_00158]. بعد التهيئة، تكون جميع الشهادات في الحالة KEYM_CERTIFICATE_NOT_AVAILABLE (SWS KeyM ص. 34). تعيد KeyM_Deinit() الوحدة إلى الحالة غير المهيأة [SWS_KeyM_00047]. بالإضافة إلى ذلك، يتطلب الموضع ذو الصلة في الوثيقة أن تقوم الوحدة الفرعية لمفاتيح التشفير بالكتابة الفوقية النشطة على مادة المفاتيح والنتائج الوسيطة في RAM (SWS KeyM ص. 49).

أثناء التشغيل، يتم استدعاء KeyM_MainFunction() دوريًا في الفاصل الزمني المكوّن [SWS_KeyM_00074]. تعمل KeyM_MainBackgroundFunction() عندما لا يكون لدى نظام التشغيل الاستباقي أي مهمة أخرى. ويمكنها استدعاء دوال متزامنة تستهلك وقتًا طويلاً مثل KeyM_KH_Update() [SWS_KeyM_00075]. الفترة الزمنية هي معامل للحاوية KeyMGeneral (SWS KeyM ص. 131). توفر KeyM_GetVersionInfo() معلومات الإصدار [SWS_KeyM_00049].

جلسة المفاتيح: من KeyM_Start إلى KeyM_Finalize

يمكن تكوين عمليات المفاتيح لتكون على هيئة جلسة. تفتح KeyM_Start() الجلسة. بعد ذلك، يقبل KeyM كلاً من KeyM_Prepare() وKeyM_Update() حتى تغلق KeyM_Finalize() الجلسة (SWS KeyM ص. 25). يميز KeyM_StartType بين وضع إنتاج OEM ووضع ورشة العمل؛ ويتمتع وضع الإنتاج بحقوق أعلى [SWS_KeyM_00038]. بشكل افتراضي، لا يقيّم KeyM_Start() أي بيانات إدخال. إذا تم تعيين KeyMCryptoKeyHandlerStartFinalizeEnabled، فإنه يستدعي KeyM_KH_Start() بنفس المعاملات ويعتمد القيمة المرجعة منه، على سبيل المثال لعمليات التحقق من التوقيع الخاصة بـ OEM ([SWS_KeyM_00050]، [SWS_KeyM_00067]).

خطوات الجلسة الفردية:

  • تعمل KeyM_Prepare() بشكل متزامن وتوفر بشكل أساسي معلومات لـ Key Server [SWS_KeyM_00051]. إذا تم تعيين KeyMCryptoKeyPrepareFunctionEnabled وKeyMCryptoKeyHandlerPrepareEnabled، يستدعي KeyM على الفور KeyM_KH_Prepare() ([SWS_KeyM_00068]، SWS KeyM ص. 82).
  • العملية KeyM_Update() غير متزامنة. ويبلغ KeyM_CryptoKeyUpdateCallbackNotification() عن النهاية ([SWS_KeyM_00052]، [SWS_KeyM_00077]، [SWS_KeyM_00150]). لا يجوز للمتصل لمس مخزن النتائج المؤقت الممرر حتى رد النداء هذا؛ ويعيد رد النداء نفس المؤشر [SWS_KeyM_00156].
  • العملية KeyM_Finalize() غير متزامنة أيضًا وتضع عملية المفتاح في حالة السكون (SWS KeyM ص. 56). مع تفعيل معالج المفاتيح، تفوض العملية إلى KeyM_KH_Finalize() ([SWS_KeyM_00053]، [SWS_KeyM_00070]). يبلغ KeyM_CryptoKeyFinalizeCallbackNotification() عما إذا تم التحقق من صحة جميع المفاتيح بنجاح ([SWS_KeyM_00079]، [SWS_KeyM_00080]).

خارج الجلسة، يتحقق KeyM_Verify() من المفاتيح بشكل متزامن أو غير متزامن [SWS_KeyM_00054]. عند KeyMCryptoKeyVerifyAsyncMode = TRUE، تأتي النتيجة عبر KeyM_CryptoKeyVerifyCallbackNotification() ([SWS_KeyM_00081]، [SWS_KeyM_00151]). يمكن دمج معالج المفاتيح عبر KeyM_KH_Verify() [SWS_KeyM_00071].

جلسة المفتاح مع Key Handler اختياريApplikation / Key MasterKeyMKeyHandlerCsmUse Case: فتح الجلسةKeyM_Start(StartType, RequestData, …)optKeyMCryptoKeyHandlerStartFinalizeEnabled = TRUEKeyM_KH_Start(gleiche Parameter)القيمة المُرجعةStd_ReturnTypeUse Case: Vorbereiten (synchron)KeyM_Prepare(RequestData, …)opt‏KeyMCryptoKeyPrepareFunctionEnabled وKeyMCryptoKeyHandlerPrepareEnabled = TRUEKeyM_KH_Prepare(…)ResponseDataResponseData, Std_ReturnTypeUse Case: Aktualisieren (asynchron)KeyM_Update(KeyNamePtr, RequestDataPtr,ResultDataPtr, …)E_OK (angenommen)متابعة المعالجة في الخلفية،على سبيل المثال من KeyM_MainBackgroundFunction()optKeyMCryptoKeyHandlerUpdateEnabled = TRUEKeyM_KH_Update(…) (ggf. wiederholt)UpdateOperation, KeymId, ResultData‏Csm_KeyElementSet() أو Csm_KeyDerive()Csm_KeySetValid()KeyM_CryptoKeyUpdateCallbackNotification(Result, …)Use Case: إغلاق الجلسة (غير متزامن)KeyM_Finalize(RequestDataPtr, …)optKeyMCryptoKeyHandlerStartFinalizeEnabled = TRUEKeyM_KH_Finalize(…)القيمة المُرجعةE_OK (angenommen)optKeyMCryptoKeyStartFinalizeFunctionEnabled = TRUEKeyM_CryptoKeyFinalizeCallbackNotification(Result, …)

مخطط تسلسل: تمتد الجلسة من Start عبر Prepare والتحديث غير المتزامن حتى Finalize؛ ومعالجات المفاتيح اختيارية، والنتائج تأتي عبر رد النداء. المصادر: SWS KeyM ص. 25، SWS KeyM ص. 116، [SWS_KeyM_00052]، [SWS_KeyM_00075]، [SWS_KeyM_00079]

تفاصيل KeyM_Update: اختيار المفتاح وحلقة معالج المفاتيح

أولاً، يحدد KeyM المفتاح المستهدف:

  • باستخدام اسم المفتاح، يبحث KeyM عن حاوية KeyMCryptoKey ذات KeyMCryptoKeyName المطابق [SWS_KeyM_00091].
  • بدون اسم صالح ومع وجود KeyMCryptoKeyCryptoProps محددة، يفسر KeyM الـ RequestData كقيم SHE M1M2M3 ويقارن البتات 121..124 [SWS_KeyM_00154].
  • إذا تعذر تحديد KeyID ولم يكن هناك معالج مفاتيح تحديث نشط، ينتهي الاستدعاء بـ KEYM_E_PARAMETER_MISMATCH [SWS_KeyM_00155].

مع تفعيل KeyMCryptoKeyHandlerUpdateEnabled، يستدعي KeyM_Update() الدالة KeyM_KH_Update(). ويمرر بيانات الطلب والاسم وKeymId التي تم العثور عليها، وإلا 0xFFFFFFFFul [SWS_KeyM_00092]. بالإضافة إلى ذلك، يوفر KeyM مخزنًا مؤقتًا داخليًا لا يلمسه حتى عودة المعالج [SWS_KeyM_00097]. وتتحكم الاستجابة الواردة من المعالج في المسار الإضافي [SWS_KeyM_00055]:

  • KEYM_KH_UPDATE_KEY_UPDATE_REPEAT مع بيانات: يخزن KeyM المفتاح في CSM أو يشتقه هناك ويستدعي المعالج مرة أخرى [SWS_KeyM_00096].
  • KEYM_KH_UPDATE_FINISH: ينسخ KeyM بيانات النتيجة ويطلق رد نداء التحديث [SWS_KeyM_00093].

يحدد نوع توليد المفتاح KeyMCryptoKeyGenerationType ما إذا كان KeyM يخزن أو يشتق، بالقيمتين KEYM_STORED_KEY أو KEYM_DERIVED_KEY (SWS KeyM ص. 164). عند الاشتقاق، يستبدل Csm_KeyDerive استدعاء Csm_KeyElementSet (SWS KeyM ص. 118). وفي كلتا الحالتين، يقوم Csm_KeySetValid بعد ذلك بتفعيل المفتاح (SWS KeyM ص. 116).

update start KeyM_Update() aufgerufen qname هل تم تحديد اسم المفتاح (KeyNameLength > 0)؟ start->qname suche البحث عن KeyMCryptoKey مع KeyMCryptoKeyName مطابق qname->suche نعم qprops KeyMCryptoKeyCryptoProps definiert? qname->qprops لا qkh KeyMCryptoKeyHandlerUpdateEnabled? suche->qkh she تفسير RequestData كـ SHE M1M2M3، وفحص البتات 121..124 مقابل CryptoProps qprops->she نعم qprops->qkh لا she->qkh qid KeyID ermittelt? qkh->qid FALSE kh ‏KeyM_KH_Update() مع KeymId (وإلا 0xFFFFFFFFul) qkh->kh TRUE fehler إرجاع KEYM_E_PARAMETER_MISMATCH qid->fehler لا direkt تخزين المفتاح وفقًا لـ KeyMCryptoKey في Csm أو اشتقاقه qid->direkt نعم ende Ergebnisdaten kopieren, KeyM_CryptoKeyUpdateCallbackNotification() direkt->ende qop UpdateOperation? kh->qop csm تخزين المفتاح في Csm أو اشتقاقه (تهيئة) qop->csm ‏KEYM_KH_UPDATE_KEY_UPDATE_REPEAT، طول النتيجة > 0 qop->ende KEYM_KH_UPDATE_FINISH csm->kh إعادة الاستدعاء في حال النجاح

مخطط النشاط: يختار KeyM_Update المفتاح عبر الاسم أو معرّف SHE، ويتوقف بدون KeyID وبدون معالج المفاتيح، ويكرر استدعاءات معالج المفاتيح حتى KEYM_KH_UPDATE_FINISH. المصادر: [SWS_KeyM_00091]، [SWS_KeyM_00154]، [SWS_KeyM_00155]، [SWS_KeyM_00092]، [SWS_KeyM_00096]، [SWS_KeyM_00093]

الشهادات: التخزين الدائم والمؤقت، والتسلسل الهرمي والحالة

للشهادات المخزنة بشكل دائم تتوفر KeyM_ServiceCertificate(). توفر الوحدة الفرعية للشهادات الدالة عندما يتم تعيين KeyMServiceCertificateFunctionEnabled وKeyMCertificateManagerEnabled؛ ويتم استدعاؤها بواسطة Key Master [SWS_KeyM_00021]. تميز KeyM_ServiceCertificateType بين الخدمات التالية [SWS_KeyM_00039]:

  • طلب CSR وإرجاع CSR موقّع،
  • تعيين أو تحديث شهادات الجذر والشهادات الوسيطة،
  • توفير أو تحديث CRL.

تعمل الخدمة بشكل غير متزامن وتبلغ عبر KeyM_ServiceCertificateCallbackNotification() ([SWS_KeyM_00056]، [SWS_KeyM_00149]، [SWS_KeyM_00152]). وتُعرّف محاولات تثبيت أو تحديث شهادات الجذر أو الشهادات الوسيطة كأحداث أمنية ([SWS_KeyM_00172]، SWS KeyM ص. 38).

إدخال شهادة جذرية أو متوسطة عبر KeyM_ServiceCertificateKey Master / ApplikationKeyMStbMCsmNvMIdsMKeyM_ServiceCertificate(KEYM_SERVICE_CERT_SET_ROOTأو KEYM_SERVICE_CERT_SET_INTERMEDIATE، …)E_OK (angenommen, asynchron)محاولة التثبيت هي حدث أمني:‏KEYM_SEV_INST_ROOT_CERT_OP أو KEYM_SEV_INST_INTERMEDIATE_CERT_OPParsingالبحث عن KeyMCertificateStbM_GetCurrentTime(…)aktuelle Zeitفحص الطابع الزمني، وفحص الموضوع (Subject)VerifyingoptVerifikation erfolgreichalt‏NvM مهيأ للتخزينZertifikat dauerhaft ablegen‏Csm مهيأ للتخزينCsm_KeyElementSet(…)Csm_KeySetValid(…)KeyM_ServiceCertificateCallbackNotification(CertId, Result, …)

مخطط تسلسل: عند إدخال شهادة جذر أو شهادة وسيطة، يتم التحليل والفحص أولاً؛ ويتبع التخزين في NvM أو CSM فقط بعد التحقق الناجح، ثم يأتي رد نداء الخدمة بعد ذلك. المصادر: SWS KeyM ص. 120، [SWS_KeyM_00039]، [SWS_KeyM_00056]، [SWS_KeyM_00149]، [SWS_KeyM_00172]

في المقابل، يمرر المتصل شهادة مقدمة بشكل مؤقت باستخدام KeyM_SetCertificate() [SWS_KeyM_00057]. وتستقر في KeyMCertificateStorage المكوّنة، عادةً في RAM، وهي غير مخصصة للحفظ الدائم (SWS KeyM ص. 31). يتم تمرير البيانات في KeyM_CertDataType مع الطول والمؤشر [SWS_KeyM_00041]. السلسلة نفسها مكوّنة بشكل ثابت. يشير كل KeyMCertificate إلى الشهادة الأعلى منه، وتشير شهادة الجذر إلى نفسها. بالإضافة إلى ذلك، تشير كل شهادة إلى وظيفة CSM ومفتاح CSM للتحقق من التوقيع (SWS KeyM ص. 22).

pki cluster_keym KeyM (KeyMCertificate) cluster_csm CSM root Root-Zertifikat root->root UpperHierarchicalCertRef (selbstsigniert) job1 CsmJob1 root->job1 SignatureVerifyJobRef key1 CsmKey1 root->key1 SignatureVerifyKeyRef inter Zwischenzertifikat inter->root UpperHierarchicalCertRef job2 CsmJob2 inter->job2 SignatureVerifyJobRef key2 CsmKey2 inter->key2 SignatureVerifyKeyRef work Arbeitszertifikat work->inter UpperHierarchicalCertRef job3 CsmJob3 work->job3 SignatureVerifyJobRef key3 CsmKey3 work->key3 SignatureVerifyKeyRef

مخطط الهيكل: في سلسلة من ثلاثة مستويات، يشير كل KeyMCertificate إلى الشهادة الأعلى منه (الجذر إلى نفسه) بالإضافة إلى وظيفة CSM ومفتاح CSM للتحقق من التوقيع. المصادر: SWS KeyM ص. 22، SWS KeyM ص. 31، [SWS_KeyM_00170]

لكل شهادة حالة من النوع KeyM_CertificateStatusType [SWS_KeyM_91003]، يستعلم عنها KeyM_CertGetStatus() [SWS_KeyM_00066]. دورة الحياة:

  • بعد KeyM_Init() ينطبق KEYM_CERTIFICATE_NOT_AVAILABLE.
  • تؤدي KeyM_SetCertificate() مع certDataLength = 0 إلى إعادة تعيين الشهادة والحالة (SWS KeyM ص. 34).
  • تمر البيانات المحددة عبر التحليل (NOT_PARSED ← PARSED_NOT_VALIDATED) ثم عبر التحقق (SWS KeyM ص. 24).
  • بعد التحقق الخالي من الأخطاء فقط، يفعّل KeyM المفتاح العام عبر Csm_KeySetValid() ويضبط KEYM_CERTIFICATE_VALID [SWS_KeyM_00170].

تفسير: من المرجح أن يُعد KEYM_E_CERTIFICATE_INVALID_CONTENT من أخطاء التحليل وKEYM_E_CERTIFICATE_REVOKED من أخطاء التحقق. سؤال Q-5d110deddf2d912e (مفتوح) وهذا مدعوم صراحةً فقط لـ INVALID_FORMAT وINVALID_TYPE (SWS KeyM ص. 33).

zertstatus start Start na KEYM_CERTIFICATE_NOT_AVAILABLE start->na KeyM_Init() np KEYM_CERTIFICATE_NOT_PARSED (transient) na->np ‏KeyM_SetCertificate(الطول ≠ 0)، KeyM_ServiceCertificate()، التحميل أثناء بدء التشغيل pnv KEYM_CERTIFICATE_PARSED_NOT_VALIDATED np->pnv Parsing erfolgreich ep Parsing-Fehler: KEYM_E_CERTIFICATE_INVALID_FORMAT, KEYM_E_CERTIFICATE_INVALID_TYPE, KEYM_E_CERTIFICATE_INVALID_CONTENT (Zuordnung angenommen) np->ep Parsing fehlgeschlagen pnv->na ‏KeyM_SetCertificate(الطول = 0) valid KEYM_CERTIFICATE_VALID pnv->valid نجح الفحص، Csm_KeySetValid() ev خطأ في الفحص: KEYM_E_CERTIFICATE_VALIDITY_PERIOD_FAIL، KEYM_E_CERTIFICATE_SIGNATURE_FAIL، KEYM_E_CERTIFICATE_INVALID_CHAIN_OF_TRUST، KEYM_E_CERTIFICATE_REVOKED (افتراض التعيين) pnv->ev فشل التحقق valid->na ‏KeyM_SetCertificate(الطول = 0) ep->na ‏KeyM_SetCertificate(الطول = 0) ev->na ‏KeyM_SetCertificate(الطول = 0)

مخطط الحالة: تنتقل الشهادة من NOT_AVAILABLE عبر التحليل اللغوي (Parsing) إلى PARSED_NOT_VALIDATED وبعد التحقق الناجح إلى VALID؛ تؤدي الأخطاء إلى حالات خطأ، وتؤدي إعادة التعيين بطول 0 إلى الرجوع. يُعد تعيين INVALID_CONTENT وREVOKED تفسيراً. المصادر: SWS KeyM ص. 24، [SWS_KeyM_91003]، [SWS_KeyM_00170]، SWS KeyM ص. 34

التحقق من الشهادات والوصول إلى محتويات الشهادة

توجد ثلاث مهام غير متكررة الدخول وغير متزامنة للتحقق:

  • KeyM_VerifyCertificate() تحدد السلسلة التابعة بنفسها ([SWS_KeyM_00060]، SWS KeyM ص. 68).
  • KeyM_VerifyCertificates() تتحقق من شهادة سفلية مقابل شهادة عليا [SWS_KeyM_00059].
  • KeyM_VerifyCertificateChain() تتلقى قائمة شهادات مرتبة وفقاً لترتيب PKI [SWS_KeyM_00061].

إذا قبلت KeyM المهمة مع E_OK وكانت KeyMCertificateVerifyCallbackNotificationFunc مهيأة، تبلغ دالة الاستدعاء الراجع بالنتيجة على شكل KeyM_CertificateStatusType ([SWS_KeyM_00153]، [SWS_KeyM_00073]). إذا كانت هذه الدالة NULL، يتوفر بدلاً من ذلك المنفذ المطلوب KeyMCertificateNotification [SWS_KeyM_00161]. وفقاً لمواضع وثائق DCM المتاحة من إصدارات لاحقة، يستخدم DCM هذا المسار للمصادقة (SWS DCM ص. 147، SWS DCM ص. 245).

تعيين شهادة العمل وفحصهاApplikationKeyMNvMStbMCsmUse Case: تمرير الشهادةKeyM_SetCertificate(CertId, CertificateDataPtr)E_OKParsing:NOT_PARSED → PARSED_NOT_VALIDATEDKeyM_CertGetStatus(CertId)StatusUse Case: فحص (غير متزامن)KeyM_VerifyCertificate(CertId)E_OK (Auftrag angenommen)optZertifikat in NvM abgelegtNvM_ReadBlock(…)ZertifikatsdatenStbM_GetCurrentTime(…)aktuelle Zeitفحص الطابع الزمنيفحص الموضوع (Subject)Csm_SignatureVerify(…)نتيجة الفحص‏Csm_KeyElementSet(…) (المفتاح العام)Csm_KeySetValid(…)Status: KEYM_CERTIFICATE_VALIDKeyM_CertificateVerifyCallbackNotification(CertId, Result)KeyM_CertGetStatus(CertId)KEYM_CERTIFICATE_VALID

مخطط التسلسل: يتم تعيين شهادة عمل وتحليلها لغوياً؛ ويستخدم التحقق اللاحق وقت StbM، والتحقق من الموضوع، والتحقق من توقيع CSM، وينتهي بإتاحة المفتاح ودالة الاستدعاء الراجع. المصادر: SWS KeyM ص. 119، [SWS_KeyM_00057]، [SWS_KeyM_00060]، [SWS_KeyM_00170]، [SWS_KeyM_00153]

تتوفر عدة دوال للوصول إلى محتويات الشهادة:

  • KeyM_GetCertificate() توفر بيانات الشهادة في مخزن مؤقت لجهة الاستدعاء [SWS_KeyM_00058]. يستخدم تسلسل TLS الخاص بـ TcpIp ذلك (SWS TcpIp ص. 134).
  • KeyM_CertElementGet() تقرأ العناصر المهيأة عبر معرف الكائن من الشهادة المحللة والمتحقق منها ([SWS_KeyM_00063]، [SWS_KeyM_00127]).
  • تمر جهة الاستدعاء عبر العناصر المتعددة باستخدام KeyM_CertElementGetFirst() وKeyM_CertElementGetNext() ومكرر تحتفظ به بنفسها ([SWS_KeyM_00064]، [SWS_KeyM_00065]، [SWS_KeyM_00042]). لا يعمل هذا إلا للعناصر التي تحتوي على KeyMCertificateElementHasIteration [SWS_KeyM_00148].
  • بدلاً من ذلك، توفر KeyM_CertificateElementGetCount() وKeyM_CertificateElementGetByIndex() العدد ومدخلات محددة بشكل مستهدف ([SWS_KeyM_91015]، [SWS_KeyM_91014]).

باستخدام التكرار، يقرأ DCM القوائم البيضاء من الشهادات (SWS DCM ص. 155).

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

عند تفعيل اكتشاف أخطاء التطوير، تتحقق KeyM عند كل استدعاء من:

أخطاء التطوير الإضافية هي KEYM_E_INIT_FAILED وKEYM_E_CONFIG_FAILURE [SWS_KeyM_00036]. إذا كانت فئة تخزين الشهادة هي KEYM_STORAGE_IN_CSM أو KEYM_STORAGE_IN_NVM، تبلغ KeyM عن KEYM_E_CONFIG_FAILURE؛ وبدون وضع التطوير، تُرجع E_NOT_OK [SWS_KeyM_00166]. تفسير: يؤثر هذا على الأرجح على مسار التخزين المؤقت عبر KeyM_SetCertificate()، والمخصص وفقاً لموضع التوثيق لذاكرة RAM (SWS KeyM ص. 31). سؤال Q-4308e537bf1d9e0b (مفتوح)

تحدث أخطاء وقت التشغيل على ثلاثة مستويات:

  • تستخدم قيم الإرجاع المتزامنة رموز KeyM مثل KEYM_E_BUSY أو KEYM_E_PENDING أو KEYM_E_KEY_CERT_SIZE_MISMATCH أو KEYM_E_PARAMETER_MISMATCH [SWS_KeyM_00040]. ترفض مهام التحقق بالفعل عند القبول مواضع الشهادات الفارغة (KEYM_E_KEY_CERT_EMPTY) والشهادات العليا غير الصالحة (KEYM_E_CERT_INVALID_CHAIN_OF_TRUST) ([SWS_KeyM_00060]، SWS KeyM ص. 68).
  • تبلغ خدمات المفاتيح والشهادات غير المتزامنة عن نتيجتها على شكل KeyM_ResultType، مثل KEYM_RT_KEY_CERT_WRITE_FAIL أو KEYM_RT_CERT_INVALID_CHAIN_OF_TRUST [SWS_KeyM_91008].
  • تحمل نتائج التحقق حالات خطأ مثل خطأ في فترة الصلاحية أو خطأ في التوقيع أو خطأ في سلسلة الثقة [SWS_KeyM_91003]. كما يتم الإبلاغ عن التحقق الفاشل من السلسلة كحدث أمني KEYM_SEV_CERT_VERIF_FAILED [SWS_KeyM_00172].

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

دليل وحدة تم إنشاؤه بواسطة الذكاء الاصطناعي بناءً على مقتطفات المواصفات المضمنة في الحمولة لـ KeyM (Classic Platform، R20-11). المتطلبات المقتبسة معيارية؛ وتخدم مواضع التوثيق من إصدارات أخرى أغراض التوضيح ويتم تمييزها على هذا النحو. التفسيرات مميزة في النص.

Key Manager (KeyM)

Manages lifecycle, storage, and distribution of cryptographic keys and certificates.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

دالة KeyM_Init [SWS_KeyM_00043] 📄 PDF

void KeyM_Init (const KeyM_ConfigType* ConfigPtr);

This function initializes the key management module.

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

تُستخدم الدالة KeyM_Init لتهيئة الوحدة النمطية لإدارة المفاتيح ([SWS_KeyM_00043]). يتم الاستدعاء بشكل متزامن ومحدد على أنه غير قابل لإعادة الدخول ([SWS_KeyM_00043]). يُتوقع تمرير ConfigPtr كمعلمة وحيدة، ويمثل مؤشرًا إلى مجموعة بيانات التهيئة لـ VARIANT-POST-BUILD؛ وليست للدالة قيمة إرجاع ([SWS_KeyM_00043]).

فيما يتعلق بالتفاعل مع دوال الوحدة النمطية الأخرى، تمثل KeyM_Init شرطًا مسبقًا إلزاميًا: عند تفعيل اكتشاف التطوير، تتحقق جميع الدوال الأخرى لـ Key Manager مما إذا كانت الوحدة النمطية قد تمت تهيئتها مسبقًا عبر KeyM_Init ولم يتم إلغاء تهيئتها بعد بواسطة KeyM_Deinit ([SWS_KeyM_00144]). وإذا تم استدعاء دالة وحدة نمطية في حالة غير مهيأة، يبلغ Key Manager عن خطأ التطوير KEYM_E_UNINIT ([SWS_KeyM_00144]).

بما أن KeyM_Init محددة على أنها غير قابلة لإعادة الدخول ([SWS_KeyM_00043])، فلا يجوز تنفيذ الدالة في مرحلة تهيئة النظام إلا لمرة واحدة فقط ومع استبعاد الاستدعاءات المتزامنة. تكون الوحدة النمطية متاحة بعد التنفيذ الناجح عبر ملف الترويسة KeyM.h ([SWS_KeyM_00043]).

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

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

دالة KeyM_Deinit [SWS_KeyM_00047] 📄 PDF

void KeyM_Deinit (void);

This function resets the key management module to the uninitialized state.

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

تُستخدم الدالة KeyM_Deinit لإعادة تعيين الوحدة Key Manager إلى الحالة غير المهيأة ([SWS_KeyM_00047]).

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

يتم استدعاء KeyM_Deinit بشكل متزامن وهو محدد بأنه غير قابل لإعادة الدخول (Non Reentrant). تمتلك الدالة معرّف الخدمة 0x02، ولا تقبل أي معاملات ولا تُرجع أي قيمة إرجاع ([SWS_KeyM_00047]).

التزامن والتفاعل

بسبب عدم قابلية إعادة الدخول، لا يجوز استدعاء KeyM_Deinit بالتزامن مع نفسها أو بما يتعارض مع العمليات الجارية. بعد تنفيذ إلغاء التهيئة هذا، تكون الوحدة في الحالة غير المهيأة. وفي حال تفعيل أخطاء التطوير (Development Errors)، يتحقق Key Manager عند كل استدعاء لاحق للدالة مما إذا كانت الوحدة قد تمت تهيئتها مسبقًا عبر KeyM_Init() ولم يتم إلغاء تهيئتها بعد بواسطة KeyM_Deinit()؛ وإلا فسيتم الإبلاغ عن خطأ التطوير KEYM_E_UNINIT ([SWS_KeyM_00144]).

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

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

دالة KeyM_Start [SWS_KeyM_00050] 📄 PDF

Std_ReturnType KeyM_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);

This function is optional and only used if the configuration item Key MCrypto Key Start Finalize Function Enabled is set to true. It intents to allow key update operation.

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

تُستخدم الدالة المتزامنة KeyM_Start لتمكين عمليات تحديث المفاتيح في Key Manager ([SWS_KeyM_00050]). وهي اختيارية ولا تتاح إلا إذا تم تكوين معامل التكوين KeyMCryptoKeyStartFinalizeFunctionEnabled على true (AUTOSAR_SWS_KeyManager ص. 35). يتم توفير الدالة عبر KeyM.h وتتوقع عبر StartType وضع التشغيل المراد تنفيذه، بالإضافة إلى بيانات طلب إضافية عبر Request Data وRequest Data Length مثل التوقيع.

تُعاد بيانات الاستجابة عبر مخزن الإخراج المؤقت Response Data. ويعمل المعامل Response Data Length هنا كمعامل إدخال وإخراج: حيث يحدد قبل الاستدعاء الحد الأقصى لعدد البايتات المتاحة في المخزن المؤقت، ويحتوي بعد التنفيذ على طول البيانات المكتوبة فعليًا ([SWS_KeyM_00050]).

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

  • E_OK: نُفذت عملية البدء بنجاح؛ أصبحت تحديثات المفاتيح مسموحة الآن.
  • E_NOT_OK: لم يتم قبول عملية البدء.
  • KEYM_E_PARAMETER_MISMATCH: معاملات التمرير لا تتطابق مع القيم المتوقعة.
  • KEYM_E_KEY_CERT_SIZE_MISMATCH: أحد أحجام المعاملات الممررة لا يتطابق مع الحجم المتوقع.

تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) ([SWS_KeyM_00050]). ونظرًا لعدم وصف أي آليات قفل داخلية في الوحدة، فمن المرجح أن يتعين على جهة الاستدعاء ضمان تنفيذ منسق ومتسلسل. سؤال Q-82276b712a8dd170 (مفتوح)

تم إنشاء هذا النص تلقائيًا استنادًا إلى AUTOSAR R20-11.

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

دالة KeyM_Prepare [SWS_KeyM_00051] 📄 PDF

Std_ReturnType KeyM_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);

This function is used to prepare a key update operation. The main intent is to provide information for the key operation to the key server. Other operations may start the negotiation for a common secret that is used further to derive key material. This function is only av ailable if Key MCrypto Key Prepare Function Enabled is set to TRUE.

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

تُستخدم الدالة المتزامنة KeyM_Prepare للتحضير لتحديث المفتاح (Key Update Operation) وتنقل المعلومات المطلوبة إلى خادم المفاتيح أو تبدأ التفاوض على سر مشترك لاشتقاق المفاتيح [SWS_KeyM_00051]. تمتلك الدالة معرف الخدمة (Service-ID) 0x05، ومصرح عنها عبر ملف الترويسة KeyM.h، وتتاح حصريًا عندما يتم ضبط معامل التكوين Key MCrypto Key Prepare Function Enabled على TRUE [SWS_KeyM_00051].

عند الاستدعاء، يجب تمرير المخازن المؤقتة ومحددات الطول التالية [SWS_KeyM_00051]:

  • Request Data وRequest Data Length: بيانات الإدخال وطولها للطلب [SWS_KeyM_00051].
  • Response Data: مؤشر إلى المخزن المؤقت لاستقبال بيانات الإخراج [SWS_KeyM_00051].
  • Response Data Length: معامل إدخال/إخراج، يحدد قبل الاستدعاء الحد الأقصى لحجم المخزن المؤقت المتاح ويحتوي عند العودة على عدد البايتات المكتوبة فعليًا [SWS_KeyM_00051].

إذا تم تأكيد الاستدعاء بـ E_OK، فهذا يعني أنه تم قبول الخدمة وتتم معالجتها داخليًا؛ وتُتاح النتائج النهائية لاحقًا عبر رد نداء (Callback) [SWS_KeyM_00051]. وإذا فشل القبول، تُرجع الدالة E_NOT_OK في حالة وجود أخطاء داخلية، أو KEYM_E_PARAMETER_MISMATCH عند اختلاف قيم المعاملات، أو KEYM_E_KEY_CERT_SIZE_MISMATCH عند عدم ملاءمة محددات الحجم [SWS_KeyM_00051].

نظرًا لأن KeyM_Prepare محددة على أنها غير قابلة لإعادة الدخول (Non Reentrant)، فلا يجوز إجراء استدعاءات متزامنة أو متداخلة [SWS_KeyM_00051].

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

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

دالة KeyM_Finalize [SWS_KeyM_00053] 📄 PDF

Std_ReturnType KeyM_Finalize (const uint8* RequestDataPtr, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16 ResponseMaxDataLength);

The function is used to finalize key update operations. It is typi cally used in conjunction with the Key M_

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

تختتم الدالة KeyM_Finalize عمليات التحديث للمفاتيح وتعيد عملية المفتاح إلى حالة الخمول (وضع Idle) [SWS_KeyM_00053]. وتُستخدم عادةً بالاقتران مع عملية KeyM_Start سابقة. بعد الاستدعاء، لا تقبل الوحدة أي عمليات تحضير أو تحديث أخرى (Prepare/Update) حتى يتم بدء تسلسل جديد عبر KeyM_Start [SWS_KeyM_00053]. بالإضافة إلى ذلك، يتم حفظ مادة المفتاح المحدثة بشكل دائم ونقلها إلى الحالة الصالحة من خلال استدعاء Csm_KeySetValid [SWS_KeyM_00053].

الاستخدام والتزامن: KeyM_Finalize غير قابلة لإعادة الدخول (Non Reentrant) وتعمل بشكل غير متزامن [SWS_KeyM_00053]. تفسير: نظرًا لعدم قابليتها لإعادة الدخول، فمن المرجح أن يتم الاستدعاء عادةً في سياق المهمة (Task context). سؤال Q-895ebec2d0d2e635 (مفتوح) لا تتاح واجهة التعامل إلا عندما يكون معامل التكوين KeyMCryptoKeyStartFinalizeFunctionEnabled مضبوطًا على TRUE، وهي مصرح عنها عبر KeyM.h [SWS_KeyM_00053].

المعاملات وقيم الإرجاع: يتم تمرير بيانات خاصة بالطلب عبر RequestDataPtr وRequestDataLength. وتُتاح بيانات الاستجابة عبر ResponseDataPtr؛ ويعمل ResponseMaxDataLength في البداية كحجم للمخزن المؤقت ويقدم عند الإرجاع المتزامن عدد البايتات الفعلي [SWS_KeyM_00053]. إذا تم قبول العملية ومعالجتها داخليًا، تُرجع الدالة E_OK (تتبع النتائج بشكل غير متزامن عبر رد نداء) ويظل ResponseMaxDataLength دون تغيير [SWS_KeyM_00053].

معالجة الأخطاء: في حالة حدوث خطأ، تشير KeyM_Finalize إلى الفشل عبر قيم إرجاع محددة [SWS_KeyM_00053]:

  • E_NOT_OK: لم يتم قبول العملية بسبب خطأ داخلي.
  • KEYM_E_BUSY: وحدة KeyM مشغولة بمهام أخرى؛ لا يمكن إجراء التحقق من الصحة بعد.
  • KEYM_E_PARAMETER_MISMATCH: المعاملات لا تتطابق مع القيمة المتوقعة.
  • KEYM_E_KEY_CERT_SIZE_MISMATCH: حجم المعامل لا يتطابق.

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

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

دالة KeyM_SetCertificate [SWS_KeyM_00057] 📄 PDF

Std_ReturnType KeyM_SetCertificate (KeyM_CertificateIdType CertId, const KeyM_CertDataType* CertificateDataPtr);

This function provides the certificate data to the key managem ent module to temporarily store the certificate.

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

الاستخدام

تمرر الدالة المتزامنة KeyM_SetCertificate بيانات الشهادة إلى وحدة إدارة المفاتيح لتخزين شهادة مؤقتًا [SWS_KeyM_00057]. وتتوقع كمعاملات إدخال كلاً من معرف الشهادة CertId (النوع KeyM_CertificateIdType) بالإضافة إلى المؤشر CertificateDataPtr (النوع const KeyM_CertDataType*)، الذي يشير إلى هيكل الشهادة المراد توفيره [SWS_KeyM_00057]. تم التصريح عن واجهة التعامل عبر ملف الترويسة KeyM.h ولها معرف الخدمة (Service-ID) 0x0a [SWS_KeyM_00057].

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

توفر قيمة الإرجاع من النوع Std_ReturnType معلومات حول قبول البيانات [SWS_KeyM_00057]:

  • E_OK: تم قبول الشهادة بنجاح [SWS_KeyM_00057].
  • E_NOT_OK: تعذر تعيين الشهادة [SWS_KeyM_00057].
  • KEYM_E_PARAMETER_MISMATCH: المعاملات الممررة لا تتطابق مع القيم المتوقعة [SWS_KeyM_00057].
  • KEYM_E_KEY_CERT_SIZE_MISMATCH: حجم بيانات الشهادة الممررة يختلف عن الحجم المتوقع [SWS_KeyM_00057].

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

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

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

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

دالة KeyM_GetCertificate [SWS_KeyM_00058] 📄 PDF

Std_ReturnType KeyM_GetCertificate (KeyM_CertificateIdType CertId, KeyM_CertDataType* CertificateDataPtr);

This function provides the certificate data

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

الاستخدام

تُستخدم الدالة المتزامنة KeyM_GetCertificate لتوفير بيانات الشهادة لمُعرّف شهادة محدد [SWS_KeyM_00058]. يمرر المُستدعي عبر المعلمة CertId مُعرّف الشهادة المطلوبة، بالإضافة إلى مؤشر إلى هيكل بيانات الشهادة عبر معلمة الإدخال/الإخراج CertificateDataPtr. ويكون المُستدعي مسؤولاً عن توفير المخزن المؤقت الذي يشير إليه المؤشر الموجود في الهيكل [SWS_KeyM_00058]. يجب تحديد الحد الأقصى لطول هذا المخزن المؤقت في الهيكل قبل الاستدعاء؛ وفي حالة الإرجاع الناجح (E_OK)، يحتوي حقل الطول على الطول الفعلي لبيانات الشهادة المقدمة [SWS_KeyM_00058].

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

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

  • E_OK: بيانات الشهادة متاحة وتم تسليمها بنجاح.
  • KEYM_E_PARAMETER_MISMATCH: معرّف الشهادة المُمرَّر (CertId) غير صالح.
  • KEYM_E_KEY_CERT_SIZE_MISMATCH: المخزن المؤقت المقدم صغير جدًا بالنسبة للشهادة.
  • KEYM_E_KEY_CERT_EMPTY: لا توجد بيانات شهادة، لأن فتحة الشهادة فارغة.
  • KEYM_E_KEY_CERT_READ_FAIL: لا يمكن توفير الشهادة نظرًا لرفض الوصول.
  • E_NOT_OK: لم يتم قبول العملية بسبب خطأ داخلي.

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

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

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو مخصص كدليل توجيهي. المرجع الأساسي هو مواصفة AUTOSAR الرسمية.

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

دالة KeyM_VerifyCertificates [SWS_KeyM_00059] 📄 PDF

Std_ReturnType KeyM_VerifyCertificates (KeyM_CertificateIdType CertId, KeyM_CertificateIdType CertUpperId);

This function verifies two certificates that are stored and parsed internally against each other. The certificat e referenced with Cert Id was signed by the certificate referenced with cert Upper Id. Only these two certificates are validated against each other.

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

تُستخدم الدالة KeyM_VerifyCertificates للتحقق غير المتزامن من شهادتين مخزنتين ومحللتين داخليًا في مواجهة بعضهما وفقًا لـ [SWS_KeyM_00059]. ويتم في ذلك التحقق مما إذا كانت الشهادة التابعة المشار إليها عبر CertId قد تم توقيعها بواسطة الشهادة الرئيسية المشار إليها بـ CertUpperId.

نظرًا لأن الخدمة محددة بأنها غير قابلة لإعادة الدخول (Non Reentrant)، فلا يجوز استدعاؤها بشكل متزامن لعمليات متداخلة [SWS_KeyM_00059]. ويتم التنفيذ بشكل غير متزامن في الخلفية: تشير قيمة الإرجاع E_OK فقط إلى قبول طلب التحقق بنجاح. ويتم إبلاغ المستدعي بنتيجة التحقق الفعلية عبر دالة رد النداء المهيأة KeyMCertificateVerifyCallbackNotificationFunc، شريطة أن تكون مهيأة بشكل صالح [SWS_KeyM_00153].

إذا لم يتم قبول الطلب، تُرجع الدالة قيم إرجاع محددة لمعالجة الأخطاء [SWS_KeyM_00059]:

  • KEYM_E_BUSY: إن Key Manager مشغول بمهام أخرى؛ ولا يمكن بدء التحقق في هذا الوقت بعد.
  • KEYM_E_PARAMETER_MISMATCH: معرّف شهادة ممرر واحد على الأقل غير صالح.
  • KEYM_E_KEY_CERT_EMPTY: إحدى فتحات الشهادات المشار إليها فارغة.
  • KEYM_E_CERT_INVALID_CHAIN_OF_TRUST: الشهادة الرئيسية (CertUpperId) غير صالحة.
  • E_NOT_OK: تم رفض الطلب بسبب خطأ داخلي.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويُستخدم للتوجيه الفني استنادًا إلى مواصفات AUTOSAR.

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

دالة KeyM_VerifyCertificate [SWS_KeyM_00060] 📄 PDF

Std_ReturnType KeyM_VerifyCertificate (KeyM_CertificateIdType CertId);

Service KeyM_VerifyCertificate.

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

تُستخدم الدالة KeyM_VerifyCertificate للتحقق غير المتزامن من شهادة تم توفيرها مسبقًا عبر KeyM_SetCertificate() [SWS_KeyM_00060]. يتم إجراء الفحص بناءً على مُعرّف الشهادة المُمرر CertId مقابل شهادات لمُعرّفات شهادات (IDs) أخرى مودعة بالفعل في Key Manager [SWS_KeyM_00060]. يتوفر التصريح عبر ملف الرأس KeyM.h [SWS_KeyM_00060].

دلالات الاستدعاء والقيم المرجعة

تؤكد القيمة المرجعة E_OK أنه تم قبول طلب التحقق بنجاح وأن العملية تُنفذ في الخلفية [SWS_KeyM_00060]. وإذا تعذر قبول الأمر، يتم إرسال الاستجابة بشكل متزامن عبر رموز خطأ محددة [SWS_KeyM_00060]:

  • E_NOT_OK: تم رفض العملية بسبب خطأ داخلي [SWS_KeyM_00060].
  • KEYM_E_BUSY: وحدة KeyM مشغولة حاليًا بمهام أخرى، بحيث لا يمكن إجراء التحقق من الصحة بعد [SWS_KeyM_00060].
  • KEYM_E_PARAMETER_MISMATCH: CertId الممرر غير صالح [SWS_KeyM_00060].
  • KEYM_E_KEY_CERT_EMPTY: واحدة على الأقل من فتحات الشهادات المطلوبة فارغة [SWS_KeyM_00060].
  • KEYM_E_CERT_INVALID_CHAIN_OF_TRUST: شهادة عليا في سلسلة الثقة غير صالحة [SWS_KeyM_00060].

التزامن والعمل غير المتزامن

نظرًا لتحديد KeyM_VerifyCertificate على أنها غير قابلة لإعادة الدخول (Non Reentrant)، يجب على المُستدعي التأكد من عدم حدوث استدعاءات متزامنة أو مقاطعة [SWS_KeyM_00060]. بعد قبول أمر الفحص بنجاح (الإرجاع E_OK)، يتم إرسال نتيجة عملية الخلفية إلى دالة رد النداء المهيأة KeyMCertificateVerifyCallbackNotificationFunc، بشرط تزويدها باسم دالة صالح [SWS_KeyM_00153].

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

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

دالة KeyM_VerifyCertificateChain [SWS_KeyM_00061] 📄 PDF

Std_ReturnType KeyM_VerifyCertificateChain (KeyM_CertificateIdType CertId, const KeyM_CertDataType[] certChainData, uint8 NumberOfCertificates);

Service KeyM_VerifyCertificateChain.

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

تُستخدم الدالة KeyM_VerifyCertificateChain للتحقق غير المتزامن من شهادة ما في مواجهة سلسلة من الشهادات الممررة [SWS_KeyM_00061]. ويتم تمرير معرّف الشهادة الأخيرة في السلسلة (CertId)، ومؤشر إلى مصفوفة الشهادات المرتبة وفقًا لتسلسل PKI (certChainData)، بالإضافة إلى عدد الشهادات (NumberOfCertificates) كمعاملات [SWS_KeyM_00061]. وقبل الاستدعاء، يجب أن تكون الشهادة المراد فحصها قد سُجلت عبر KeyM_SetCertificate()، ويجب أن تكون شهادة الجذر (Root) إما متضمنة في القائمة أو مخصصة بالفعل لإحدى الشهادات الأخرى [SWS_KeyM_00061].

الوظيفة غير قابلة لإعادة الدخول (Non Reentrant) وتُوفَّر عبر ملف الترويسة KeyM.h [SWS_KeyM_00061]. تشير قيم الإرجاع المتزامنة التالية إلى حالة قبول الطلب [SWS_KeyM_00061]:

  • E_OK: تم قبول طلب الفحص ويجري تنفيذه في الخلفية [SWS_KeyM_00061].
  • E_NOT_OK: تم رفض الطلب بسبب خطأ داخلي [SWS_KeyM_00061].
  • KEYM_E_BUSY: الوحدة مشغولة بطلبات أخرى؛ لا يمكن تنفيذ التحقق من الصحة بعد [SWS_KeyM_00061].
  • KEYM_E_PARAMETER_MISMATCH: معرف الشهادة الممرر غير صالح [SWS_KeyM_00061].
  • KEYM_E_KEY_CERT_EMPTY: أحد فتحات الشهادات المطلوبة فارغ [SWS_KeyM_00061].
  • KEYM_E_CERT_INVALID_CHAIN_OF_TRUST: شهادة عليا في سلسلة الثقة غير صالحة [SWS_KeyM_00061].

إذا قُبِل الطلب بـ E_OK، فسيتم التقييم في الخلفية. وما دام KeyMCertificateVerifyCallbackNotificationFunc قد تم تكوينه بوظيفة صالحة، تُبلِغ KeyM التطبيقَ المستدعي بالنتيجة النهائية لعملية التحقق عبر وظيفة رد الاتصال هذه [SWS_KeyM_00061] [SWS_KeyM_00153].

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

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

دالة KeyM_CertElementGet [SWS_KeyM_00063] 📄 PDF

Std_ReturnType KeyM_CertElementGet (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint8* CertElementData, uint32* CertElementDataLength);

Service KeyM_CertElementGet.

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

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

تُستخدم الدالة المتزامنة KeyM_CertElementGet لقراءة بيانات عنصر شهادة محدد من فتحة شهادة في مخزن مؤقت يوفره المُستدعي [SWS_KeyM_00063]. وتُستخدم عندما يكون مُعرّف الكائن (OID) المودع في تهيئة الشهادة مرتبطًا بعنصر واحد فقط [SWS_KeyM_00063].

يمرر المُستدعي مُعرّف الشهادة CertId، ومُعرّف العنصر CertElementId، بالإضافة إلى مؤشر إلى المخزن المؤقت الهدف CertElementData [SWS_KeyM_00063]. وتعمل المعلمة CertElementDataLength كقيمة إدخال وإخراج مشتركة: يجب أن تحتوي قبل الاستدعاء على أقصى حجم للمخزن المؤقت. في حالة النجاح (E_OK)، يتم استبدالها بالطول الفعلي للبيانات المكتوبة؛ وفي حالة الخطأ، تعيد الدالة تعيين القيمة المشار إليها إلى الصفر [SWS_KeyM_00063].

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

تبلغ الدالة عن حالة التنفيذ عبر القيم المرجعة التالية [SWS_KeyM_00063]:

  • E_OK: تم العثور على العنصر ونسخه بنجاح في المخزن المؤقت [SWS_KeyM_00063].
  • E_NOT_OK: لم يتم العثور على بيانات العنصر [SWS_KeyM_00063].
  • KEYM_E_PARAMETER_MISMATCH: غير صالح CertId أو CertElementId [SWS_KeyM_00063].
  • KEYM_E_KEY_CERT_SIZE_MISMATCH: المخزن المؤقت المقدم صغير جدًا لبيانات العنصر [SWS_KeyM_00063].
  • KEYM_E_KEY_CERT_EMPTY: لا توجد بيانات للفتحة المحددة، الفتحة فارغة [SWS_KeyM_00063].
  • KEYM_E_KEY_CERT_INVALID: الشهادة غير صالحة أو لم يتم التحقق منها بعد [SWS_KeyM_00063].

التزامن

تم تحديد الدالة على أنها غير قابلة لإعادة الدخول (Non Reentrant) [SWS_KeyM_00063]. لذلك، في حالة الاستدعاءات المتزامنة من مهام أو سياقات مختلفة، يُرجح أن تكون المزامنة من جانب المُستدعي مطلوبة. سؤال Q-238a3e53ce0e3a45 (مفتوح)

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

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

دالة KeyM_CertificateElementGetByIndex [SWS_KeyM_91014] 📄 PDF

Std_ReturnType KeyM_CertificateElementGetByIndex (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint32 Index, uint8* CertElementDataPtr, uint32* CertElementDataLengthPtr);

Service KeyM_CertificateElementGetByIndex.

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

تُستخدم الدالة المتزامنة KeyM_CertificateElementGetByIndex للقراءة المستهدفة لبيانات عنصر شهادة استنادًا إلى فهرس صفري الأساس (0..N)، وذلك عند وجود مدخلات متعددة لنوع عنصر ما [SWS_KeyM_91014]. وبذلك تشكل بديلاً للوصول المباشر مقارنة بالتكرار التسلسلي.

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

يمرر المستدعي معرّف الشهادة CertId ومعرّف العنصر CertElementId بالإضافة إلى Index المطلوب [SWS_KeyM_91014]. علاوة على ذلك، يجب على المستدعي تخصيص الذاكرة لـ CertElementDataPtr وتمرير الحد الأقصى المتاح لحجم الذاكرة الوسيطة عبر CertElementDataLengthPtr. عند العودة الناجحة، يتم استبدال CertElementDataLengthPtr بالطول الفعلي للبيانات المنسوخة [SWS_KeyM_91014].

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

تشير الدالة إلى النتيجة عبر قيم إرجاع محددة لـ Std_ReturnType [SWS_KeyM_91014]:

  • E_OK: تم العثور على العنصر ونُسخ بنجاح إلى الذاكرة الوسيطة للوجهة.
  • KEYM_E_PARAMETER_MISMATCH: قيمة CertId غير صالحة، أو CertElementId غير صالحة، أو أن Index الممرر يقع خارج النطاق الصالح.
  • KEYM_E_KEY_CERT_SIZE_MISMATCH: الذاكرة الوسيطة المقدمة صغيرة جدًا بالنسبة لعنصر الشهادة.
  • KEYM_E_KEY_CERT_EMPTY: الشهادة المحددة لا تحتوي على بيانات أو أنها فارغة.
  • KEYM_E_CERT_INVALID: الشهادة غير صالحة أو لم يكن التحقق ناجحًا.
  • E_NOT_OK: فشلت قراءة بيانات العنصر.

التزامن

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

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

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

دالة KeyM_CertificateElementGetCount [SWS_KeyM_91015] 📄 PDF

Std_ReturnType KeyM_CertificateElementGetCount (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint16* CountPtr);

This function provides the total number of data elements that a re available for the specified certificate element. Typically, only one data element is available. But in some cases, several data elements can be assigned to one certificate element in a row. This function retrieves the total number of elements. The indiv idual data elements can then accessed with Key M_ Certificate Element Get By Index(). It is similar to the functions Key M_ Cert Element Get First/ Key M_ Cert Element Get Next to retrieve a group of data elements of one certificate element. AUTOSAR CP R20 - of

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

تحدد الواجهة المتزامنة KeyM_CertificateElementGetCount العدد الإجمالي لعناصر البيانات المخزنة لعنصر شهادة محدد، وتكتب النتيجة في الذاكرة الوسيطة CountPtr [SWS_KeyM_91015].

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

يتم الإعلان عن الدالة عبر ملف الترويسة KeyM.h ولها معرف الخدمة 0x1c [SWS_KeyM_91015]. وهي تعالج المعاملات التالية:

  • CertId (IN): المعرف الفريد للشهادة المطلوب الاستعلام عنها ([SWS_KeyM_91015]).
  • CertElementId (IN): يحدد العنصر الفعلي داخل الشهادة ([SWS_KeyM_91015]).
  • CountPtr (OUT): مؤشر إلى الذاكرة الوسيطة من النوع uint16، والتي يُنسخ إليها عدد عناصر البيانات المتاحة ([SWS_KeyM_91015]).

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

توفر قيمة الإرجاع من النوع Std_ReturnType معلومات حول نتيجة التنفيذ [SWS_KeyM_91015]:

  • E_OK: تم بنجاح كتابة قيمة العد في الذاكرة الوسيطة ([SWS_KeyM_91015]).
  • E_NOT_OK: تعذر توفير قيمة العد ([SWS_KeyM_91015]).
  • KEYM_E_PARAMETER_MISMATCH: معرّف الشهادة (CertId) أو معرّف العنصر (CertElementId) غير صالح أو يقع خارج النطاق المسموح به ([SWS_KeyM_91015]).

التزامن والتفاعل

التنفيذ متزامن، ولكنه مصنف على أنه غير قابل لإعادة الدخول (Non Reentrant)، مما يستوجب تنسيق الاستدعاءات المتزامنة [SWS_KeyM_91015]. بينما يُعيّن عادةً عنصر بيانات واحد فقط لعناصر الشهادة، يمكن في حالات معينة وجود عدة عناصر بيانات متتالية [SWS_KeyM_91015]. ويُستخدم العدد الإجمالي المحدد كأساس لقراءة العناصر المفردة لاحقًا بشكل مستهدف عبر KeyM_CertificateElementGetByIndex()، وهو ما يشبه وظيفيًا النهج التكراري باستخدام KeyM_CertElementGetFirst وKeyM_CertElementGetNext [SWS_KeyM_91015].

تستند ملاحظة الاستخدام هذه إلى مواصفة AUTOSAR SWS_KeyM_91015.

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

دالة KeyM_CertElementGetFirst [SWS_KeyM_00064] 📄 PDF

Std_ReturnType KeyM_CertElementGetFirst (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);

Service KeyM_CertElementGetFirst.

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

تُستخدم الدالة المتزامنة KeyM_CertElementGetFirst وفقًا لـ [SWS_KeyM_00064] لبدء الاستخراج التكراري لبيانات الشهادة. وتقرأ العنصر الأعلى لعنصر الشهادة المعنون عبر CertElementId من الشهادة CertId وتقوم بتهيئة بناء المكرر CertElementIterator للاستدعاءات اللاحقة لـ KeyM_CertElementGetNext().

عند الاستدعاء، يجب مراعاة متطلبات المعلمات والذاكرة التالية وفقًا لـ [SWS_KeyM_00064]:

  • CertElementIterator: مؤشر إلى هيكل مخصص ومدار من قبل المُستدعي؛ ولا يجوز للتطبيق إتلافه أو تعديله طالما لم يتم استرداد جميع البيانات عبر KeyM_CertElementGetNext().
  • CertElementData: مؤشر إلى مخزن مؤقت للإخراج يوفره المُستدعي، وتُنسخ إليه البيانات المفيدة عند العثور بنجاح (E_OK).
  • CertElementDataLength: يمرر كإدخال الحد الأقصى لطول مخزن البيانات المؤقت، ويتم استبداله عند إرجاع E_OK بطول البيانات المكتوبة فعليًا.

فيما يتعلق بالتزامن، فإن الخدمة قابلة لإعادة الدخول وفقًا لـ [SWS_KeyM_00064]، ولكنها مخصصة لمكرر واحد فقط («Reentrant for one iterator»).

في حالة حدوث خطأ، تميز الدالة عبر قيم مرجعة محددة وفقًا لـ [SWS_KeyM_00064]: يشير E_NOT_OK إلى أنه لم يتم العثور على بيانات للعنصر (ولا يجوز بعد ذلك استخدام المكرر لأي استدعاءات أخرى). ويشير KEYM_E_PARAMETER_MISMATCH إلى مُعرّف شهادة أو مُعرّف عنصر غير صالح، وKEYM_E_KEY_CERT_SIZE_MISMATCH إلى مخزن بيانات مؤقت صغير جدًا، وKEYM_E_KEY_CERT_EMPTY إلى شهادة فارغة دون بيانات متاحة، وKEYM_E_CERT_INVALID إلى شهادة غير صالحة أو لم يتم التحقق منها بنجاح.

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

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

دالة KeyM_CertElementGetNext [SWS_KeyM_00065] 📄 PDF

Std_ReturnType KeyM_CertElementGetNext (KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);

Service KeyM_CertElementGetNext.

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

تُستخدم الدالة المتزامنة KeyM_CertElementGetNext (مُعرّف الخدمة 0x11، المقدمة عبر KeyM.h) للقراءة المستمرة لبيانات إضافية من عنصر شهادة، إذا كانت هناك سجلات بيانات متعددة مخزنة فيه بشكل تسلسلي [SWS_KeyM_00065]. كشرط استدعاء إلزامي، تتطلب المواصفة أن يتم استدعاء الدالة KeyM_CertElementGetFirst() مرة واحدة على الأقل مسبقًا [SWS_KeyM_00065].

يجب توفير مساحات الذاكرة لجميع المعلمات بواسطة التطبيق المُستدعي [SWS_KeyM_00065]:

  • CertElementIterator: مؤشر إلى هيكل مكرر مخصص، لا يجوز للتطبيق تعديله أو إتلافه أثناء التكرار حتى تتم قراءة جميع العناصر بالكامل [SWS_KeyM_00065].
  • CertElementData: مؤشر إلى المخزن المؤقت للإخراج، الذي تنسخ الدالة إليه البيانات المفيدة عند التنفيذ الناجح [SWS_KeyM_00065].
  • CertElementDataLength: يمرر السعة القصوى لمخزن البيانات المؤقت عند الاستدعاء، ويتم استبداله عند الإرجاع الناجح بالطول الفعلي للبيانات المنسوخة [SWS_KeyM_00065].

إذا أعاد الاستدعاء E_OK، فهذا يعني أنه تم العثور على العنصر التالي، وكتابته في المخزن المؤقت، ومتابعة المكرر وفقًا لذلك [SWS_KeyM_00065]. وفي حالة E_NOT_OK، تعذر العثور على المزيد من بيانات العنصر؛ وفي هذه الحالة لا يجوز استخدام المكرر لمزيد من الاستدعاءات [SWS_KeyM_00065]. يتم الإبلاغ عن حالات الخطأ عبر قيم مرجعة محددة: يشير KEYM_E_KEY_CERT_SIZE_MISMATCH إلى مخزن بيانات مؤقت بحجم صغير جدًا، وKEYM_E_PARAMETER_MISMATCH إلى مُعرّف شهادة أو مُعرّف عنصر غير صالح، وKEYM_E_KEY_CERT_EMPTY إلى شهادة فارغة، وKEYM_E_CERT_INVALID إلى شهادة غير صالحة أو لم يتم التحقق منها بنجاح [SWS_KeyM_00065].

فيما يتعلق بالتزامن، تم تحديد الدالة المتزامنة على أنها قابلة لإعادة الدخول لمكرر واحد في كل مرة [SWS_KeyM_00065].

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

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

دالة KeyM_CertGetStatus [SWS_KeyM_00066] 📄 PDF

Std_ReturnType KeyM_CertGetStatus (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType* Status);

This function provides the sta tus of a certificate.

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

تُستخدم الدالة المتزامنة KeyM_CertGetStatus للاستعلام عن حالة شهادة وتوفيرها عبر معلمة إخراج [SWS_KeyM_00066]. يتوفر التصريح عن الدالة عبر ملف الرأس KeyM.h، وتم تعيين مُعرّف الخدمة السداسي عشري 0x12 للخدمة [SWS_KeyM_00066].

تُستخدم المعلمات التالية للاستدعاء [SWS_KeyM_00066]:

  • CertId (IN): يحتوي على مُعرّف الشهادة المراد الاستعلام عنها ويتم تمريره بنوع البيانات KeyM_CertificateIdType [SWS_KeyM_00066].
  • Status (OUT): مؤشر إلى مساحة الذاكرة من النوع KeyM_CertificateStatusType، التي تكتب فيها الدالة الحالة المحددة للشهادة [SWS_KeyM_00066].

تُبلغ القيمة المرجعة من النوع Std_ReturnType عن نتيجة الاستعلام عن الحالة [SWS_KeyM_00066]:

  • E_OK: تم تحديد حالة الشهادة وتوفيرها بنجاح [SWS_KeyM_00066].
  • E_NOT_OK: لا يمكن توفير الحالة حاليًا [SWS_KeyM_00066]. يحدث هذا على سبيل المثال عند تمرير مُعرّف شهادة غير صالح (ID)، وهو موثق برمز الخطأ KEYM_E_PARAMETER_MISMATCH [SWS_KeyM_00066].

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

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

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

دالة KeyM_MainFunction [SWS_KeyM_00074] 📄 PDF

void KeyM_MainFunction (void);

Function is called periodically according the specified time interval.

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

تُستخدم الوظيفة KeyM_MainFunction كوظيفة رئيسية دورية لوحدة AUTOSAR الكلاسيكية KeyM [SWS_KeyM_00074]. وفقاً للمواصفة، تمتلك الوظيفة معرف الخدمة 0x19 بالتمثيل الست عشري بالإضافة إلى التوقيع void KeyM_MainFunction (void) [SWS_KeyM_00074]. بالتالي، لا تُمرر الكيانات المستدعية أي معاملات إدخال ولا تتلقى أي قيمة إرجاع [SWS_KeyM_00074].

بالنسبة للتحكم الزمني، تم تحديد وجوب استدعاء الوظيفة دورياً وفقاً لفاصل زمني محدد [SWS_KeyM_00074]. تم الإعلان عن ملف الترويسة SchM_KeyM.h كملف واجهة [SWS_KeyM_00074]. وينتج عن ذلك التفسير التالي: من خلال التوفير عبر SchM_KeyM.h، من المرجح أن يتم الاستدعاء المنتظم للوظيفة في سياق مجدول برمجيات الأساس (SchM) [SWS_KeyM_00074]. سؤال Q-761ff71812bda3c2 (مفتوح) بالإضافة إلى ذلك، يُستخدم التشغيل الحلقي على الأرجح للمعالجة الداخلية للعمليات المعتمدة على الوقت في الوحدة KeyM.

فيما يتعلق بمعالجة الأخطاء وسلوك الخطأ، لم يتم توثيق أي رموز إرجاع أو ثوابت أخطاء أو رسائل إلى DET أو DEM في عنصر المواصفة لهذه الخدمة [SWS_KeyM_00074]. ونظراً لعدم وجود معاملات إدخال، ينتفي أيضاً التحقق من قيم التمرير عند الاستدعاء [SWS_KeyM_00074].

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

دالة KeyM_MainBackgroundFunction [SWS_KeyM_00075] 📄 PDF

void KeyM_MainBackgroundFunction (void);

Function is called from a pre - emptive operating system when no other task operation is needed. Can be used for calling time consuming synchronous functions such as Key M_ KH_ Update().

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

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

تمتلك الوظيفة KeyM_MainBackgroundFunction التوقيع void KeyM_MainBackgroundFunction(void) وهي محددة تحت معرف الخدمة 0x1a [SWS_KeyM_00075]. لا تقبل أي معاملات تمرير ولا تعيد أي قيمة إرجاع إلى المستدعي [SWS_KeyM_00075]. ومن أجل الدمج، يتم الإعلان عن الواجهة وتوفيرها عبر ملف الترويسة SchM_KeyM.h [SWS_KeyM_00075].

يتم الاستدعاء بواسطة نظام تشغيل وقائي في الخلفية بمجرد عدم وجود عملية مهمة أخرى قيد الانتظار للمعالجة [SWS_KeyM_00075]. الغرض الأساسي من هذه الوظيفة هو توفير سياق خلفية غير حرج للعمليات المتزامنة والمستغرقة للوقت الخاصة بالوحدة KeyM، كما هو موصوف على سبيل المثال لتنفيذ KeyM_KH_Update() [SWS_KeyM_00075].

التزامن ومعالجة الأخطاء

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

تم إنشاء هذا النص بواسطة ذكاء اصطناعي ويستند حصرياً إلى بيانات المواصفة المأخوذة من الحمولة.

دالة KeyM_KH_Start [SWS_KeyM_00067] 📄 PDF

Std_ReturnType KeyM_KH_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);

If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto Key

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

يتم التصريح عن الدالة المتزامنة وغير القابلة لإعادة الدخول KeyM_KH_Start عبر ملف الرأس KeyM_Externals.h [SWS_KeyM_00067]. وإذا تم ضبط معلمتي التهيئة KeyMCryptoKeyStartFinalizeFunctionEnabled وKeyMCryptoKeyHandlerStartFinalizeEnabled على TRUE، فسيتم تنفيذها مباشرة عند استدعاء KeyM_Start [SWS_KeyM_00067].

يتم تحديد وضع تنفيذ عملية المفتاح عبر المعلمة StartType. وباستخدام RequestData وRequestDataLength، تستقبل الدالة بيانات مصاحبة خاصة بالطلب مثل التوقيعات. ويمرر المُستدعي عبر معلمة الإدخال/الإخراج ResponseDataLength الحد الأقصى لكمية البايتات المتاحة في المخزن المؤقت ResponseData؛ وفي حالة النجاح، تبلغ الدالة عبرها عن عدد بايتات الاستجابة المكتوبة فعليًا [SWS_KeyM_00067].

تُرجع الدالة حالة من النوع Std_ReturnType كقيمة إرجاع [SWS_KeyM_00067]:

  • E_OK: كانت عملية البدء ناجحة. ومن خلال هذه القيمة المرجعة فقط ينتقل Key Manager إلى الحالة النشطة، بحيث تصبح تحديثات المفاتيح اللاحقة (Key Updates) مسموحًا بها.
  • E_NOT_OK: لم يتم قبول عملية البدء.
  • KEYM_E_PARAMETER_MISMATCH: أحد المعاملات الممررة لا يتطابق مع القيمة المتوقعة.
  • KEYM_E_KEY_CERT_SIZE_MISMATCH: حجم معلمة محدد لا يتطابق مع الحجم المتوقع.

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

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

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

دالة KeyM_KH_Prepare [SWS_KeyM_00068] 📄 PDF

Std_ReturnType KeyM_KH_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16* ResponseDataLength);

If the configuration parameters Key MCrypto Key Prepare Function Enabled and Key MCrypto Key Handler Prepare Enabled are both set to TRUE, then this function w ill be called immediately when Key M_ Prepare gets called. The function takes over the task to prepare a key management operation. The response data will be passed on as is to the caller of Key_ Prepare.

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

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

يتم التصريح عن الدالة KeyM_KH_Prepare عبر ملف الرأس KeyM_Externals.h وتُستخدم لتجهيز عملية إدارة المفاتيح [SWS_KeyM_00068]. ويتم إطلاقها مباشرة عند استدعاء KeyM_Prepare، إذا تم ضبط كل من معلمتي التهيئة KeyMCryptoKeyPrepareFunctionEnabled وKeyMCryptoKeyHandlerPrepareEnabled على TRUE [SWS_KeyM_00068]. ويتم التنفيذ بشكل متزامن ومحدد على أنه غير قابل لإعادة الدخول [SWS_KeyM_00068].

يتم تسليم البيانات عبر أربع معلمات [SWS_KeyM_00068]:

  • RequestData: بيانات الإدخال التي يتم تمريرها مع الطلب [SWS_KeyM_00068].
  • RequestDataLength: طول البيانات في المصفوفة RequestData [SWS_KeyM_00068].
  • ResponseDataPtr: مؤشر إلى المخزن المؤقت لبيانات الاستجابة المرجعة من الدالة، والتي يتم تمريرها دون تغيير إلى مُستدعي Key_Prepare [SWS_KeyM_00068].
  • ResponseDataLength: معلمة إدخال وإخراج؛ تمرر عند الاستدعاء الحد الأقصى لعدد البايتات المتاحة في المخزن المؤقت وتعيد بعد الرجوع كمية البايتات المكتوبة فعليًا [SWS_KeyM_00068].

قيم الإرجاع وسلوك الخطأ

تعيد الدالة قيمة الحالة Std_ReturnType كنتيجة [SWS_KeyM_00068]:

  • E_OK: تم قبول الخدمة وتتم معالجتها داخليًا؛ ويتم إرسال النتائج عبر رد نداء (Callback) [SWS_KeyM_00068].
  • E_NOT_OK: لم يتم قبول الخدمة بسبب خطأ داخلي [SWS_KeyM_00068].
  • KEYM_E_PARAMETER_MISMATCH: توجد معلمة لا تتطابق مع القيمة المتوقعة [SWS_KeyM_00068].
  • KEYM_E_KEY_CERT_SIZE_MISMATCH: حجم إحدى المعلمات غير مناسب [SWS_KeyM_00068].

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

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

دالة KeyM_KH_Finalize [SWS_KeyM_00070] 📄 PDF

Std_ReturnType KeyM_KH_Finalize (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);

If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto Key Handler Start Finalize Enabled is set to TRUE, this function will be called immediately when Key M_

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

الاستخدام والتفويض

يتم التصريح عن الدالة KeyM_KH_Finalize عبر ملف الرأس KeyM_Externals.h وتعمل كمعالج مفاتيح (Key-Handler) مخصص للمستخدم [SWS_KeyM_00070]. وإذا تم ضبط كل من KeyMCryptoKeyStartFinalizeFunctionEnabled وKeyMCryptoKeyHandlerStartFinalizeEnabled في التهيئة على TRUE، فإن KeyM_Finalize() لا تنفذ عملية مستقلة، بل تفوض المعالجة مباشرة إلى دالة المعالج هذه [SWS_KeyM_00070].

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

يتم استدعاء KeyM_KH_Finalize بشكل متزامن، ولكنه مصنف على أنه غير قابل لإعادة الدخول (Non Reentrant) ويتطلب سياق استدعاء محميًا [SWS_KeyM_00070]. يتم تسليم البيانات عبر المعلمات التالية:

  • RequestData وRequestDataLength: مؤشر إلى بيانات الإدخال الممررة مع الطلب بالإضافة إلى طول مصفوفة البيانات [SWS_KeyM_00070].
  • ResponseData: ذاكرة وسيطة لبيانات الإخراج المقدمة من الدالة [SWS_KeyM_00070].
  • ResponseDataLength: معامل إدخال/إخراج يحدد عند الاستدعاء الحد الأقصى لكمية البايتات المتاحة في الذاكرة الوسيطة للاستجابة، ويحتوي عند العودة على عدد البايتات المكتوبة فعليًا [SWS_KeyM_00070].

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

تُعاد نتيجة العملية عبر Std_ReturnType [SWS_KeyM_00070]:

  • E_OK: قُبلت العملية وستتم معالجتها داخليًا؛ وتُتاح النتائج عبر دالة استدعاء رد (Callback) [SWS_KeyM_00070]. التفسير: على الرغم من تعريف واجهة الدالة على أنها متزامنة، فمن المرجح أن يستمر التنفيذ الفعلي في الخلفية. سؤال Q-02c4aac040570c03 (مفتوح)
  • E_NOT_OK: لم تُقبل العملية بسبب خطأ داخلي [SWS_KeyM_00070].
  • KEYM_E_BUSY: وحدة Key Manager مشغولة بمهام أخرى، ولهذا السبب لا يمكن إجراء التحقق من الصحة حاليًا [SWS_KeyM_00070].
  • KEYM_E_PARAMETER_MISMATCH: توجد معلمة لا تتطابق مع القيمة المتوقعة [SWS_KeyM_00070].
  • KEYM_E_KEY_CERT_SIZE_MISMATCH: حجم المعامل الممرر لا يتطابق مع المتطلبات المحددة [SWS_KeyM_00070].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو مخصص كدليل إرشادي. والمستند المرجعي الملزم هو مواصفة AUTOSAR.

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

دالة KeyM_CryptoKeyUpdateCallbackNotification [SWS_KeyM_00077] 📄 PDF

void KeyM_CryptoKeyUpdateCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);

Notifies the application that a crypto key update operation has been finished. This function is used by the key manager.

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

تخطر دالة استدعاء الرد KeyM_CryptoKeyUpdateCallbackNotification() التطبيق باكتمال تحديث مفتاح تشفير ([SWS_KeyM_00077]). يتم توفير الدالة عبر KeyM_Externals.h، وهي متزامنة وقابلة لإعادة الدخول وليس لها قيمة إرجاع ([SWS_KeyM_00077]).

المعلمات

التفاعل وإدارة المخازن المؤقتة

يتم استدعاء KeyM_CryptoKeyUpdateCallbackNotification() بواسطة KeyM_Update() بمجرد عودة معالج المفاتيح وتقديمه لنوع العملية KEYM_KH_UPDATE_FINISH ([SWS_KeyM_00093]). وفي أثناء ذلك، تُنسخ بيانات النتيجة من KeyM_KH_Update::ResultDataPtr إلى الذاكرة الوسيطة التي تم تمريرها عند استدعاء KeyM_Update()، ويتم اعتماد قيمة الإرجاع الخاصة بمعالج المفاتيح ([SWS_KeyM_00093]).

إذا قبلت KeyM_Update() العملية بـ E_OK، فلا يجوز للدالة المستدعية تعديل الذاكرة الوسيطة ResultDataPtr بأي حال من الأحوال حتى يتم إرسال إخطار استدعاء الرد KeyM_CryptoKeyUpdateCallbackNotification() ([SWS_KeyM_00156]). ويتم تمرير مؤشر الذاكرة الوسيطة نفسه في دالة استدعاء الرد كـ ResultDataPtr مع نتائج العملية المنسوخة فيه ([SWS_KeyM_00156]).

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

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

دالة KeyM_CryptoKeyFinalizeCallbackNotification [SWS_KeyM_00079] 📄 PDF

void KeyM_CryptoKeyFinalizeCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);

Service KeyM_CryptoKeyFinalizeCallbackNotification.

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

تخطر دالة استدعاء الرد KeyM_CryptoKeyFinalizeCallbackNotification التطبيق باكتمال عملية إنهاء المفتاح [SWS_KeyM_00079]. تم تحديدها على أنها متزامنة وقابلة لإعادة الدخول، وليس لها قيمة إرجاع، ويتم الإعلان عنها عبر ملف الترويسة KeyM_Externals.h [SWS_KeyM_00079].

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

  • Result (النوع KeyM_ResultType): يرسل النتيجة ومعلومات الحالة للعملية المكتملة [SWS_KeyM_00079].
  • Result Data Length (النوع uint16): يحدد طول البيانات الناتجة عن هذه العملية [SWS_KeyM_00079].
  • Result Data Ptr (النوع const uint8*): مؤشر إلى الذاكرة الوسيطة المحتوية على بيانات النتيجة، والتي تم تقديمها مسبقًا لدالة الخدمة [SWS_KeyM_00079].

فيما يتعلق بالتكوين، لا يتم استدعاء دالة استدعاء الرد وتكون مطلوبة إلا إذا تم ضبط معامل التكوين KeyMCryptoKeyStartFinalizeFunctionEnabled على TRUE [SWS_KeyM_00079]. لم يتم تعريف رسائل خطأ محددة لـ DET أو DEM لدالة استدعاء الرد هذه. من المفترض أن التطبيق ينفذ دالة استدعاء الرد هذه لتلقي النتائج غير المتزامنة لعملية إنهاء مفتاح بدأت سابقًا. سؤال Q-6d9e4e062b008832 (مفتوح)

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

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

دالة KeyM_CryptoKeyVerifyCallbackNotification [SWS_KeyM_00081] 📄 PDF

void KeyM_CryptoKeyVerifyCallbackNotification (KeyM_ResultType Result, uint32 KeyId, uint16 ResultDataLength, const uint8* ResultDataPtr);

Notifies the application that a crypto key verify operation has been finished. This function is used by the key manager.

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

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

تُعلم دالة استدعاء الرد KeyM_CryptoKeyVerifyCallbackNotification التطبيق باكتمل عملية التحقق من مفتاح تشفير بواسطة الوحدة KeyM [SWS_KeyM_00081]. التفسير: نظرًا لأن العنصر متاح وفقًا للمواصفة عبر ملف الترويسة KeyM_Externals.h ويُستخدم لإخطار التطبيق، فمن المرجح أن يتم التنفيذ بواسطة مكون البرنامج المستخدم، بينما يتم الاستدعاء بواسطة Key Manager [SWS_KeyM_00081]. سؤال Q-e88e332a7d2cac40 (مفتوح)

تم تعريف أربعة معاملات إدخال خالصة للاستدعاء [SWS_KeyM_00081]:

  • Result (KeyM_ResultType): يمرر نتيجة التحقق المكتمل [SWS_KeyM_00081].
  • KeyId (uint32): يحدد معرّف المفتاح الذي بدأ التحقق من أجله [SWS_KeyM_00081].
  • ResultDataLength (uint16): يحتوي على طول بيانات النتيجة المتحصل عليها، إن وجدت [SWS_KeyM_00081].
  • ResultDataPtr (const uint8*): يشير إلى بيانات نتيجة التحقق [SWS_KeyM_00081].

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

لا تمتلك الدالة أي قيمة إرجاع (void) ولا معاملات إخراج أو معاملات إدخال/إخراج [SWS_KeyM_00081]. يتم تنفيذ الاستدعاء بشكل متزامن وقابل لإعادة الدخول [SWS_KeyM_00081]. لم يتم تحديد رموز أخطاء معينة أو رسائل DET أو DEM لدالة استدعاء الرد هذه؛ ويتم إرسال معلومات الحالة والخطأ حصريًا عبر المعامل Result إلى التطبيق [SWS_KeyM_00081].

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

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

دالة KeyM_ServiceCertificateCallbackNotification [SWS_KeyM_00147] 📄 PDF

void KeyM_ServiceCertificateCallbackNotification (KeyM_CertificateIdType CertId, KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);

Notifies the application that the certificate service operation has been finished. This function is used by the certificate submodule. Thi s callback is only provided if Key MService Certificate Function Enabled is set to TRUE. The function name is configurable by Key MService Certificate Callback Notification Func.

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

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

تُستدعى دالة الاسترجاع KeyM_ServiceCertificateCallbackNotification بواسطة الوحدة الفرعية للشهادات في KeyM لإخطار التطبيق بانتهاء عملية خدمة الشهادات [SWS_KeyM_00147]. تعمل عملية الشهادات السابقة بشكل غير تزامني وتنفذ دالة الاسترجاع هذه عند انتهائها لنقل النتائج إلى التطبيق [SWS_KeyM_00149].

يتم نقل جميع بيانات النتائج ذات الصلة عبر معلمات الدالة [SWS_KeyM_00147]:

  • CertId: معرف الشهادة التي بدأت العملية من أجلها.
  • Result: النوع KeyM_ResultType مع حالة العملية أو نتيجتها.
  • ResultDataLength: طول بيانات النتيجة، إن وجدت.
  • ResultDataPtr: مؤشر إلى بيانات النتيجة.

الدالة نفسها ليس لها قيمة مرجعة (void) وتتميز بدلالات تنفيذ تزامنية [SWS_KeyM_00147].

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

يتم توفير دالة الاسترجاع عبر الترويسة KeyM_Externals.h، ولكنها لا تتوفر إلا إذا تم تعيين معامل التهيئة KeyMServiceCertificateFunctionEnabled على TRUE [SWS_KeyM_00147]. الاسم الفعلي لدالة الإخطار قابل للتخصيص عبر معامل التهيئة KeyMServiceCertificateCallbackNotificationFunc [SWS_KeyM_00147].

التزامن ومعالجة الأخطاء

وفقًا للمواصفات، تم تصنيف الدالة بأنها قابلة لإعادة الدخول [SWS_KeyM_00147]. وتتم الإشارة إلى حالات الخطأ أو النجاح للعملية غير التزامنية السابقة عبر معامل التمرير Result؛ ولا توجد إخطارات محددة لـ DET أو DEM معرفة في حمولة واجهة الاسترجاع هذه [SWS_KeyM_00147].

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

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

دالة KeyM_CertificateVerifyCallbackNotification [SWS_KeyM_00073] 📄 PDF

Std_ReturnType KeyM_CertificateVerifyCallbackNotification (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType Result);

Notifies the application that a certificate verification has been finished. The function name is configurable by Key MCertificate Verify Callback Notification Func. Availabl e via Key M_ Externals.h

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

الاستخدام

تُستخدم دالة استدعاء الرد KeyM_CertificateVerifyCallbackNotification لإخطار التطبيق باكتمال التحقق من شهادة [SWS_KeyM_00073]. الإعلان متاح عبر ملف الترويسة KeyM_Externals.h، مع إمكانية تكوين اسم الدالة عبر معامل التكوين KeyMCertificateVerifyCallbackNotificationFunc [SWS_KeyM_00073].

يتم تمرير معاملي إدخال عند الاستدعاء [SWS_KeyM_00073]:

  • CertId (النوع KeyM_CertificateIdType): معرف الشهادة التي تم التحقق منها [SWS_KeyM_00073].
  • Result (النوع KeyM_CertificateStatusType): يحتوي على معلومات حول نتيجة عملية التحقق [SWS_KeyM_00073].

تعيد الدالة القيمة E_OK كقيمة حالة من النوع Std_ReturnType [SWS_KeyM_00073].

التنفيذ ومعالجة الأخطاء

تم تعريف تنفيذ الإخطار على أنه متزامن وقابل لإعادة الدخول (Reentrant) [SWS_KeyM_00073]. لا توجد رموز أخطاء محددة أو قيم إرجاع مختلفة أو رسائل إلى DET أو DEM مخصصة لدالة استدعاء الرد هذه [SWS_KeyM_00073]. التفسير: من المرجح أن يلزم تصميم التنفيذ من جانب التطبيق ليكون آمنًا بالنسبة للخيوط (Thread-safe)، وذلك لمعالجة الاستدعاءات المتزامنة لشهادات مختلفة دون آثار جانبية. سؤال Q-6bf5313c425fe1a8 (مفتوح)

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

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

نوع KeyM_ConfigType [SWS_KeyM_00157] 📄 PDF

This structure is the base type to initialize the Key Manager module. A pointer to an instance of this structure will be used in the initialization of the Key Manager module.

نوع KeyM_KH_UpdateOperationType [SWS_KeyM_00055] 📄 PDF

Specifies the type of key handler update operation that was performed in the callback.

نوع KeyM_CertElementIteratorType [SWS_KeyM_00042] 📄 PDF

This structure is used to iterate through a number of elements of a certificate.

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

الاستخدام

نوع البيانات KeyM_CertElementIteratorType معرف وفقًا لـ [SWS_KeyM_00042] كبنية (Structure) ومتاح عبر ملف الترويسة KeyM.h. وفقًا للمواصفة، يُستخدم هذا النوع للتكرار عبر سلسلة من عناصر الشهادة ([SWS_KeyM_00042]). وبما أن المحتوى الفعلي لبنية البيانات محدد صراحةً على أنه خاص بالتنفيذ ([SWS_KeyM_00042])، فيُرجح أن يعتبر المستخدمون هذا النوع حالة تكرار غير شفافة وألا يصلوا مباشرةً إلى الحقول الهيكلية الداخلية. سؤال Q-81b5deb7dcdf2812 (مفتوح)

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

تنتج من المواصفة الشروط العامة والعملية التالية للاستخدام:

  • بنية خاصة بالتنفيذ: بما أن حقول KeyM_CertElementIteratorType تُنفذ وفقًا للجهة المصنعة ([SWS_KeyM_00042])، فإن تخطيط الذاكرة الداخلي يعتمد على تحقيق BSW المعني.
  • إدارة الحالة: تفسير: يُرجح أن يقوم المستدعي بتخصيص مثيل للبنية كسياق مكرر وتمريره إلى الدوال المقابلة لاجتياز عناصر الشهادة، وذلك لتتبع التقدم المحرز في فحص حقول الشهادة أو استخراجها. سؤال Q-5ddb438001abe656 (مفتوح)
  • التزامن: يُفترض أن مثيل المكرر غير قابل للاستخدام بشكل متزامن دون مزامنة خارجية عبر عدة مهام، في حال حدوث وصول متوازٍ إلى الشهادة نفسها. سؤال Q-6b4b8b1cdc35f021 (مفتوح)

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

نوع KeyM_StartType [SWS_KeyM_00038] 📄 PDF

This type specifies in which mode the key operation will start. The OEM production mode provides higher privileges compared to workshop mode.

نوع KeyM_ServiceCertificateType [SWS_KeyM_00039] 📄 PDF

This type specifies the requested service operation and what information is provided with this function.

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

يُتاح نوع التعداد KeyM_ServiceCertificateType عبر ملف الترويسة Rte_KeyM_Type.h ويحدد عملية خدمة الشهادات المطلوبة من خادم المفاتيح بالإضافة إلى نوع المعلومات الممررة مع الدالة [SWS_KeyM_00039]. ويُرجح أن يشير التصريح في ملف ترويسة RTE إلى أن النوع يُستخدم بشكل أساسي في تبادل البيانات بين مكونات البرمجيات والوحدة النمطية Key Manager. سؤال Q-37ed693ea3eda646 (مفتوح)

تم تحديد رموز العمليات القياسية التالية لإدارة الشهادات [SWS_KeyM_00039]:

  • KEYM_SERVICE_CERT_REQUEST_CSR (0x01): يطلب خادم المفاتيح من عميل المفاتيح إنشاء شهادة أو طلب توقيع شهادة (CSR) [SWS_KeyM_00039].
  • KEYM_SERVICE_CERT_UPDATE_SIGNED_CSR (0x02): يُرجع الخادم شهادة تم استلامها سابقًا وموقعة حاليًا من قبل المرجع المصدق (CA) [SWS_KeyM_00039].
  • KEYM_SERVICE_CERT_SET_ROOT (0x03) وKEYM_SERVICE_CERT_UPDATE_ROOT (0x04): إنشاء شهادة جذر جديدة أو تحديث شهادة جذر حالية [SWS_KeyM_00039].
  • KEYM_SERVICE_CERT_SET_INTERMEDIATE (0x05) وKEYM_SERVICE_CERT_UPDATE_INTERMEDIATE (0x06): إضافة شهادة وسيطة (شهادة CA) أو تحديثها [SWS_KeyM_00039].
  • KEYM_SERVICE_CERT_UPDATE_CRL (0x07): توفير قائمة إلغاء الشهادات (CRL) أو تحديثها [SWS_KeyM_00039].

كشرط مسبق أساسي، يتطلب KEYM_SERVICE_CERT_SET_INTERMEDIATE أن تكون شهادة الجذر المقترنة مودعة بالفعل قبل تعيين شهادة وسيطة، وذلك لضمان التحقق الناجح [SWS_KeyM_00039]. وتوفر المواصفة للتوسعات الخاصة بالمشروع نطاق القيم المحجوز من 0x80 إلى 0x9F [SWS_KeyM_00039].

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

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

نوع KeyM_CertificateStatusType [SWS_KeyM_91003] 📄 PDF

Type KeyM_CertificateStatusType.

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

يمثل نوع التعداد KeyM_CertificateStatusType نتيجة عمليات فحص الشهادات ويعكس حالة التحقق والمعالجة الحالية لشهادة في Key Manager [SWS_KeyM_91003]. يُوفَّر النوع عبر الترويسة Rte_KeyM_Type.h ويُستخدم من قبل المستدعين لتقييم الحالة أو أسباب الأخطاء المحددة للتحقق من الشهادة بشكل متمايز [SWS_KeyM_91003].

تغطي قيم التعداد كلاً من الحالات المرحلية وحالات النجاح العادية بالإضافة إلى أنماط الأخطاء الدقيقة [SWS_KeyM_91003]:

  • KEYM_CERTIFICATE_VALID (0x00): تم تحليل الشهادة والتحقق منها بنجاح [SWS_KeyM_91003].
  • KEYM_CERTIFICATE_INVALID (0x01): الشهادة غير صالحة بسبب خطأ لم يتم تحديده بدقة [SWS_KeyM_91003].
  • KEYM_CERTIFICATE_NOT_PARSED (0x02): لم يتم تحليل الشهادة حتى الآن [SWS_KeyM_91003].
  • KEYM_CERTIFICATE_PARSED_NOT_VALIDATED (0x03): تم تحليل الشهادة، ولكن لم يتم التحقق من صحتها بعد [SWS_KeyM_91003].
  • KEYM_CERTIFICATE_NOT_AVAILABLE (0x04): لم يتم تعيين أي شهادة [SWS_KeyM_91003].
  • نتائج الفحص المحددة للأخطاء: فشل فترة الصلاحية (KEYM_E_CERTIFICATE_VALIDITY_PERIOD_FAIL، 0x05)، توقيع خاطئ (KEYM_E_CERTIFICATE_SIGNATURE_FAIL، 0x06)، سلسلة ثقة غير صالحة (KEYM_E_CERTIFICATE_INVALID_CHAIN_OF_TRUST، 0x07)، نوع غير صالح (KEYM_E_CERTIFICATE_INVALID_TYPE، 0x08)، تنسيق خاطئ (KEYM_E_CERTIFICATE_INVALID_FORMAT، 0x09)، محتوى غير صالح (KEYM_E_CERTIFICATE_INVALID_CONTENT، 0x0A)، بالإضافة إلى الإلغاء أو نطاق صلاحية غير صالح (KEYM_E_CERTIFICATE_REVOKED، 0x0B) [SWS_KeyM_91003].

يجب على المستدعين فحص الحالة قبل استخدام المفاتيح المشفرة؛ وعادةً ما يُسمح للعمليات بالاعتماد على شهادة فقط إذا كانت الحالة تشير صراحةً إلى KEYM_CERTIFICATE_VALID. ونظراً لأن النوع تم الإعلان عنه عبر Rte_KeyM_Type.h، فمن المرجح استخدامه بشكل أساسي في واجهات الخدمات والمنافذ القياسية للتفاعل بين KeyM وSWCs التطبيقية. سؤال Q-f3ca10ee673798df (مفتوح)

تم إنشاء هذا النص بواسطة ذكاء اصطناعي. وهو لا يغني عن دراسة مواصفات AUTOSAR الرسمية.

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

نوع KeyM_CertificateElementType [SWS_KeyM_91004] 📄 PDF

Array long enough to store data

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

الاستخدام والبنية

تم تحديد نوع البيانات KeyM_CertificateElementType كمصفوفة بايت بنوع العناصر uint8، ويُستخدم وفقًا للمواصفات كمنطقة تخزين كبيرة بما يكفي لحفظ بيانات عنصر الشهادة [SWS_KeyM_91004]. يتم توفير نوع البيانات والتصريح عنه لوحدة KeyM عبر ملف الترويسة Rte_KeyM_Type.h [SWS_KeyM_91004].

التكوين وبناء المتغيرات

يخضع شكل نوع البيانات لتغييرات في الاسم والحجم تعتمد على التهيئة، والتي تُشتق من المعلمات المهيأة للوحدة [SWS_KeyM_91004]:

  • نمط التسمية: يتم إنشاء اسم النوع المحدد لكل عنصر وفقًا للمخطط KeyM_CertificateElementType_{KeyMCertificate}_{KeyMCertificateElement}، حيث تتوافق العناصر النائبة مع الأسماء القصيرة المهيأة SHORT-NAME للمثيلات المعنية لكل من الشهادة وعنصر الشهادة [SWS_KeyM_91004].
  • حجم المصفوفة: يتم تحديد عدد عناصر uint8 بواسطة معامل التهيئة KeyMCertificateElementMaxLength، حتى يوفر المخزن المؤقت مساحة كافية للبيانات الأولية للعنصر المعني [SWS_KeyM_91004].

القيود والافتراضات

نظرًا لتوفير التعريف في Rte_KeyM_Type.h، يُرجح استخدام النوع في المقام الأول كمخزن مؤقت قياسي عند الواجهات المؤدية إلى مكونات البرمجيات لتبادل محتويات الشهادة [SWS_KeyM_91004]. سؤال Q-994f8ac6772de3c1 (مفتوح) ويظل الحد الأقصى لطول البيانات القابلة للمعالجة مرتبطًا بشكل ثابت بالحد الأقصى للطول المحدد في وقت التهيئة [SWS_KeyM_91004].

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

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

نوع KeyM_CryptoKeyDataType [SWS_KeyM_91012] 📄 PDF

Byte - pointer to the input or output data

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

الاستخدام وتعريف النوع

تم تعريف نوع البيانات KeyM_CryptoKeyDataType كنوع مؤشر إلى uint8* ويُستخدم كمؤشر بايت لبيانات الإدخال أو الإخراج داخل الوحدة KeyM [SWS_KeyM_91012]. يتم توفير تعريف النوع عبر ملف الترويسة Rte_KeyM_Type.h [SWS_KeyM_91012].

القيود وإدارة الذاكرة

عند استخدام KeyM_CryptoKeyDataType كمؤشر إلى مخازن البايت المؤقتة، يجب مراعاة شروط حدية محددة:

  • تفسير: نظرًا لتحديد النوع كمؤشر بايت بسيط (uint8*) [SWS_KeyM_91012]، فإن تخصيص الذاكرة المشار إليها وتحديد حجمها وصلاحيتها يقع على الأرجح على عاتق جهة الاستدعاء المعنية. سؤال Q-07c167f400cbfb9c (مفتوح)
  • تفسير: عند التمرير كمخزن مؤقت للإخراج، يُرجح أنه يجب التأكد من أن منطقة الذاكرة المشار إليها كبيرة بما يكفي لاستيعاب بيانات المفتاح أو البيانات التشفيرية، لمنع طفح المخزن المؤقت. سؤال (مفتوح)
  • تفسير: بالنسبة للوصول المتزامن إلى المخزن المؤقت المشار إليه، يُرجح أن تكون هناك حاجة إلى تدابير مزامنة إضافية بواسطة البرمجيات المستدعية، لأن النوع نفسه لا يقدم آلية مزامنة. سؤال (مفتوح)

التكامل

تقوم جهات الاستدعاء التي تمرر بيانات مفاتيح التشفير أو الشهادات إلى واجهات KeyM أو تستقبلها منها بتضمين Rte_KeyM_Type.h للوصول إلى تعريف المؤشر المحدد النوع لـ KeyM_CryptoKeyDataType [SWS_KeyM_91012].

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

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

نوع KeyM_ResultType [SWS_KeyM_91008] 📄 PDF

Specifies the result type of an asynchronous key management fu nction.

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

يحدد نوع التعداد KeyM_ResultType نتيجة الدوال غير المتزامنة للوحدة KeyM لإدارة المفاتيح والشهادات [SWS_KeyM_91008]. يتم توفير هذا النوع عبر ملف الترويسة Rte_KeyM_Type.h ويُستخدم لتقديم إفادة حول نتيجة أمر عمل غير متزامن مطلوب [SWS_KeyM_91008].

يشمل نطاق القيم رموز حالة وأخطاء قياسية للتقييم الدقيق من قِبل المستدعين [SWS_KeyM_91008]:

  • KEYM_RT_OK (0x00): اكتملت عملية إدارة المفاتيح بنجاح [SWS_KeyM_91008].
  • KEYM_RT_NOT_OK (0x01): حدث خطأ عام أثناء عملية إدارة المفاتيح [SWS_KeyM_91008].
  • KEYM_RT_KEY_CERT_INVALID (0x02): المفتاح أو الشهادة المشار إليها غير صالحة ولا يمكن استخدامها للعملية [SWS_KeyM_91008].
  • KEYM_RT_KEY_CERT_WRITE_FAIL (0x03): فشلت كتابة المفتاح أو الشهادة في ذاكرة الوجهة المخصصة [SWS_KeyM_91008].
  • KEYM_RT_KEY_CERT_UPDATE_FAIL (0x04): خطأ عام عند تحديث مفتاح أو شهادة، لم يكن بالإمكان تحديده برمز أكثر دقة [SWS_KeyM_91008].
  • KEYM_RT_CERT_INVALID_CHAIN_OF_TRUST (0x05): فشل التحقق من الشهادة بسبب سلسلة ثقة غير صالحة [SWS_KeyM_91008].

يجب على مستدعي دوال KeyM غير المتزامنة تقييم نوع الإرجاع هذا، حتى يتمكنوا في حالة حدوث خطأ من الاستجابة بصورة محددة لسلاسل الثقة غير الصالحة أو أخطاء الوصول إلى الذاكرة أو مواد المفاتيح غير الصحيحة [SWS_KeyM_91008].

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

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

نوع KeyM_CertDataType [SWS_KeyM_00041] 📄 PDF

This structure is used to exchange certificate data through interface functions.

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

تُستخدم البنية KeyM_CertDataType في الوحدة النمطية KeyM لتمرير وتبادل بيانات الشهادات عبر دوال الواجهة [SWS_KeyM_00041]. ويكون تعريف النوع متاحًا عبر ملف الترويسة KeyM.h [SWS_KeyM_00041].

تجمع البنية عنصرين أساسيين [SWS_KeyM_00041]:

  • certDataLength: عنصر من النوع uint32 يحدد طول بيانات الشهادة [SWS_KeyM_00041].
  • certData: عنصر من النوع VoidPtr يشير كمؤشر مباشرةً إلى بيانات الشهادة في منطقة بيانات محلية للمستدعي [SWS_KeyM_00041].

بما أن certData تشير إلى نطاقات ذاكرة في السياق المحلي للمستدعي [SWS_KeyM_00041]، فإن إدارة المخزن المؤقت تقع على عاتق الجهة المستدعية. تفسير: يُرجح أن يتعين على المستدعي ضمان بقاء الذاكرة المشار إليها صالحة طوال مدة تنفيذ دالة الواجهة المعنية بالكامل، وأن تتضمن على الأقل عدد البايتات المحدد في certDataLength. سؤال Q-7da9d5ed0975ddbd (مفتوح) بالإضافة إلى ذلك، يُفترض أنه إذا كان الطول أكبر من صفر، فيجب تمرير مؤشر صالح لا يساوي NULL لتجنب عمليات الوصول الخاطئة إلى الذاكرة داخل دالة الواجهة.

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

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

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

Record
AUTOSAR/AP/record/CP_MOD_KeyM
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_KeyM@rel:R20-11#856fe79b
Content hash
856fe79b
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_KeyManager.pdf#nameddest=SWS_KeyM_00043

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

KeyM_Deinit دالة

This function resets the key management module to the uninitialized state.

void KeyM_Deinit (void);

Provides the version information of this module.

void KeyM_GetVersionInfo (Std_VersionInfoType* VersionInfo);
KeyM_Init دالة

This function initializes the key management module.

void KeyM_Init (const KeyM_ConfigType* ConfigPtr);

الخدمات · Cert…

Service KeyM_CertElementGet.

Std_ReturnType KeyM_CertElementGet (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint8* CertElementData, uint32* CertElementDataLength);

Service KeyM_CertElementGetFirst.

Std_ReturnType KeyM_CertElementGetFirst (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);

Service KeyM_CertElementGetNext.

Std_ReturnType KeyM_CertElementGetNext (KeyM_CertElementIteratorType* CertElementIterator, uint8* CertElementData, uint32* CertElementDataLength);

This function provides the sta tus of a certificate.

Std_ReturnType KeyM_CertGetStatus (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType* Status);

الخدمات · Certificate…

Service KeyM_CertificateElementGetByIndex.

Std_ReturnType KeyM_CertificateElementGetByIndex (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint32 Index, uint8* CertElementDataPtr, uint32* CertElementDataLengthPtr);

This function provides the total number of data elements that a re available for the specified certificate element. Typically, only one data element is available. But in some cases, several data elements can be assigned to one certificate element in a row. This function retrieves the total number of elements. The indiv idual data elements can then accessed with Key M_ Certificate Element Get By Index(). It is similar to the functions Key M_ Cert Element Get First/ Key M_ Cert Element Get Next to retrieve a group of data elements of one certificate element. AUTOSAR CP R20 - of

Std_ReturnType KeyM_CertificateElementGetCount (KeyM_CertificateIdType CertId, KeyM_CertElementIdType CertElementId, uint16* CountPtr);

Notifies the application that a certificate verification has been finished. The function name is configurable by Key MCertificate Verify Callback Notification Func. Availabl e via Key M_ Externals.h

Std_ReturnType KeyM_CertificateVerifyCallbackNotification (KeyM_CertificateIdType CertId, KeyM_CertificateStatusType Result);

الخدمات · Crypto…

Service KeyM_CryptoKeyFinalizeCallbackNotification.

void KeyM_CryptoKeyFinalizeCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);

Notifies the application that a crypto key update operation has been finished. This function is used by the key manager.

void KeyM_CryptoKeyUpdateCallbackNotification (KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);

Notifies the application that a crypto key verify operation has been finished. This function is used by the key manager.

void KeyM_CryptoKeyVerifyCallbackNotification (KeyM_ResultType Result, uint32 KeyId, uint16 ResultDataLength, const uint8* ResultDataPtr);

الخدمات · K…

If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto Key Handler Start Finalize Enabled is set to TRUE, this function will be called immediately when Key M_

Std_ReturnType KeyM_KH_Finalize (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);

If the configuration parameters Key MCrypto Key Prepare Function Enabled and Key MCrypto Key Handler Prepare Enabled are both set to TRUE, then this function w ill be called immediately when Key M_ Prepare gets called. The function takes over the task to prepare a key management operation. The response data will be passed on as is to the caller of Key_ Prepare.

Std_ReturnType KeyM_KH_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16* ResponseDataLength);
KeyM_KH_Start دالة

If Key MCrypto Key Start Finalize Function Enabled and Key MCrypto Key

Std_ReturnType KeyM_KH_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);

الخدمات · Verify…

Service KeyM_VerifyCertificate.

Std_ReturnType KeyM_VerifyCertificate (KeyM_CertificateIdType CertId);

Service KeyM_VerifyCertificateChain.

Std_ReturnType KeyM_VerifyCertificateChain (KeyM_CertificateIdType CertId, const KeyM_CertDataType[] certChainData, uint8 NumberOfCertificates);

This function verifies two certificates that are stored and parsed internally against each other. The certificat e referenced with Cert Id was signed by the certificate referenced with cert Upper Id. Only these two certificates are validated against each other.

Std_ReturnType KeyM_VerifyCertificates (KeyM_CertificateIdType CertId, KeyM_CertificateIdType CertUpperId);

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

KeyM_Finalize دالة

The function is used to finalize key update operations. It is typi cally used in conjunction with the Key M_

Std_ReturnType KeyM_Finalize (const uint8* RequestDataPtr, uint16 RequestDataLength, uint8* ResponseDataPtr, uint16 ResponseMaxDataLength);

This function provides the certificate data

Std_ReturnType KeyM_GetCertificate (KeyM_CertificateIdType CertId, KeyM_CertDataType* CertificateDataPtr);

Function is called from a pre - emptive operating system when no other task operation is needed. Can be used for calling time consuming synchronous functions such as Key M_ KH_ Update().

void KeyM_MainBackgroundFunction (void);
KeyM_Prepare دالة

This function is used to prepare a key update operation. The main intent is to provide information for the key operation to the key server. Other operations may start the negotiation for a common secret that is used further to derive key material. This function is only av ailable if Key MCrypto Key Prepare Function Enabled is set to TRUE.

Std_ReturnType KeyM_Prepare (const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);

Notifies the application that the certificate service operation has been finished. This function is used by the certificate submodule. Thi s callback is only provided if Key MService Certificate Function Enabled is set to TRUE. The function name is configurable by Key MService Certificate Callback Notification Func.

void KeyM_ServiceCertificateCallbackNotification (KeyM_CertificateIdType CertId, KeyM_ResultType Result, uint16 ResultDataLength, const uint8* ResultDataPtr);

This function provides the certificate data to the key managem ent module to temporarily store the certificate.

Std_ReturnType KeyM_SetCertificate (KeyM_CertificateIdType CertId, const KeyM_CertDataType* CertificateDataPtr);
KeyM_Start دالة

This function is optional and only used if the configuration item Key MCrypto Key Start Finalize Function Enabled is set to true. It intents to allow key update operation.

Std_ReturnType KeyM_Start (KeyM_StartType StartType, const uint8* RequestData, uint16 RequestDataLength, uint8* ResponseData, uint16* ResponseDataLength);

دورية

Function is called periodically according the specified time interval.

void KeyM_MainFunction (void);

الأنواع

Byte - pointer to the data of the certificate

This structure is used to exchange certificate data through interface functions.

Certificate Element handle.

This structure is used to iterate through a number of elements of a certificate.

Array long enough to store data

Certificate handle.

Type KeyM_CertificateStatusType.

This structure is the base type to initialize the Key Manager module. A pointer to an instance of this structure will be used in the initialization of the Key Manager module.

Byte - pointer to the input or output data

Crypto key handle.

Specifies the type of key handler update operation that was performed in the callback.

Specifies the result type of an asynchronous key management fu nction.

This type specifies the requested service operation and what information is provided with this function.

This type specifies in which mode the key operation will start. The OEM production mode provides higher privileges compared to workshop mode.

Max نوع

Array long enough to store the key or certificate name. base Type Encoding = UTF -