DEENESPTFRRUARHIKOZHNL

klasse 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

User GuideAI-GEGENEREERD

Dient voor het inkapselen en signaleren van fouten uit cryptografische bewerkingen als typespecifieke C++-uitzondering.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 1f6949d5652b Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Dient voor het inkapselen en signaleren van fouten uit cryptografische bewerkingen als typespecifieke C++-uitzondering.

De klasse ara::crypto::CryptoException fungeert in het AUTOSAR Adaptive Platform als gespecialiseerde uitzondering voor het signaleren van cryptografische fouten aan aanroepende applicaties. Zij is afgeleid van ara::core::Exception en wordt bij mislukte bewerkingen expliciet met een ara::core::ErrorCode geïnstantieerd [SWS_CRYPT_19906]. Door de specificatie als noexcept en thread-safe is een betrouwbare uitzonderingscreatie ook in concurrente omgevingen zonder gevolgfouten gegarandeerd [SWS_CRYPT_19906]. Applicaties moeten cryptografische aanroepen dienovereenkomstig beveiligen om niet-afgehandelde uitzonderingen en programma-afbrekingen te voorkomen.

Context

De klasse ara::crypto::CryptoException definieert het centrale uitzonderingstype voor fouttoestanden binnen de cryptomodule van het AUTOSAR Adaptive Platform. Als specialisatie van de standaard-uitzonderingsklasse ara::core::Exception slaat zij een brug tussen het binnen het platform primair gebruikte op foutcodes gebaseerde retourmechanisme en klassieke C++-uitzonderingsafhandelingsmechanismen. Zij wordt toegepast in systeemarchitecturen waarin cryptografische bewerkingen mislukken en deze fouttoestand over de callstack heen als uitzondering moet worden gepropageerd. Tot de primaire interactiepartners behoren cryptografische functiemodules en -diensten, die bij onvoorziene fouten of expliciete controles uitzonderingen genereren, evenals bovenliggende applicatiecomponenten die cryptografische processen zoals versleuteling, handtekeningverificatie of sleutelbeheer initiëren en eventuele fouten opvangen. Door de verankering in het gemeenschappelijke foutdomeinconcept van het platform waarborgt ara::crypto::CryptoException dat cryptografische fouten consistent en getypeerd aan de applicatielogica worden gemeld.

Levenscyclus

Het creëren van een object van ara::crypto::CryptoException gebeurt deterministisch door het doorgeven van een foutcode van het type ara::core::ErrorCode aan de constructor [SWS_CRYPT_19906]. Deze constructor is gedeclareerd als explicit om impliciete typeconversies vanuit foutcodes te voorkomen, en bezit de specificatie noexcept [SWS_CRYPT_19906]. Dit laatste garandeert dat bij de constructie van de uitzondering zelf geen verdere uitzonderingen kunnen worden gegenereerd, wat de uitzonderings- en bedrijfsveiligheid van het crypto-subsysteem aanzienlijk verhoogt. Volgens de specificatie is de implementatie geclassificeerd als thread-safe [SWS_CRYPT_19906], zodat instanties ook in concurrente uitvoeringsomgevingen betrouwbaar kunnen worden geïnstantieerd en verwerkt. Wat eigendomsverhoudingen betreft, wordt de uitzondering typisch by-value geworpen en in het opvangende blok als constante referentie gebonden. Omdat de klasse behalve de foutcode geen dynamische resources beheert, eindigt haar levenscyclus regulier met het verlaten van het afhandelende catch-blok (interpretatie). Vraag (open)

Gebruikspad

Het reguliere gebruikspad begint binnen een cryptografische bewerking wanneer een foutconditie optreedt die niet lokaal kan worden opgelost. De module identificeert de foutoorzaak aan de hand van het cryptografische foutdomein uit het headerbestand ara/crypto/common/crypto_error_domain.h en genereert een bijbehorende ara::core::ErrorCode [SWS_CRYPT_19906]. Aansluitend wordt een instantie van ara::crypto::CryptoException met deze foutcode geïnstantieerd [SWS_CRYPT_19906] en door middel van een throw-instructie gesignaleerd. Aan de applicatiezijde vangt de aanroepende component de uitzondering gericht op via catch (const ara::crypto::CryptoException& e). Als alternatief staat de overervingshiërarchie ook het polymorf opvangen als generieke ara::core::Exception toe. Door het opvragen van de aanwezige ara::core::ErrorCode kan de applicatie vervolgens de specifieke cryptografische foutoorzaak analyseren en passende tegenmaatregelen nemen.

Verloop van de exceptieafhandeling bij cryptografische foutenAnwendungKrypto-DienstCryptoExceptionKryptografische Operation anfordernFehlerbedingung festgestelltErrorCode erzeugtCryptoException(err) konstruieren[SWS_CRYPT_19906]Initialisierung (noexcept)throw CryptoExceptioncatch (const CryptoException&)

Sequentiediagram: Typisch verloop van de foutafhandeling en het genereren van uitzonderingen bij cryptografische bewerkingen. Bronnen: [SWS_CRYPT_19906]

Foutscenario's

Aangezien ara::crypto::CryptoException zelf het vehikel voor foutsignalering vormt, ligt het zwaartepunt bij foutscenario's op de robuustheid van de uitzonderingsgeneratie. Door het waarborgen van de uitzonderings- en thread-veiligheid en de noexcept-garantie van de constructor wordt voorkomen dat tijdens een reeds actieve foutafhandeling secundaire uitzonderingen optreden [SWS_CRYPT_19906]. Een potentieel foutscenario in de applicatielogica is dat een doorgegeven ara::core::ErrorCode onverwachte of niet-cryptografische foutdomeinen inkapselt; vermoedelijk verwerkt de exceptie de foutcode desalniettemin neutraal en transporteert deze ongewijzigd naar de afhandelaar (interpretatie). Vraag Q-0bb3376f547ce024 (open) Een ander risico op systeemniveau is het niet opvangen van de uitzondering, wat in de C++-runtime-omgeving zou leiden tot de aanroep van std::terminate. Daarom moeten aanroepende componenten die API's zonder op foutcodes gebaseerde retourwaarde gebruiken, cryptografische aanroepen consequent beveiligen met passende catch-blokken.

Deze gids is gebaseerd op de specificatie van AUTOSAR Adaptive Release R25-11. Alle gegevens steunen uitsluitend op de verstrekte specificatiegegevens over ara::crypto::CryptoException.

UML-klassendiagram

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

Constructors en destructor

Construct a new CryptoException from an ErrorCode.

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

Documentatie van de methoden

functie 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#0dc7c5a4
Content hash
0dc7c5a4
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