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 (खुला) इंटरफ़ेस स्वयं कोई असतत आंतरिक अवस्थाएँ या अवस्था संक्रमण परिभाषित नहीं करता है।

समवर्तीता के संबंध में, इंटरफ़ेस केंद्रीय सदस्य फ़ंक्शन GetPublicKey() के लिए स्पष्ट रूप से थ्रेड सुरक्षा (thread-safe) निर्दिष्ट करता है [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 के विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।

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 · जर्मन मूल

उपयोग

क्लास ara::crypto::cryp::PrivateKey की विधि GetPublicKey निजी कुंजी के संगत सार्वजनिक कुंजी को सिंक्रोनस रूप से प्राप्त करने का कार्य करती है [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]।

इंटरैक्शन

विशिष्ट क्रिप्टोग्राफ़िक कार्यप्रवाहों में, GeneratePrivateKey का उपयोग करके असममित कुंजी युग्म उत्पन्न करने के बाद GetPublicKey का उपयोग किया जाता है [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#85eedb97
Content hash
85eedb97
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#b90c19d0
Content hash
b90c19d0
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