DEENESPTFRRUARHIKOZHNL

فئة ara::crypto::cryp::CryptoObject

[SWS_CRYPT_20500] Upstream: RS_CRYPTO_02005

class CryptoObject :           public ara::crypto::Serializable {...};

A common interface for all cryptographic objects recognizable by the Crypto Provider.

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::cryp
Basisklasse(n)ara::crypto::Serializable

دليل المستخدممولَّد بالذكاء الاصطناعي

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

تُستخدم كواجهة مشتركة للفحص الآمن خيطياً والتخزين الدائم للكائنات المشفرة.

تحدد الواجهة ara::crypto::cryp::CryptoObject التجريد المشترك لجميع الكائنات المشفرة في مكدس Adaptive-Crypto وتنظم دورة حياتها عبر Sptr [SWS_CRYPT_20501]. وتتيح القراءة الآمنة خيطياً لمعرفات الخوارزميات بالإضافة إلى رايات الاستخدام، وتدعم الكتابة الفوقية الدائمة لمواد المفاتيح في WriteableKeySlot [SWS_CRYPT_20505]، [SWS_CRYPT_20517]. أثناء عملية الحفظ، تضمن رموز الخطأ المحددة مع دلالات التراجع سلامة بيانات فتحة التخزين الأساسية [SWS_CRYPT_20517].

السياق

تشكل الواجهة ara::crypto::cryp::CryptoObject التجريد المشترك لجميع الكائنات المشفرة التي يمكن لمزود التشفير التعرف عليها وإدارتها. تقوم الفئة بتوسيع ara::crypto::Serializable وتحدد الخصائص الأساسية مثل تعريف الخوارزمية، وقيود الاستخدام، بالإضافة إلى آليات التخزين الدائم. تشمل أطراف التفاعل النموذجية التطبيقات المستدعية، ومزود التشفير الموفر، بالإضافة إلى الذاكرة الهدف في شكل مثيلات WriteableKeySlot.

دورة الحياة

تتم إدارة الكائنات المشفرة داخل المنصة بشكل أساسي عبر الملكية المشتركة. ولهذا الغرض، تحدد الفئة الاسم المستعار القياسي للمؤشر الذكي ara::crypto::cryp::CryptoObject::Sptr كـ std::shared_ptr<CryptoObject> [SWS_CRYPT_20501]. يُفترض إنشاء مثيلات ملموسة بواسطة روتينات المصنع والتحميل المتخصصة لمزود التشفير وتوفيرها للمستدعي عبر هذا النوع من المؤشرات. سؤال Q-36e2bd12d7dc8b98 (مفتوح) تم تحديد جميع الدوال المعلنة للواجهة على أنها آمنة خيطياً وآمنة من الاستثناءات (exception safe، noexcept)، مما يضمن وصولاً متزامناً آمناً للقراءة والتخزين عبر عدة خيوط [SWS_CRYPT_20505]، [SWS_CRYPT_50092]، [SWS_CRYPT_20517]. يتم تحرير الكائن ومواد المفاتيح المرتبطة به تلقائياً بمجرد انقضاء آخر مرجع Sptr.

مسار الاستخدام

يتضمن مسار الاستخدام النموذجي التعرف على الخصائص المشفرة لكائن ما وتخزينه الدائم اللاحق. أولاً، يستعلم التطبيق عبر GetAlgId() عن معرف الخوارزمية للكائن كـ ara::crypto::AlgIdString [SWS_CRYPT_20505]. بعد ذلك، يتم تحديد رايات الاستخدام المسموح بها (AllowedUsageFlags) عبر GetAllowedUsage() [SWS_CRYPT_50092] للتأكد من أن الكائن مصرح به للعملية المقصودة. وللحفظ الدائم، يمرر التطبيق فتحة مفتاح قابلة للكتابة إلى الدالة Save() [SWS_CRYPT_20517]. يتم بعد ذلك حفظ مادة المفتاح والبيانات الوصفية المرتبطة بها في الفتحة الهدف، مع استبدال البيانات السابقة الموجودة في الفتحة [SWS_CRYPT_20517].

فحص CryptoObject واستدامتهالتطبيقCryptoObjectWriteableKeySlotGetAlgId()AlgIdStringGetAllowedUsage()AllowedUsageFlags (kAllowPersist)Save(keyslot)كتابة مادة المفتاح والبيانات الوصفيةSpeicherquittungResult<void>

مخطط التتابع: التسلسل النموذجي لفحص كائن مشفر وحفظه بشكل دائم في KeySlot. المصادر: [SWS_CRYPT_20505]، [SWS_CRYPT_50092]، [SWS_CRYPT_20517].

سيناريوهات الأخطاء

بينما لا تعرض GetAlgId() [SWS_CRYPT_20505] وGetAllowedUsage() [SWS_CRYPT_50092] أي رموز خطأ قياسية وتُرجع النتيجة المعنية في ara::core::Result في حالة النجاح، تحدد عملية الحفظ الدائم Save() شروط خطأ محددة مع دلالات تراجع ملزمة [SWS_CRYPT_20517]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: تحدث عندما يكون الكائن غير متوافق مع WriteableKeySlot الممرر، على سبيل المثال لأن معرفات الخوارزمية (AlgId) تختلف عن بعضها البعض أو تنتمي فتحة المفتاح إلى مزود تشفير مختلف [SWS_CRYPT_20517].
  • ara::crypto::CryptoErrc::kUsageViolation: تشير إلى استخدام غير مسموح به إذا كانت رايات استخدام المفتاح المعلنة عبر GetAllowedUsage() لا تتضمن حق الحفظ الدائم (kAllowPersist) [SWS_CRYPT_50092]، [SWS_CRYPT_20517].
  • ara::crypto::CryptoErrc::kBusyResource: تُرجع عندما يكون مورد التخزين الأساسي مشغولاً مؤقتاً ولا يمكن تنفيذ العملية على الفور [SWS_CRYPT_20517].

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

يستند هذا الدليل إلى مواصفة AUTOSAR Adaptive R25-11 ويلخص المتطلبات المفروضة على الواجهة ara::crypto::cryp::CryptoObject.

خريطة الأعضاء

الدوال الأعضاء

3

أسماء الأنواع البديلة

1

مخطط الفئة

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__crypto__cryp__CryptoObject679 CryptoObject + GetAlgId() + GetAllowedUsage() + Save() nara__crypto__Serializable855 Serializable nara__crypto__cryp__CryptoObject679->nara__crypto__Serializable855 nara__crypto__cryp__PrivateKey762 PrivateKey nara__crypto__cryp__PrivateKey762->nara__crypto__cryp__CryptoObject679 nara__crypto__cryp__PublicKey940 PublicKey nara__crypto__cryp__PublicKey940->nara__crypto__cryp__CryptoObject679 nara__crypto__cryp__SymmetricKey111 SymmetricKey nara__crypto__cryp__SymmetricKey111->nara__crypto__cryp__CryptoObject679

عرض التفاصيل

اختر عنصرًا من المخطط.

الدوال الأعضاء

GetAlgId دالة

The interface shall return the AlgId of this CryptoObject.

virtual ara::core::Result< ara::crypto::AlgIdString > GetAlgId () const noexcept=0;

The interface shall return the allowed usage of the key.

virtual ara::core::Result< AllowedUsageFlags > GetAllowedUsage () const noexcept=0;
Save دالة

The interface shall persistently store the key-material and its meta-data in the provided WriteableKeySlot. Data previously stored in keyslot shall be overwritten.

virtual ara::core::Result< void > Save (WriteableKeySlot::Sptr keyslot) const noexcept=0;

أسماء الأنواع البديلة

Sptr اسم نوع بديل

Smart pointer of the interface.

توثيق الدوال

دالة GetAlgId [SWS_CRYPT_20505] Upstream: RS_CRYPTO_02005

virtual ara::core::Result< ara::crypto::AlgIdString > GetAlgId () const noexcept=0;

The interface shall return the AlgId of this CryptoObject.

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Scopeclass ara::crypto::cryp::CryptoObject
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<ara::crypto::AlgIdString >A result containing the AlgId of this CryptoObject

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20505
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20505@rel:R25-11#08338cd7
Content hash
08338cd7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20505
Status: valid/unmigrated Version: rel:R25-11#974298db Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_20505@rel:R25-11#974298db
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#fa5364ac2026-09-30
  • R20-11rel:R20-11#3073d8c92026-10-14
  • R21-11rel:R21-11#3073d8c92026-10-14
  • R22-11rel:R22-11#131cf8662026-10-14
  • R23-11rel:R23-11#b34bd5a42026-10-14
  • R24-11rel:R24-11#36c55a302026-10-14
  • R25-11rel:R25-11#974298db2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

دالة GetAllowedUsage [SWS_CRYPT_50092] Upstream: RS_CRYPTO_02005

virtual ara::core::Result< AllowedUsageFlags > GetAllowedUsage () const noexcept=0;

The interface shall return the allowed usage of the key.

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Scopeclass ara::crypto::cryp::CryptoObject
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<AllowedUsageFlags >A result containing the allowed usage of the key

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50092
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50092@rel:R25-11#37ed9e10
Content hash
37ed9e10
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50092
Status: valid/unmigrated Version: rel:R25-11#eb9b3394 Versionshistorie & Revisions (1 transition)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_50092@rel:R25-11#eb9b3394
Point-in-Time History:
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

دالة Save [SWS_CRYPT_20517] Upstream: RS_CRYPTO_02004

virtual ara::core::Result< void > Save (WriteableKeySlot::Sptr keyslot) const noexcept=0;

The interface shall persistently store the key-material and its meta-data in the provided WriteableKeySlot. Data previously stored in keyslot shall be overwritten.

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

تُستخدم الدالة Save للواجهة ara::crypto::cryp::CryptoObject للتخزين الدائم لمادة المفتاح مع البيانات الوصفية المرتبطة بها في WriteableKeySlot مُقدّم ([SWS_CRYPT_20517]). يتم استبدال البيانات المخزنة مسبقًا في KeySlot الهدف أثناء التنفيذ ([SWS_CRYPT_20517]).

يتم تمرير keyslot من النوع WriteableKeySlot::Sptr كمعلمة، والتي تمثل مساحة التخزين الأساسية ([SWS_CRYPT_20517]). تم تحديد الدالة كـ noexcept وكذلك exception safe وترجع ara::core::Result<void> كقيمة مرجعة، والتي تكون فارغة في حالة النجاح ([SWS_CRYPT_20517]).

في حالة حدوث خطأ، تسري دلالات التراجع ([SWS_CRYPT_20517]). على وجه التحديد، يتم إرجاع رموز الخطأ التالية:

  • ara::crypto::CryptoErrc::kIncompatibleObject: المفتاح غير متوافق مع KeySlot، على سبيل المثال بسبب اختلاف AlgId أو التعيين لـ CryptoProvider آخر ([SWS_CRYPT_20517]).
  • ara::crypto::CryptoErrc::kUsageViolation: الاستخدام المسموح به للمفتاح لا يتضمن الحق kAllowPersist ([SWS_CRYPT_20517]).
  • ara::crypto::CryptoErrc::kBusyResource: لا يمكن تنفيذ العملية مؤقتًا ([SWS_CRYPT_20517]).

فيما يتعلق بالتزامن، تم التصريح عن الدالة كـ thread-safe ([SWS_CRYPT_20517]).

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

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

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Scopeclass ara::crypto::cryp::CryptoObject
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keyslotKeySlot representing the underlying storage

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the key is incompatible to the KeySlot, e.g., because the AlgId of the KeySlot is incompatible to the AlgId of the key or because the KeySlot belongs to a different CryptoProvider
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowPersist
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics if the operation temporarily cannot be performed

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20517
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20517@rel:R25-11#2c9466b1
Content hash
2c9466b1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20517
Status: valid/unmigrated Version: rel:R25-11#27ad83e4 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_20517@rel:R25-11#27ad83e4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#401495a62026-09-30
  • R19-11rel:R19-11#12df20182026-10-14
  • R20-11rel:R20-11#74dce1282026-10-14
  • R21-11rel:R21-11#9fdecde72026-10-14
  • R22-11rel:R22-11#4e577c772026-10-14
  • R23-11rel:R23-11#302bac292026-10-14
  • R24-11rel:R24-11#7745263b2026-10-14
  • R25-11rel:R25-11#27ad83e42026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

توثيق أسماء الأنواع البديلة

اسم نوع بديل Sptr [SWS_CRYPT_20501] Upstream: RS_CRYPTO_02005

using Sptr = std::shared_ptr<CryptoObject>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Scopeclass ara::crypto::cryp::CryptoObject
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20501
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20501@rel:R25-11#5e8cb7fe
Content hash
5e8cb7fe
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20501
Status: valid/unmigrated Version: rel:R25-11#4816c7c1 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_20501@rel:R25-11#4816c7c1
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2f0be81f2026-09-30
  • R19-11rel:R19-11#b83af8272026-10-14
  • R20-11rel:R20-11#eb73b7d72026-10-14
  • R21-11rel:R21-11#eb73b7d72026-10-14
  • R22-11rel:R22-11#cc06a6ac2026-10-14
  • R23-11rel:R23-11#0db32e6b2026-10-14
  • R24-11rel:R24-11#0db32e6b2026-10-14
  • R25-11rel:R25-11#4816c7c12026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill