DEENESPTFRRUARHIKOZHNL

فئة ara::crypto::cryp::PrivateKey

[SWS_CRYPT_22500] Upstream: RS_CRYPTO_02002, RS_CRYPTO_02403

class PrivateKey :         public CryptoObject {...};

Generalized Asymmetric Private Key interface.

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

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

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

يغلف المفاتيح الخاصة غير المتماثلة ويوفر المفتاح العام المقابل.

تحدد الواجهة ara::crypto::cryp::PrivateKey الواجهة العامة للمفاتيح الخاصة غير المتماثلة في AUTOSAR Adaptive وتتم إدارتها بشكل أساسي عبر الاسم المستعار للمؤشر المشترك PrivateKey::Sptr [SWS_CRYPT_22501]. وتتيح دالتها المركزية GetPublicKey() استرداد المفتاح العام المقابل بصيغة PublicKey::Sptr لتوفيره لعمليات التشفير الشريكة [SWS_CRYPT_22511]. تم تحديد عملية الاسترداد هذه لتكون آمنة من حيث مؤشرات الترابط وخالية من الاستثناءات دون رموز خطأ قياسية، حيث يُرجح أن يُشار إلى أي أخطاء محتملة بطريقة خاصة بالتنفيذ عبر نوع الإرجاع ara::core::Result (تفسير). سؤال (مفتوح)

السياق

تعمل الواجهة ara::crypto::cryp::PrivateKey في AUTOSAR Adaptive Platform كواجهة معممة للمفاتيح الخاصة غير المتماثلة داخل الوحدة crypto. تم التصريح عنها في ملف الترويسة ara/crypto/cryp/cryobj/private_key.h وهي مشتقة مباشرة من الواجهة الأساسية CryptoObject. وباعتبارها مكوناً أساسياً في نظام التشفير غير المتماثل، تغلف PrivateKey مادة المفتاح السرية المطلوبة لعمليات التشفير مثل إنشاء التواقيع الرقمية أو إجراءات فك التشفير غير المتماثل.

تشمل أطراف التفاعل الأساسية، إلى جانب الفئة الأساسية CryptoObject، واجهة المفتاح العام المقابلة PublicKey على وجه الخصوص، بالإضافة إلى خدمات التشفير المستهلكة وإجراءات التطبيق. وبينما يجب دائماً الحفاظ على سرية المفتاح الخاص، تتيح الواجهة عبر الدالة العضو GetPublicKey() التوفير المباشر للمفتاح العام المقابل [SWS_CRYPT_22511]. وبهذه الطريقة، تتحقق علاقة وثيقة قائمة على النوع بين المفتاح الخاص ونظيره الرياضي.

PrivateKeyContext Anwendung Anwendung PrivateKey PrivateKey Anwendung->PrivateKey nutzt Sptr PublicKey PublicKey Anwendung->PublicKey empfaengt Sptr CryptoObject CryptoObject PrivateKey->CryptoObject erbt von PrivateKey->PublicKey يُرجع عبر GetPublicKey()

مخطط السياق: تضمين PrivateKey في نموذج كائنات التشفير والعلاقة مع PublicKey المقابل. المصادر: [SWS_CRYPT_22501]، [SWS_CRYPT_22511]

دورة الحياة

تتم إدارة وتمرير مثيلات الواجهة PrivateKey عبر المؤشر الذكي محدد النوع PrivateKey::Sptr، والمُعرَّف كاسم مستعار للنوع لـ std::shared_ptr<PrivateKey> [SWS_CRYPT_22501]. ويضمن هذا المؤشر المشترك ملكية مشتركة وإدارة تلقائية للموارد عبر عد المراجع، بحيث يتم تحرير مادة المفتاح المحمية بمجرد زوال آخر مرجع.

نظراً لأن PrivateKey تمثل واجهة مجردة ذات توابع افتراضية تماماً مثل GetPublicKey() [SWS_CRYPT_22511]، فلا يمكن للتطبيقات إنشاء مثيل للفئة مباشرة. ويُرجح أن يتم إنشاء وتوفير مثيلات فعلية من PrivateKey::Sptr عبر مصانع متخصصة، أو مكونات إدارة المفاتيح، أو موفري التشفير لنظام Adaptive (تفسير). سؤال Q-f0f9fe2258fac168 (مفتوح) ولا تحدد الواجهة نفسها أي حالات داخلية منفصلة أو انتقالات للحالة.

فيما يتعلق بالتزامن، تحدد الواجهة صراحة أمان مؤشرات الترابط (thread-safe) للدالة العضو المركزية GetPublicKey() [SWS_CRYPT_22511]. يتيح ذلك لخيوط تنفيذ متعددة الوصول المتزامن للقراءة دون الحاجة إلى مزامنة إلى نفس مثيل المفتاح للحصول على المفتاح العام المقابل.

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

يتضمن مسار الاستخدام النموذجي لـ PrivateKey استلام المفتاح الخاص ثم استخراج المفتاح العام المقابل لأغراض التحقق من الصحة، أو التسجيل، أو الاتصال:

  1. الحصول على المفتاح: يتلقى مكون البرنامج المستهلك مثيلاً صالحاً لمفتاح خاص غير متماثل في صورة PrivateKey::Sptr [SWS_CRYPT_22501].
  2. استرداد المفتاح الشريك: إذا كان المفتاح العام المقابل مطلوباً لمسار عمل لاحق، يستدعي المكون الدالة العضو GetPublicKey() على المثيل [SWS_CRYPT_22511].
  3. معالجة النتيجة: يُرجع الاستدعاء ara::core::Result<PublicKey::Sptr> [SWS_CRYPT_22511]. يتحقق التطبيق من نجاح كائن النتيجة ويقوم بفك المؤشر PublicKey::Sptr عند نجاح التنفيذ.
  4. إعادة الاستخدام: يمكن بعد ذلك نقل المفتاح العام الناتج إلى شركاء اتصال خارجيين أو تمريره إلى إجراءات التحقق المحلية. ويُرجح أن يتم اشتقاق المفتاح العام داخلياً مباشرة من المعلمات الرياضية للمفتاح الخاص (تفسير). سؤال Q-464000dc5d638649 (مفتوح)

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

من أجل تكامل خالٍ من الأخطاء، تعد خصائص الخطأ والشروط المسبقة لـ GetPublicKey() حاسمة:

  • الأخطاء القياسية: وفقاً للمواصفة، لا تحدد الدالة GetPublicKey() أي رموز خطأ قياسية [SWS_CRYPT_22511].
  • قناة الخطأ: على الرغم من عدم تحديد أي أخطاء قياسية، فإن نوع الإرجاع ara::core::Result ينقل حالات الفشل المحتملة. إذا حدث خطأ أثناء الاشتقاق الداخلي للمفتاح أو إنشاء الكائن، فمن المحتمل أن يحتوي كائن النتيجة على رموز خطأ خاصة بالتنفيذ من برامج تشغيل التشفير الأساسية (تفسير). سؤال Q-4af6390594d9c5e1 (مفتوح)
  • أمان الاستثناءات: صُنفت الدالة صراحةً على أنها آمنة من الاستثناءات (exception safe) وزُوِّدت بالمعرِّف noexcept [SWS_CRYPT_22511]. وبالتالي، لا يلزم المتصلين التقاط استثناءات C++.
  • الشروط المسبقة واللاحقة: الشرط المسبق للاستدعاء الناجح هو وجود مثيل PrivateKey صالح وغير مُحرَّر. كشرط لاحق، تضمن الواجهة في حالة النجاح إرجاع PublicKey::Sptr يتوافق رياضياً تماماً مع المفتاح الخاص [SWS_CRYPT_22511].

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

مخطط الفئات UML

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

G nara__crypto__cryp__PrivateKey762 PrivateKey + GetPublicKey() nara__crypto__cryp__CryptoObject679 CryptoObject nara__crypto__cryp__PrivateKey762->nara__crypto__cryp__CryptoObject679 nara__crypto__Serializable855 Serializable nara__crypto__cryp__CryptoObject679->nara__crypto__Serializable855

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

GetPublicKey دالة

The interface shall return the public key correspondent to this private key.

virtual ara::core::Result< PublicKey::Sptr > GetPublicKey () const noexcept=0;

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

Sptr اسم نوع بديل

shared smart pointer of the interface.

توثيق الدوال

دالة GetPublicKey [SWS_CRYPT_22511] Upstream: RS_CRYPTO_02108, RS_CRYPTO_02115

virtual ara::core::Result< PublicKey::Sptr > GetPublicKey () const noexcept=0;

The interface shall return the public key correspondent to this private key.

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

الاستخدام

تُستخدم الدالة GetPublicKey للفئة ara::crypto::cryp::PrivateKey للاسترداد المتزامن للمفتاح العام المقابل للمفتاح الخاص [SWS_CRYPT_22511]. ويتم الاستدعاء بدون معلمات على مثيل موجود من PrivateKey. وكقيمة إرجاع، تُرجع الواجهة ara::core::Result<PublicKey::Sptr>، والذي يوفر عند التنفيذ الناجح مؤشراً مشتركاً يشير إلى كائن PublicKey المقابل [SWS_CRYPT_22511].

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

لم يتم تحديد رموز خطأ قياسية لهذه الدالة في المواصفات [SWS_CRYPT_22511]. وتتم معالجة الأخطاء عبر كائن الإرجاع من النوع ara::core::Result. ونظراً لأن العملية مصرح عنها كـ noexcept، فإنها تُعتبر آمنة من الاستثناءات (exception safe) [SWS_CRYPT_22511]. بالإضافة إلى ذلك، فإن الدالة مؤهلة كـ const ومحددة على أنها آمنة بالنسبة للخيوط (thread-safe)، مما يجعل عمليات الوصول المتوازية للقراءة عبر خيوط متعددة مسموحاً بها [SWS_CRYPT_22511].

تفاعل

في الإجراءات التشفيرية النموذجية، يُستخدم GetPublicKey بعد إنشاء زوج مفاتيح غير متماثل بواسطة GeneratePrivateKey [SWS_CRYPT_20722]. وأثناء ذلك، يتم نقل رايات الاستخدام المسموح بها للمفتاح الخاص المُنشأ إلى المفتاح العام المقابل (على سبيل المثال، إذن التحقق من التوقيع من إنشاء التوقيع) [SWS_CRYPT_20722]. وتجب التفرقة بين هذه الدالة والواجهة التي تحمل الاسم نفسه في ProtectedKeyImportCtx، والتي تُستخدم لتفريغ المفاتيح العامة المستوردة [SWS_CRYPT_50211].

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

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

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

Rückgabewert

TypBeschreibung
ara::core::Result< PublicKey::Sptr >A result containing a shared pointer to the public key correspondent to this private 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_22511
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22511@rel:R25-11#dba94c05
Content hash
dba94c05
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22511
Status: valid/unmigrated Version: rel:R25-11#e5f0457b 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_22511@rel:R25-11#e5f0457b
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f0d041e72026-09-30
  • R19-11rel:R19-11#bb931c232026-10-14
  • R20-11rel:R20-11#85846a1e2026-10-14
  • R21-11rel:R21-11#85846a1e2026-10-14
  • R22-11rel:R22-11#99b114f02026-10-14
  • R23-11rel:R23-11#6fdc19552026-10-14
  • R24-11rel:R24-11#a752dbfc2026-10-14
  • R25-11rel:R25-11#e5f0457b2026-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_22501] Upstream: RS_CRYPTO_02306

using Sptr = std::shared_ptr<PrivateKey>;

shared smart pointer of the interface.

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

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

Record
AUTOSAR/AP/record/SWS_CRYPT_22501
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_22501@rel:R25-11#f38f2bca
Content hash
f38f2bca
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_22501
Status: valid/unmigrated Version: rel:R25-11#48b56da1 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_22501@rel:R25-11#48b56da1
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#568a064f2026-09-30
  • R19-11rel:R19-11#c428ba2c2026-10-14
  • R20-11rel:R20-11#fb4c3bbd2026-10-14
  • R21-11rel:R21-11#fb4c3bbd2026-10-14
  • R22-11rel:R22-11#6e7979fe2026-10-14
  • R23-11rel:R23-11#d106cca42026-10-14
  • R24-11rel:R24-11#5eb65ced2026-10-14
  • R25-11rel:R25-11#48b56da12026-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