DEENESPTFRRUARHIKOZHNL

क्लास ara::crypto::CryptoException

[SWS_CRYPT_19905] Upstream: RS_CRYPTO_02310

class CryptoException :          public ara::core::Exception {...};

Exception type thrown for CRYPTO errors.

Header-Datei#include "ara/crypto/common/crypto_error_domain.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto
Basisklasse(n)ara::core::Exception

उपयोगकर्ता गाइडएआई जनित

प्रकार-विशिष्ट C++ अपवाद के रूप में क्रिप्टोग्राफ़िक ऑपरेशनों से त्रुटियों के एनकैप्सुलेशन और संकेतन का कार्य करता है।
एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 1f6949d5652b उद्गम खुले प्रश्न (2)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

प्रकार-विशिष्ट C++ अपवाद के रूप में क्रिप्टोग्राफ़िक ऑपरेशनों से त्रुटियों के एनकैप्सुलेशन और संकेतन का कार्य करता है।

वर्ग ara::crypto::CryptoException AUTOSAR Adaptive Platform में कॉलिंग अनुप्रयोगों को क्रिप्टोग्राफ़िक त्रुटियों का संकेत देने के लिए एक विशेष अपवाद के रूप में कार्य करता है। यह ara::core::Exception से व्युत्पन्न होता है और विफल ऑपरेशनों के मामले में स्पष्ट रूप से एक ara::core::ErrorCode [SWS_CRYPT_19906] के साथ इन्स्टैन्शिएट किया जाता है। noexcept और थ्रेड-सुरक्षित के रूप में विनिर्देश के माध्यम से, समवर्ती परिवेशों में भी परिणामी त्रुटियों के बिना विश्वसनीय अपवाद निर्माण की गारंटी दी जाती है [SWS_CRYPT_19906]। अहैंडल किए गए अपवादों और प्रोग्राम समाप्ति से बचने के लिए अनुप्रयोगों को क्रिप्टोग्राफ़िक कॉलों को तदनुसार सुरक्षित करना चाहिए।

संदर्भ

वर्ग ara::crypto::CryptoException AUTOSAR Adaptive Platform के क्रिप्टो मॉड्यूल के भीतर त्रुटि स्थितियों के लिए केंद्रीय अपवाद प्रकार को परिभाषित करता है। मानक अपवाद वर्ग ara::core::Exception के विशेषज्ञता (specialization) के रूप में, यह प्लेटफ़ॉर्म में प्राथमिक रूप से उपयोग किए जाने वाले त्रुटि कोड-आधारित रिटर्न और क्लासिक C++ अपवाद प्रबंधन तंत्र के बीच की खाई को पाटता है। इसका उपयोग उन सिस्टम आर्किटेक्चरों में किया जाता है जिनमें क्रिप्टोग्राफ़िक ऑपरेशन विफल हो जाते हैं और इस त्रुटि स्थिति को कॉल स्टैक पर एक अपवाद के रूप में प्रसारित किया जाना चाहिए। प्राथमिक इंटरैक्शन भागीदारों में क्रिप्टोग्राफ़िक कार्यात्मक मॉड्यूल और सेवाएँ शामिल हैं, जो अप्रत्याशित त्रुटियों या स्पष्ट जांचों पर अपवाद ट्रिगर करते हैं, साथ ही उच्च-स्तरीय अनुप्रयोग घटक भी शामिल हैं जो एन्क्रिप्शन, हस्ताक्षर सत्यापन या कुंजी प्रबंधन जैसे क्रिप्टोग्राफ़िक संचालन शुरू करते हैं और संभावित त्रुटियों को पकड़ते हैं। प्लेटफ़ॉर्म की सामान्य त्रुटि डोमेन अवधारणा में निहित होने के कारण, ara::crypto::CryptoException यह सुनिश्चित करता है कि क्रिप्टोग्राफ़िक त्रुटियों को एप्लिकेशन लॉजिक को सुसंगत और टाइप किए गए तरीके से रिपोर्ट किया जाए।

जीवनचक्र

ara::crypto::CryptoException के एक ऑब्जेक्ट का निर्माण कंस्ट्रक्टर [SWS_CRYPT_19906] को ara::core::ErrorCode प्रकार का त्रुटि कोड पास करके नियतात्मक रूप से किया जाता है। इस कंस्ट्रक्टर को त्रुटि कोड से अंतर्निहित प्रकार रूपांतरणों को रोकने के लिए explicit के रूप में घोषित किया गया है, और इसका विनिर्देश noexcept [SWS_CRYPT_19906] है। उत्तरार्द्ध यह गारंटी देता है कि अपवाद के निर्माण के दौरान कोई अन्य अपवाद ट्रिगर नहीं हो सकता है, जो क्रिप्टो सबसिस्टम की अपवाद और परिचालन सुरक्षा को काफी बढ़ाता है। विनिर्देश के अनुसार, कार्यान्वयन को थ्रेड-सुरक्षित (thread-safe) के रूप में वर्गीकृत किया गया है [SWS_CRYPT_19906], ताकि समवर्ती निष्पादन परिवेशों में भी इंस्टेंस को मज़बूती से इन्स्टैन्शिएट और संसाधित किया जा सके। स्वामित्व संबंधों के संबंध में, अपवाद को आमतौर पर by-value फेंका जाता है और कैचिंग ब्लॉक में एक स्थिर संदर्भ (constant reference) के रूप में बाँधा जाता है। चूंकि वर्ग त्रुटि कोड से परे किसी भी गतिशील संसाधन का प्रबंधन नहीं करता है, इसलिए इसका जीवनचक्र नियमित रूप से हैंडलिंग catch ब्लॉक (व्याख्या) से बाहर निकलने के साथ समाप्त होता है। प्रश्न (खुला)

उपयोग पथ

नियमित उपयोग पथ एक क्रिप्टोग्राफ़िक ऑपरेशन के भीतर तब शुरू होता है जब कोई ऐसी त्रुटि स्थिति उत्पन्न होती है जिसे स्थानीय रूप से हल नहीं किया जा सकता है। मॉड्यूल हेडर फ़ाइल ara/crypto/common/crypto_error_domain.h से क्रिप्टोग्राफ़िक त्रुटि डोमेन के आधार पर त्रुटि के कारण की पहचान करता है और एक संबंधित ara::core::ErrorCode [SWS_CRYPT_19906] उत्पन्न करता है। इसके बाद, ara::crypto::CryptoException का एक इंस्टेंस इस त्रुटि कोड के साथ इन्स्टैन्शिएट किया जाता है [SWS_CRYPT_19906] और एक throw विवरण के माध्यम से संकेतित किया जाता है। एप्लिकेशन की ओर, कॉलिंग घटक लक्षित रूप से catch (const ara::crypto::CryptoException& e) के माध्यम से अपवाद को पकड़ता है। वैकल्पिक रूप से, इनहेरिटेंस पदानुक्रम जेनेरिक ara::core::Exception के रूप में बहुरूपी (polymorphic) कैचिंग की भी अनुमति देता है। समाहित ara::core::ErrorCode की पूछताछ करके, एप्लिकेशन बाद में विशिष्ट क्रिप्टोग्राफ़िक त्रुटि कारण का विश्लेषण कर सकता है और उपयुक्त जवाबी उपाय कर सकता है।

क्रिप्टोग्राफ़िक त्रुटियों के लिए अपवाद हैंडलिंग का प्रवाहएप्लिकेशनKrypto-DienstCryptoExceptionKryptografische Operation anfordernFehlerbedingung festgestelltErrorCode erzeugtCryptoException(err) konstruieren[SWS_CRYPT_19906]Initialisierung (noexcept)throw CryptoExceptioncatch (const CryptoException&)

अनुक्रम आरेख: क्रिप्टोग्राफ़िक ऑपरेशनों में त्रुटि प्रबंधन और अपवाद ट्रिगरिंग का विशिष्ट प्रवाह। स्रोत: [SWS_CRYPT_19906]

त्रुटि परिदृश्य

चूंकि ara::crypto::CryptoException स्वयं त्रुटि संकेतन का माध्यम है, इसलिए त्रुटि परिदृश्यों में मुख्य ध्यान अपवाद निर्माण की सुदृढ़ता पर होता है। अपवाद और थ्रेड सुरक्षा के आश्वासन के साथ-साथ कंस्ट्रक्टर की noexcept गारंटी यह सुनिश्चित करती है कि पहले से ही सक्रिय त्रुटि प्रबंधन के दौरान द्वितीयक अपवाद उत्पन्न न हों [SWS_CRYPT_19906]। एप्लिकेशन लॉजिक में एक संभावित त्रुटि परिदृश्य यह है कि पास किया गया ara::core::ErrorCode अप्रत्याशित या गैर-क्रिप्टोग्राफ़िक त्रुटि डोमेन को एनकैप्सुलेट करता है; संभवतः अपवाद फिर भी त्रुटि कोड को तटस्थ रूप से संसाधित करता है और इसे अपरिवर्तित हैंडलर तक पहुँचाता है (व्याख्या)। प्रश्न Q-0bb3376f547ce024 (खुला) सिस्टम स्तर पर एक और जोखिम अपवाद को पकड़ने में विफलता है, जो C++ रनटाइम वातावरण में std::terminate के कॉल का कारण बनेगा। इसलिए, कॉलिंग घटक जो त्रुटि कोड-आधारित रिटर्न के बिना API का उपयोग करते हैं, उन्हें संबंधित catch ब्लॉकों के साथ क्रिप्टोग्राफ़िक कॉलों को लगातार सुरक्षित करना चाहिए।

यह मार्गदर्शिका AUTOSAR Adaptive Release R25-11 के विनिर्देश पर आधारित है। सभी विवरण विशेष रूप से ara::crypto::CryptoException के लिए प्रदान किए गए विनिर्देश डेटा पर आधारित हैं।

UML क्लास आरेख

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

G nara__crypto__CryptoException764 CryptoException + CryptoException() nara__core__Exception792 Exception nara__crypto__CryptoException764->nara__core__Exception792 nstd__exception10 std::exception nara__core__Exception792->nstd__exception10

कंस्ट्रक्टर और डिस्ट्रक्टर

CryptoException फ़ंक्शन

Construct a new CryptoException from an ErrorCode.

explicit CryptoException (ara::core::ErrorCode err) noexcept;

मेथड का प्रलेखन

फ़ंक्शन CryptoException [SWS_CRYPT_19906] Upstream: RS_CRYPTO_02310

explicit CryptoException (ara::core::ErrorCode err) noexcept;

Construct a new CryptoException from an ErrorCode.

Header-Datei#include "ara/crypto/common/crypto_error_domain.h"
Scopeclass ara::crypto::CryptoException
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
errthe ErrorCode

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

Record
AUTOSAR/AP/record/SWS_CRYPT_19906
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_19906@rel:R25-11#87260d45
Content hash
87260d45
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_19906
Status: valid/unmigrated Version: rel:R25-11#e5b2b44f 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_19906@rel:R25-11#e5b2b44f
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#9def4e0a2026-09-30
  • R20-11rel:R20-11#cce73a752026-10-14
  • R21-11rel:R21-11#cb340b962026-10-14
  • R22-11rel:R22-11#a0101a6a2026-10-14
  • R23-11rel:R23-11#773a91122026-10-14
  • R24-11rel:R24-11#1112adf52026-10-14
  • R25-11rel:R25-11#e5b2b44f2026-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