يدير موقع تخزين للمفاتيح التشفيرية ويتيح الاستعلام عن البيانات الوصفية واستدعاءات رد النداء عند التغيير.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 15ebff2d544cالمصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يدير موقع تخزين للمفاتيح التشفيرية ويتيح الاستعلام عن البيانات الوصفية واستدعاءات رد النداء عند التغيير.
تغلف الواجهة موقع تخزين دائمًا أو متطايرًا للمفاتيح التشفيرية، وتتيح الاستعلام عن البيانات الوصفية للمفتاح بالإضافة إلى CryptoProvider المسؤول [SWS_CRYPT_30403]. ويمكن للتطبيقات مراقبة تغييرات المحتوى عبر رد نداء لمراقب يمكن تسجيله [SWS_CRYPT_30404]. وفي حال كان المنفذ (Slot) فارغًا، تفشل عمليات الوصول إلى نوع المفتاح أو الخوارزمية الخاصة به مع رمز الخطأ ara::crypto::CryptoErrc::kEmptyKeySlot[SWS_CRYPT_50055]. ونظرًا لأن النسخ والنقل محظوران، يتم الوصول بطريقة آمنة خيطيًا عبر مؤشرات مشتركة (Shared-Pointers).
السياق
تمثل الواجهة ara::crypto::cryp::KeySlot موقع تخزين مخصصًا للمفاتيح التشفيرية داخل AUTOSAR Adaptive Platform. وباعتبارها تغليفًا لمنفذ مفاتيح منطقي، فإنها تدير البيانات الوصفية، ومعلومات النوع، وتعيين الخوارزميات المدعومة للمفتاح المخزن داخله. ويتفاعل المثيل عادةً مع ثلاثة أطراف: برنامج التطبيق، وcryp::CryptoProvider المرتبط الذي يمكن الحصول منه على مرجع مشترك عبر [SWS_CRYPT_30403]، بالإضافة إلى رد نداء خاص بالتطبيق لمراقبة المحتوى وفقًا لـ [SWS_CRYPT_30404].
يرتبط KeySlot ارتباطًا وثيقًا بمستودع المفاتيح الذي يمثله. وبناءً على ذلك، تمنع الواجهة تكرار المثيل ونقله: فكل من منشئ النسخ [SWS_CRYPT_50149] ومنشئ النقل [SWS_CRYPT_50150] محذوفان صراحةً. وينطبق الأمر نفسه على معامل إسناد النسخ [SWS_CRYPT_50147] ومعامل إسناد النقل [SWS_CRYPT_50148].
لإدارة علاقات الملكية والمراجع، يحدد الصنف الاسم المستعار لنوع المؤشر الذكي Sptr كـ std::shared_ptr<KeySlot>[SWS_CRYPT_50151]. ويتم التحرير عبر مدمر فئة افتراضي قياسي [SWS_CRYPT_50146]. تفسير: نظرًا لأن الواجهة لا تحدد أي منشئات فئة عامة، يُرجح أن يتم إنشاء المثيلات المحددة بواسطة CryptoProvider المسؤول وتوفيرها كـ Sptr. سؤال Q-baef4cb1493c96cd (مفتوح) وقد أُعلن عن جميع الدوال المتوفرة بأنها آمنة خيطيًا، مما يجعل الوصول المتزامن للقراءة والمراقبة من عدة سياقات تنفيذ أمرًا مسموحًا به.
مسار الاستخدام
ينقسم التفاعل النموذجي مع KeySlot إلى تهيئة مراقبة المحتوى والاستعلام عن البيانات الوصفية للمفتاح المخزن:
تسجيل المراقب: يسجل التطبيق دالة رد نداء ومعرّفًا خاصًا بالتطبيق عبر RegisterUpdateObserverkeySlotIdentifier[SWS_CRYPT_30404]. وفي حال الاستدعاء المتكرر، يتم استدعاء آخر رد نداء تم تمريره فقط عند تحديثات محتوى المنفذ أو حذفه.
الاستعلام عن الخوارزميات المدعومة: يحدد التطبيق عبر GetPossibleAlgIds قائمة بجميع معرّفات الخوارزميات التي يدعمها المنفذ [SWS_CRYPT_50056].
فحص المفتاح الحالي: إذا كان هناك مفتاح في المنفذ، يُرجع GetCryptoObjectType نوع كائن المفتاح [SWS_CRYPT_50054]، ويُرجع GetAlgId معرّف الخوارزمية المحدد له [SWS_CRYPT_50055].
تحديد المزود المسؤول: عند الحاجة، يمكن الاستعلام عن CryptoProvider المسؤول عبر GetCryptoProvider كمؤشر مشترك [SWS_CRYPT_30403].
إلغاء تسجيل المراقب: بعد اكتمال المراقبة، يتم إلغاء التسجيل عبر UnregisterUpdateObserver[SWS_CRYPT_30406].
تؤمن دوال الاستعلام حالات الخطأ عبر نوع النتيجة ara::core::Result. وإذا كان KeySlot لا يحتوي على مفتاح، فإن الاستدعاءات GetCryptoObjectType[SWS_CRYPT_50054] وGetAlgId[SWS_CRYPT_50055] تُرجع على التوالي رمز الخطأ القياسي ara::crypto::CryptoErrc::kEmptyKeySlot بدلالات التراجع (Rollback). ولا تحدد الدوال GetPossibleAlgIds[SWS_CRYPT_50056] وGetCryptoProvider[SWS_CRYPT_30403] رموز خطأ قياسية. وبالنسبة لإدارة المراقب عبر RegisterUpdateObserver[SWS_CRYPT_30404] بالإضافة إلى UnregisterUpdateObserver[SWS_CRYPT_30406]، يُنص في حالة الخطأ على أخطاء خاصة بالتنفيذ في كائن النتيجة.
تم إعداد هذا الدليل بواسطة ذكاء اصطناعي بناءً على المواصفة R25-11.
The interface shall register an application callback function to be called when the content of the KeySlot is updated (i.e., modified or cleared). If this function is called multiple times, only the most recently registered callback of an application will be called.
The interface shall register an application callback function to be called when the content of the KeySlot is updated (i.e., modified or cleared). If this function is called multiple times, only the most recently registered callback of an application will be called.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 9361e576efa7المصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُستخدم الطريقة RegisterUpdateObserver للفئة ara::crypto::cryp::KeySlot لتسجيل دالة استدعاء رجعي خاصة بالتطبيق، والتي يتم إشعارها عند كل تحديث لمحتوى خانة مفتاح (Keyslot) [SWS_CRYPT_30404]. وتُعد التعديلات على المحتوى وكذلك الإفراغ الكامل للخانة بمثابة تحديث في هذا السياق [SWS_CRYPT_30404].
الاستخدام والمعلمات
يتم تضمين الدالة عبر الترويسة ara/crypto/cryp/keyslot.h وتستقبل الاستدعاء الرجعي callback ومعرّفًا keySlotIdentifier[SWS_CRYPT_30404]. ويتلقى كائن الدالة callback السلسلة النصية keySlotIdentifier كوسيط عند الاستدعاء، وذلك للتمكن من ربط الخانة المعنية في منطق التطبيق بشكل فريد [SWS_CRYPT_30404]. وعند تكرار استدعاءات RegisterUpdateObserver بواسطة التطبيق نفسه، يتم الاحتفاظ بدالة الاستدعاء الرجعي المسجلة مؤخرًا فقط وتنفيذها [SWS_CRYPT_30404].
التزامن ومعالجة الأخطاء
الواجهة آمنة خيطيًا (thread-safe) ومحددة كـ noexcept دون إطلاق استثناءات [SWS_CRYPT_30404]. وتُرجع ara::core::Result<void>[SWS_CRYPT_30404]. ولا توجد أخطاء قياسية؛ وفي حالة الخطأ يتم إرجاع رمز خطأ خاص بالتنفيذ [SWS_CRYPT_30404]. تفسير: من المرجح أن يتم الاستدعاء الفعلي لدالة الاستدعاء الرجعي بشكل غير متزامن في سياق برنامج تشغيل التشفير بمجرد أن يصبح التحديث ساريًا في مخزن المفاتيح. سؤال Q-cfbcc1ddcbe88062 (مفتوح)
تستند ملاحظة الاستخدام هذه إلى مواصفة AUTOSAR Adaptive R25-11.
Unregisters any previously UpdateObserver callback that has been registered previously by the application.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: b5edba50839dالمصدرأسئلة مفتوحة (1)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
تُستخدم الطريقة UnregisterUpdateObserver من الفئة ara::crypto::cryp::KeySlot لإلغاء تسجيل استدعاء راجع لمراقب (UpdateObserver) كان التطبيق قد سجله سابقًا [SWS_CRYPT_30406]. صُرح عن الدالة في ملف الرأس ara/crypto/cryp/keyslot.h، وصُممت كطريقة افتراضية بحتة (=0)، ولا تتوقع أي معلمات تمرير [SWS_CRYPT_30406].
فيما يتعلق بسياق الاستدعاء والتزامن، تنطبق الشروط الحدية التالية:
دلالات متزامنة وأمان بالنسبة للخيوط: يتم إلغاء التسجيل بشكل متزامن، وحُدد صراحة بأنه thread-safe [SWS_CRYPT_30406]. بالتالي، يمكن تنفيذ الاستدعاءات بطريقة آمنة بالنسبة للخيوط وبالتزامن مع عمليات أخرى على نفس مثيل KeySlot.
الأمان من الاستثناءات: تمتلك الطريقة المواصفة noexcept وتُعد آمنة من الاستثناءات (exception-safe) [SWS_CRYPT_30406]. لذلك، لا تؤدي حالات الخطأ بأي حال من الأحوال إلى استثناءات C++، بل تتم معالجتها بطريقة منظمة عبر كائن الإرجاع.
كقيمة إرجاع، تُقدم الدالة ara::core::Result<void>، والتي تكون فارغة عند نجاح إلغاء التسجيل أو تغلف رمز خطأ في حالة الفشل [SWS_CRYPT_30406]. تتعمد المواصفة عدم تحديد رموز أخطاء AUTOSAR معيارية لهذا الاستدعاء؛ ولذا فإن أي أخطاء محتملة تكون خاصة بالشركة المصنعة أو خاصة بالتنفيذ [SWS_CRYPT_30406]. يجب على المستدعين فحص النتيجة للتأكد من خلوها من الأخطاء، ولكن لا يمكنهم التحقق بناءً على ثوابت أخطاء معيارية.
بالتكامل مع إدارة المفاتيح، يمنع إلغاء التسجيل بشكل موثوق تلقي التطبيق لأي إشعارات إضافية بشأن التغييرات في محتوى المفتاح. وإذا لم يكن هناك أي رد نداء مسجل في وقت الاستدعاء، فوفقًا للتفسير يُرجح أن تعود الدالة بنجاح دون أي تأثير أو أن تُصدر خطأ خاصًا بالتنفيذ. سؤال Q-7a1e7e0db0691ce6 (مفتوح)
تم إنشاء ملاحظة الاستخدام هذه تلقائياً بناءً على مواصفة AUTOSAR.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني