DEENESPTFRRUARHIKOZHNL

فئة ara::crypto::cryp::CryptoContext

[SWS_CRYPT_20400] Upstream: RS_CRYPTO_02008

class CryptoContext {...};

A common interface of a mutable cryptographic context, i.e. that is not binded to a single crypto object.

Header-Datei#include "ara/crypto/cryp/crypto_context.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::cryp

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

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

توفر واجهة أساسية لسياقات التشفير القابلة للتغيير للاستعلام عن ID الخوارزمية بطريقة آمنة بالنسبة للخيوط (thread-safe).

تُستخدم الواجهة كفئة أساسية مشتركة لسياقات التشفير القابلة للتغيير التي ليست مرتبطة بشكل ثابت بكائن تشفير منفرد. ومن خلال الطريقة الافتراضية الصرفة GetAlgId()، فإنها تتيح الاستعلام الآمن بالنسبة للخيوط عن معرف الخوارزمية بوصفه ara::core::Result [SWS_CRYPT_20411]. ولمنع تكرار الحالات غير المرغوب فيه، يتم حظر عمليات النسخ والنقل بالكامل [SWS_CRYPT_41003]. ويتم التحرير بشكل حتمي وآمن عبر مدمر افتراضي قياسي.

السياق

تُعرّف الواجهة ara::crypto::cryp::CryptoContext التجريد الأساسي لسياقات التشفير القابلة للتغيير (mutable cryptographic contexts) داخل وحدة التشفير الخاصة بـ AUTOSAR Adaptive Platform. وعلى النقيض من كائنات التشفير الثابتة، فإن مثل هذا السياق لا يرتبط بشكل صارم بكائن تشفيري منفرد. بل إنه يُستخدم كفئة أساسية مشتركة لسياقات معالجة تشفيرية مختلفة يمكن لحالتها الداخلية أن تتغير أثناء تنفيذ العمليات التشفيرية.

تعمل دالة الأعضاء الافتراضية الصرفة GetAlgId() كعنصر مركزي في هذه الواجهة الأساسية. وهي تتيح لشركاء التفاعل الاستعلام عن معرف الخوارزمية التشفيرية المكونة حالياً في السياق [SWS_CRYPT_20411]. ومن المرجح أن تُشتق سياقات الحساب والتحويل التشفيرية الفعلية، مثل خدمات التجزئة أو التوقيع أو التشفير، من CryptoContext في النظام لتوفير وظائف خوارزمية محددة. سؤال Q-203d40209cd355fa (مفتوح)

دورة الحياة

تتميز دورة حياة CryptoContext بهوية فريدة وعلاقات ملكية صارمة. ولمنع التكرار غير المنضبط أو عمليات النقل غير المتسقة لحالات السياق في وقت الترجمة، يتم حظر عمليات النسخ الدلالية بالكامل. وقد تم الإعلان صراحةً عن كل من منشئ النسخ [SWS_CRYPT_41003] وعامل إسناد النسخ [SWS_CRYPT_30214] على أنهما محذوفان (=delete).

وبالطريقة ذاتها، يمنع تعريف الواجهة نقل السياقات: حيث تم حذف كل من منشئ النقل [SWS_CRYPT_41004] وعامل إسناد النقل [SWS_CRYPT_30215] (=delete). وبناءً على ذلك، تظل مثيلات الفئات المشتقة بشكل دائم في موضع تخزينها الأصلي. ويتم التدمير وتحرير الموارد بشكل حتمي عبر المدمر الافتراضي، المحدد كـ default وnoexcept [SWS_CRYPT_20401]. ويضمن ذلك إمكانية تحرير كائنات السياق المشتقة بأمان ودون تسريبات للموارد عبر مؤشرات تشير إلى الواجهة الأساسية.

فيما يتعلق بالتزامن، يحدد المتطلب الخاص بـ GetAlgId() صراحةً أمان الخيوط [SWS_CRYPT_20411]. وبالتالي يمكن لخيوط متعددة قراءة معرف الخوارزمية للسياق نفسه في الوقت ذاته ودون مزامنة خارجية.

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

نظراً لأن CryptoContext واجهة افتراضية صرفة، فلا يمكن لمطوري التطبيقات إنشاء مثيلات مباشرة منها. ومن المرجح أن يتم إنشاء مثيلات لفئات السياق المتخصصة عادةً عبر دوال مصنع (factory functions) أو مكونات مزود لمكدس التشفير، وإتاحتها للمستدعي عبر مؤشرات أو مراجع. سؤال Q-728a7b6dd526eb64 (مفتوح) يتضمن مسار الاستخدام النموذجي على مستوى الواجهة الأساسية المراحل التالية:

  • الإتاحة: يتلقى المستدعي مرجعاً أو مؤشراً إلى سياق مُكوَّن من مزود تشفير.
  • فحص الخوارزمية: عبر استدعاء GetAlgId() يتم الاستعلام عن معرف الخوارزمية وتقييمه [SWS_CRYPT_20411]، لضمان استيفاء السياق للمواصفات المطلوبة.
  • العملية والتنظيف: بعد إجراء العمليات المحددة للخوارزمية عبر الواجهة المشتقة، يتم تحرير السياق تلقائياً عبر المدمر الافتراضي [SWS_CRYPT_20401].

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

يتبع مفهوم معالجة الأخطاء الخاص بـ CryptoContext التصميم العام الآمن من الأخطاء لـ AUTOSAR Adaptive Platform ويتخلى عن استثناءات ++C. وتُحدد الطريقة GetAlgId() على أنها آمنة من حيث الاستثناءات (exception safe) وتُرجع نتيجتها في ara::core::Result<ara::crypto::AlgIdString> [SWS_CRYPT_20411]. وإذا حدث خطأ أثناء تحديد ID الخوارزمية، فإنه يُنقل عبر قناة الخطأ الخاصة بكائن Result.

وفقاً للمواصفة، لا تُعرّف GetAlgId() أي رموز أخطاء قياسية [SWS_CRYPT_20411]. ولذلك يجب على المستدعين التحقق أولاً مما إذا كان Result يحتوي على قيمة صالحة، قبل الوصول إلى سلسلة ID الخوارزمية. وعند تفكيك الكائن، يضمن المدمر الافتراضي المعلن بـ noexcept عدم نشر أي استثناءات أثناء التدمير واكتمال عملية التنظيف دائماً بموثوقية [SWS_CRYPT_20401].

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

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

المُنشئات والمُتلف

2

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

1

المعاملات

1

مخطط الفئة

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

G nara__crypto__cryp__CryptoContext85 CryptoContext + CryptoContext() + operator=() + ~CryptoContext() + GetAlgId() nara__crypto__cryp__AuthCipherCtx142 AuthCipherCtx nara__crypto__cryp__AuthCipherCtx142->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__DecryptorPrivateCtx616 DecryptorPrivateCtx nara__crypto__cryp__DecryptorPrivateCtx616->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__EncryptorPublicCtx829 EncryptorPublicCtx nara__crypto__cryp__EncryptorPublicCtx829->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__HashFunctionCtx412 HashFunctionCtx nara__crypto__cryp__HashFunctionCtx412->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__KeyAgreementPrivateCtx203 KeyAgreementPrivateCtx nara__crypto__cryp__KeyAgreementPrivateCtx203->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__KeyDecapsulatorPrivateCtx748 KeyDecapsulatorPrivateCtx nara__crypto__cryp__KeyDecapsulatorPrivateCtx748->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__KeyDerivationFunctionCtx485 KeyDerivationFunctionCtx nara__crypto__cryp__KeyDerivationFunctionCtx485->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__KeyEncapsulatorPublicCtx699 KeyEncapsulatorPublicCtx nara__crypto__cryp__KeyEncapsulatorPublicCtx699->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__MessageAuthnCodeCtx845 MessageAuthnCodeCtx nara__crypto__cryp__MessageAuthnCodeCtx845->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__ProtectedKeyImportCtx279 ProtectedKeyImportCtx nara__crypto__cryp__ProtectedKeyImportCtx279->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__RandomGeneratorCtx512 RandomGeneratorCtx nara__crypto__cryp__RandomGeneratorCtx512->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__SignerPrivateCtx943 SignerPrivateCtx nara__crypto__cryp__SignerPrivateCtx943->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__SymmetricCipherCtx167 SymmetricCipherCtx nara__crypto__cryp__SymmetricCipherCtx167->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__SymmetricKeyWrapperCtx465 SymmetricKeyWrapperCtx nara__crypto__cryp__SymmetricKeyWrapperCtx465->nara__crypto__cryp__CryptoContext85 nara__crypto__cryp__VerifierPublicCtx35 VerifierPublicCtx nara__crypto__cryp__VerifierPublicCtx35->nara__crypto__cryp__CryptoContext85

عرض التفاصيل

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

المُنشئات والمُتلف

CryptoContext دالة 2

Copy-Constructor.

التحميلات الزائدة CryptoContext 2
CryptoContext (const CryptoContext &)=delete; SWS_CRYPT_41003
CryptoContext (CryptoContext &&)=delete; SWS_CRYPT_41004

Destructor.

virtual ~CryptoContext () noexcept=default;

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

GetAlgId دالة

The interface shall return the AlgId of the context.

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

المعاملات

operator= دالة 2

Copy-assign another CryptoContext to this instance.

التحميلات الزائدة = 2
CryptoContext & operator= (const CryptoContext &other)=delete; SWS_CRYPT_30214
CryptoContext & operator= (CryptoContext &&other)=delete; SWS_CRYPT_30215

توثيق الدوال

دالة CryptoContext [SWS_CRYPT_41003] Upstream: RS_CRYPTO_02004

CryptoContext (const CryptoContext &)=delete;

Copy-Constructor.

Header-Datei#include "ara/crypto/cryp/crypto_context.h"
Scopeclass ara::crypto::cryp::CryptoContext

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

Record
AUTOSAR/AP/record/SWS_CRYPT_41003
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_41003@rel:R25-11#d9956ac3
Content hash
d9956ac3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_41003
Status: valid/unmigrated Version: rel:R25-11#98ee9054 Versionshistorie & Revisions (1 transition, 4 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_41003@rel:R25-11#98ee9054
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#8cdfc0542026-09-30
  • R23-11rel:R23-11#24b116da2026-10-14
  • R24-11rel:R24-11#98ee90542026-10-14
  • R25-11rel:R25-11#98ee90542026-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

دالة CryptoContext [SWS_CRYPT_41004] Upstream: RS_CRYPTO_02004

CryptoContext (CryptoContext &&)=delete;

Move-Constructor.

Header-Datei#include "ara/crypto/cryp/crypto_context.h"
Scopeclass ara::crypto::cryp::CryptoContext

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

Record
AUTOSAR/AP/record/SWS_CRYPT_41004
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_41004@rel:R25-11#d770c5d9
Content hash
d770c5d9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_41004
Status: valid/unmigrated Version: rel:R25-11#62d2964c Versionshistorie & Revisions (1 transition, 4 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_41004@rel:R25-11#62d2964c
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e84c8c582026-09-30
  • R23-11rel:R23-11#d9afa7b72026-10-14
  • R24-11rel:R24-11#62d2964c2026-10-14
  • R25-11rel:R25-11#62d2964c2026-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

دالة GetAlgId [SWS_CRYPT_20411] Upstream: RS_CRYPTO_02008

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

The interface shall return the AlgId of the context.

Header-Datei#include "ara/crypto/cryp/crypto_context.h"
Scopeclass ara::crypto::cryp::CryptoContext
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<ara::crypto::AlgIdString >the AlgId of the context or an error

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_20411
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20411@rel:R25-11#dd8c0ff5
Content hash
dd8c0ff5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20411
Status: valid/unmigrated Version: rel:R25-11#268ba62b 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_20411@rel:R25-11#268ba62b
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#0505bc8c2026-09-30
  • R19-11rel:R19-11#44b1ac7b2026-10-14
  • R20-11rel:R20-11#1bdef3fa2026-10-14
  • R21-11rel:R21-11#1bdef3fa2026-10-14
  • R22-11rel:R22-11#5dd94a472026-10-14
  • R23-11rel:R23-11#3ac9359d2026-10-14
  • R24-11rel:R24-11#d2d6ca2d2026-10-14
  • R25-11rel:R25-11#268ba62b2026-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

دالة operator= [SWS_CRYPT_30214] Upstream: RS_CRYPTO_02004

CryptoContext & operator= (const CryptoContext &other)=delete;

Copy-assign another CryptoContext to this instance.

Header-Datei#include "ara/crypto/cryp/crypto_context.h"
Scopeclass ara::crypto::cryp::CryptoContext

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

Record
AUTOSAR/AP/record/SWS_CRYPT_30214
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_30214@rel:R25-11#bd0cb6a0
Content hash
bd0cb6a0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_30214
Status: valid/unmigrated Version: rel:R25-11#54e94bf7 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_30214@rel:R25-11#54e94bf7
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#7667e7772026-09-30
  • R20-11rel:R20-11#8da104e32026-10-14
  • R21-11rel:R21-11#78cc10a82026-10-14
  • R22-11rel:R22-11#760b4ede2026-10-14
  • R23-11rel:R23-11#8fd55e4c2026-10-14
  • R24-11rel:R24-11#54e94bf72026-10-14
  • R25-11rel:R25-11#54e94bf72026-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

دالة operator= [SWS_CRYPT_30215] Upstream: RS_CRYPTO_02004

CryptoContext & operator= (CryptoContext &&other)=delete;

Move-assign another CryptoContext to this instance.

Header-Datei#include "ara/crypto/cryp/crypto_context.h"
Scopeclass ara::crypto::cryp::CryptoContext

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

Record
AUTOSAR/AP/record/SWS_CRYPT_30215
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_30215@rel:R25-11#543be91f
Content hash
543be91f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_30215
Status: valid/unmigrated Version: rel:R25-11#f0c7c4e1 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_30215@rel:R25-11#f0c7c4e1
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#e0e202f42026-09-30
  • R20-11rel:R20-11#17d0c85f2026-10-14
  • R21-11rel:R21-11#17d0c85f2026-10-14
  • R22-11rel:R22-11#843bd59e2026-10-14
  • R23-11rel:R23-11#50f4cde12026-10-14
  • R24-11rel:R24-11#f0c7c4e12026-10-14
  • R25-11rel:R25-11#f0c7c4e12026-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

دالة ~CryptoContext [SWS_CRYPT_20401] Upstream: RS_CRYPTO_02008

virtual ~CryptoContext () noexcept=default;

Destructor.

Header-Datei#include "ara/crypto/cryp/crypto_context.h"
Scopeclass ara::crypto::cryp::CryptoContext
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20401
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20401@rel:R25-11#2178b292
Content hash
2178b292
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20401
Status: valid/unmigrated Version: rel:R25-11#0d1ace43 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_20401@rel:R25-11#0d1ace43
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#a3a37bef2026-09-30
  • R20-11rel:R20-11#0a163ac42026-10-14
  • R21-11rel:R21-11#5ba66c7c2026-10-14
  • R22-11rel:R22-11#91bc35ba2026-10-14
  • R23-11rel:R23-11#40c1b8e32026-10-14
  • R24-11rel:R24-11#66216e1d2026-10-14
  • R25-11rel:R25-11#0d1ace432026-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