Stelt basistypen, foutdomeinen en factory-functies beschikbaar voor cryptografische diensten en sleutelbeheer.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 253d08fc1defHerkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Stelt basistypen, foutdomeinen en factory-functies beschikbaar voor cryptografische diensten en sleutelbeheer.
De namespace ara::crypto stelt de gemeenschappelijke basistypen, geheugenbuffers en globale factory-functies voor cryptografische diensten in AUTOSAR Adaptive beschikbaar. Toepassingen maken deelsysteem-instanties zoals crypto- en sleutelopslagproviders aan of verkrijgen deze deterministisch via instappunten zoals LoadCryptoProvider[SWS_CRYPT_20099]. Alle cryptografische operaties en sleutelgebruiken worden daarbij strikt bewaakt via gedefinieerde gebruiksvlaggen evenals het gestandaardiseerde foutdomein met CryptoErrc[SWS_CRYPT_10099]. Alle factory-interfaces vereisen een geldige proces-mapping en zijn thread-safe ontworpen.
Context
De namespace ara::crypto vormt het gemeenschappelijke fundament en het centrale instappunt voor alle cryptografische diensten, sleutelbeheerfuncties en certificaatoperaties van het AUTOSAR Adaptive Platform. In plaats van implementatiedetails van de onderliggende stuurprogramma's of hardwarebeveiligingsmodules vrij te geven, definieert de namespace gestandaardiseerde interfaces en globale factory-functies. Via deze instappunten vragen toepassingen instanties van de gespecialiseerde deelsystemen aan: de algemene cryptografie-provider [SWS_CRYPT_20099], de X.509-provider [SWS_CRYPT_40099], lees- en schrijftoegang tot sleutelopslagplaatsen [SWS_CRYPT_50004][SWS_CRYPT_50005] alsmede formatteerders voor objectserialisatie [SWS_CRYPT_50200].
Contextdiagram: Samenspel tussen applicatie-instanties, de instappunten in ara::crypto en de beschikbaar gestelde deelsysteem-objecten. Bronnen: [SWS_CRYPT_20099], [SWS_CRYPT_40099], [SWS_CRYPT_50004], [SWS_CRYPT_50005], [SWS_CRYPT_50200].
Levenscyclus
Het levenscyclusbeheer van de cryptografische kernobjecten volgt het factory-patroon via globale instappunten:
Instantiëring en eigendomsverhoudingen: Toepassingen maken instanties niet handmatig aan via constructors. In plaats daarvan retourneren de factory-functies LoadCryptoProvider[SWS_CRYPT_20099], LoadKeySlot[SWS_CRYPT_50004], LoadWriteableKeySlot[SWS_CRYPT_50005], LoadX509Provider[SWS_CRYPT_40099] en LoadFormatter[SWS_CRYPT_50200] gedeelde eigendomsreferenties in de vorm van ara::core::Result<...::Sptr>.
Singleton- en provider-levenscycli: De functie LoadX509Provider stelt de unieke instantie van de singleton-X.509-provider beschikbaar [SWS_CRYPT_40099]. LoadCryptoProvider maakt de bestaande instantie van de via een ara::core::InstanceSpecifier gemodelleerde crypto-provider aan of refereert hiernaar [SWS_CRYPT_20099].
Concurrency en vernietiging: Alle factory-functies en de foutdomein-helpers GetCryptoErrorDomain[SWS_CRYPT_19952] en MakeErrorCode[SWS_CRYPT_19951] zijn gespecificeerd als uitzonderingsveilig (noexcept) en thread-safe (thread-safe). De vrijgave van de gerefereerde objecten vindt automatisch plaats zodra de laatst vastgehouden shared pointer vervalt.
Gebruikspad
Een typisch gebruikstraject voor het uitvoeren van cryptografische bewerkingen of voor het beheren van sleutels verloopt via de volgende stappen:
Provider laden: De applicatie roept LoadCryptoProvider aan met een passende ara::core::InstanceSpecifier om toegang te krijgen tot de cryptografische bewerkingen [SWS_CRYPT_20099].
Sleutelslot refereren: Voor sleutelgebaseerde procedures wordt de bijbehorende opslagruimte geladen: alleen-lezen via LoadKeySlot[SWS_CRYPT_50004] of met schrijfrechten via LoadWriteableKeySlot[SWS_CRYPT_50005].
Objectvalidatie en rechtencontrole: Vóór de uitvoering verifieert de applicatie de objecttypen (CryptoObjectType[SWS_CRYPT_10016]) en de geconfigureerde gebruiksbeperkingen (AllowedUsageFlags[SWS_CRYPT_10015]), bijvoorbeeld kAllowDataEncryption[SWS_CRYPT_13101] of kAllowDataDecryption[SWS_CRYPT_13102] passend bij CryptoTransform[SWS_CRYPT_10019].
Sequentiediagram: Aanroep- en initialisatievolgorde voor het laden van providers en sleutelslots met aansluitende foutcontrole. Bronnen: [SWS_CRYPT_20099], [SWS_CRYPT_50004], [SWS_CRYPT_19951].
Foutscenario's
De foutafhandeling in ara::crypto is gebaseerd op het globale foutdomein CryptoErrorDomain[SWS_CRYPT_19952], waarvan de enumeratie CryptoErrc[SWS_CRYPT_10099] alle specifieke foutcodes vastlegt:
Argument- en bufferfouten: Ongeldige argumenten leiden tot kInvalidArgument, onbekende identifiers tot kUnknownIdentifier en niet-passende parametercombinaties tot kIncompatibleArguments[SWS_CRYPT_10099]. Als de capaciteit van een ReadWriteMemRegion[SWS_CRYPT_10031] ontoereikend is, signaleert de interface kInsufficientCapacity[SWS_CRYPT_10099]. Bij onjuiste invoergroottes treedt kInvalidInputSize op [SWS_CRYPT_10099].
Toestands- en volgordeschendingen: Bij een onjuiste aanroepvolgorde meldt het systeem kInvalidUsageOrder[SWS_CRYPT_10099]. Wordt een context vóór de initialisatie gebruikt of een rekenstap vóór de afronding opgevraagd, dan resulteert dit in respectievelijk kUninitializedContext, kProcessingNotStarted of kProcessingNotFinished[SWS_CRYPT_10099].
Rechten- en beveiligingsschendingen: Bewerkingen die in strijd zijn met de in AllowedUsageFlags gedeclareerde rechten genereren kUsageViolation[SWS_CRYPT_10099]. Mislukt de controle van een authenticatietag, dan wordt kAuthTagNotValid gegenereerd [SWS_CRYPT_10099].
Slot- en mappingfouten: Lege of incompatibele sleutelcontainers leiden tot kEmptyKeySlot of kIncompatibleObject[SWS_CRYPT_10099]. Wijst de InstanceSpecifier bij LoadCryptoProvider, LoadKeySlot of LoadWriteableKeySlot niet naar een voor het huidige proces gemodelleerde PortPrototype, dan wordt dit aangemerkt als ProcessMappingViolation ([SWS_CRYPT_20099], [SWS_CRYPT_50004], [SWS_CRYPT_50005]).
Foutinstanties worden programmatisch via de hulpfunctie MakeErrorCode gegenereerd en refereren zonder uitzondering naar de CryptoErrorDomain[SWS_CRYPT_19951].
Deze handleiding is uitsluitend gebaseerd op de specificatie-eisen van AUTOSAR R25-11.
KI-gestützte Gruppierung auf Basis der Records und Spezifikationsauszüge; keine Gliederung aus der AUTOSAR-Spezifikation.
Klassendiagram
Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.
This factory method shall create or return the existing instance of a specific Crypto Provider.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: b6b49fc6b39dHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De factory-functie LoadCryptoProvider in de namespace ara::crypto dient als centraal instappunt om een instantie van een cryptografische dienstverlener te creëren of een reeds bestaande instantie op te halen [SWS_CRYPT_20099]. Voor integratie is de header ara/crypto/common/entry_point.h vereist [SWS_CRYPT_20099].
Bij de aanroep gelden de volgende parameter- en retoureigenschappen [SWS_CRYPT_20099]:
Aanroepparameter: De overdrachtsparameter iSpecify (type const ara::core::InstanceSpecifier&) identificeert de RPortPrototype van het type CryptoProviderInterface die is toegewezen aan het aanroepende proces [SWS_CRYPT_20099].
Retourwaarde: Bij een succesvolle instantiëring levert de functie een ara::core::Result<cryp::CryptoProvider::Sptr> op, die een shared pointer naar het geladen provider-object inkapselt [SWS_CRYPT_20099].
Concurrency: De functie is gedeclareerd als noexcept, geldt als exception safe en is expliciet gespecificeerd als thread-safe, zodat aanroepen vanuit parallelle threads zijn toegestaan [SWS_CRYPT_20099].
Wat betreft de foutafhandeling definieert de specificatie geen gestandaardiseerde foutcodes [SWS_CRYPT_20099]. Een mislukking van de bewerking zal echter vermoedelijk worden weergegeven als foutstatus in de geretourneerde ara::core::Result. Vraag Q-ad283a067489b0eb (open) Daarnaast is de modelleringsfout ProcessMappingViolation gedefinieerd: deze treedt op wanneer de overgedragen InstanceSpecifier niet verwijst naar een voor het huidige proces geldige PortPrototype, die getypeerd is door een CryptoProviderInterface[SWS_CRYPT_20099].
Deze tekst is gegenereerd door een AI op basis van de specificatie AUTOSAR R25-11.
ProcessMappingVio- In case InstanceSpecifier does not point to a PortPrototype typed lation by a CryptoProviderInterface modeled for the current process.
Parameter (in)
Parameter
Beschreibung
iSpecify
InstanceSpecifier of the RPortPrototype of type CryptoProvider Interface
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 1ad37ba369f0HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De functie LoadFormatter in de namespace ara::crypto dient als factory voor het creëren van een instantie van Formatter[SWS_CRYPT_50200]. De declaratie wordt bereitgesteld via het headerbestand ara/crypto/common/formatter.h.
Gebruik en interface: De aanroep verloopt synchroon en vereist geen overdrachtsparameters. Als retourwaarde levert de functie een ara::core::Result<ara::crypto::Formatter::Sptr> op, die bij succes een shared pointer naar het nieuw aangemaakte Formatter-object inkapselt [SWS_CRYPT_50200].
Foutafhandeling: De specificatie definieert voor LoadFormatter geen gestandaardiseerde foutcodes [SWS_CRYPT_50200]. Omdat de retourwaarde is ontworpen als ara::core::Result, worden implementatiespecifieke fouten bij het aanmaken van objecten vermoedelijk via het foutkanaal van dit resultaattype verzonden. Vraag Q-dd9ac8319a9ad931 (open)
Gelijktijdigheid en uitvoeringsveiligheid: De functie is gedeclareerd als noexcept en gespecificeerd als exception-safe (exception safe) en thread-safe (thread-safe) [SWS_CRYPT_50200]. Deze kan daardoor zonder externe synchronisatiemaatregelen parallel vanuit verschillende threads worden aangeroepen.
Deze gebruiksinstructie is geautomatiseerd gegenereerd en is gebaseerd op de vereisten van de AUTOSAR-standaard.
Load a read-only key slot. This factory method shall load the information associated with the specified KeySlot into a KeySlot object.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 8366de538e98Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De functie LoadKeySlot in namespace ara::crypto is ontworpen als factory-methode om een alleen-lezen keyslot (read-only key slot) te laden [SWS_CRYPT_50004]. Bij synchrone aanroep laadt de methode de met het opgegeven slot geassocieerde metadata en sleutelinformatie in een bijbehorend KeySlot-object [SWS_CRYPT_50004]. Voor integratie dient het headerbestand ara/crypto/common/entry_point.h.
Als invoerparameter accepteert de functie een instantiespecificatie iSpecify van het type const ara::core::InstanceSpecifier&[SWS_CRYPT_50004]. Deze identifier moet verwijzen naar de RPortPrototype van een CryptoKeySlotInterface of een CryptoKeySlotClientInterface die de te laden sleutel eenduidig identificeert [SWS_CRYPT_50004].
Als resultaat levert de methode een ara::core::Result<cryp::KeySlot::Sptr> op, die ofwel een shared pointer naar het geladen KeySlot-object ofwel een fout levert [SWS_CRYPT_50004]. De specificatie definieert voor LoadKeySlot geen gestandaardiseerde foutcodes [SWS_CRYPT_50004]. Er wordt echter een ProcessMappingViolation gedocumenteerd: deze doet zich voor wanneer de meegegeven InstanceSpecifier niet verwijst naar een voor het huidige proces gemodelleerde poort die door een CryptoKeySlotInterface of CryptoKeySlotClientInterface is getypeerd [SWS_CRYPT_50004].
Voor de uitvoering is de functie gedeclareerd als noexcept en biedt deze volledige uitzonderingsveiligheid (exception safe) [SWS_CRYPT_50004]. Daarnaast is de aanroep gespecificeerd als thread-safe (thread-safe), zodat gelijktijdige toegang door meerdere threads wordt ondersteund [SWS_CRYPT_50004].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de AUTOSAR-specificatie R25-11.
ProcessMappingVio- In case InstanceSpecifier does not point to a PortPrototype typed lation by a CryptoKeySlotInterface or CryptoKeySlotClientInterface modeled for the current process.
Parameter (in)
Parameter
Beschreibung
iSpecify
instance specifier to the RPortPrototype of a CryptoKeySlot Interface or a CryptoKeySlotClientInterface that identifies the key to be loaded
Load a writeable key slot. This factory method shall load the information associated with the specified KeySlot into a WriteableKeySlot object.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 548256d68415HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De functie LoadWriteableKeySlot dient als synchrone factory-methode om de informatie van een gespecificeerd sleutelslot in een cryp::WriteableKeySlot-object te laden [SWS_CRYPT_50005]. De functie is gedefinieerd in namespace ara::crypto en wordt beschikbaar gesteld via header ara/crypto/common/entry_point.h[SWS_CRYPT_50005].
Parameter:iSpecify (van het type const ara::core::InstanceSpecifier&) verwijst naar de RPortPrototype van een CryptoKeySlotInterface en identificeert daarmee de te laden sleutel [SWS_CRYPT_50005].
Teruggeefwaarde: Een ara::core::Result<cryp::WriteableKeySlot::Sptr> dat ofwel het geladen KeySlot als shared pointer ofwel een foutobject bevat [SWS_CRYPT_50005].
Semantiek: De aanroep vindt synchroon direct bij de uitvoering plaats [SWS_CRYPT_50005].
Foutafhandeling en randvoorwaarden
Voor deze functie zijn geen gestandaardiseerde foutcodes gespecificeerd [SWS_CRYPT_50005]. Optredende foutcondities worden vermoedelijk via de geretourneerde ara::core::Result overgebracht. Vraag Q-e2f8966bf78b1569 (open) Een architectuur- of configuratiefout leidt tot een ProcessMappingViolation als de meegegeven InstanceSpecifier niet verwijst naar een voor het huidige proces gemodelleerde PortPrototype die door een CryptoKeySlotInterface is getypeerd [SWS_CRYPT_50005].
Gelijktijdigheid en wisselwerking
De functie is gedeclareerd als thread-safe (thread-safe) en uitzonderingsveilig (exception safe) met noexcept-garantie [SWS_CRYPT_50005]. Zij adresseert de overkoepelende cryptografie-eis [RS_CRYPTO_02004] en vormt het centrale toegangspunt om beschrijfbare sleutelslots in het proces beschikbaar te stellen [SWS_CRYPT_50005].
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR R25-11.
ProcessMappingVio- In case InstanceSpecifier does not point to a PortPrototype typed lation by a CryptoKeySlotInterface modeled for the current process.
Parameter (in)
Parameter
Beschreibung
iSpecify
instance specifier to the RPortPrototype of a CryptoKeySlot Interface that identifies the key to be loaded
This factory method shall create or return the existing instance of the singleton X.509 Provider.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 70f8a61e4c9eHerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Gebruik
De functie LoadX509Provider in de namespace ara::crypto dient als factory-methode om de singleton-instantie van de X.509-provider aan te maken of de reeds bestaande instantie op te halen [SWS_CRYPT_40099]. Voor de aanroep moet het headerbestand ara/crypto/common/entry_point.h worden geïncludeerd [SWS_CRYPT_40099]. De aanroep vindt synchroon plaats en accepteert geen overdrachtsparameters. Als retourwaarde levert de functie een ara::core::Result<ara::crypto::x509::X509Provider::Sptr>, die een shared pointer naar de geladen instantie van de X.509-provider beschikbaar stelt [SWS_CRYPT_40099].
Foutafhandeling
In de specificatie zijn voor LoadX509Provider geen gestandaardiseerde foutcodes gedefinieerd [SWS_CRYPT_40099]. De functie is gedeclareerd met noexcept en gespecificeerd als uitzonderingsveilig (exception safe) [SWS_CRYPT_40099]. Interpretatie: Aangezien het resultaat via het type ara::core::Result is ingekapseld, worden systeemspecifieke fouttoestanden bij de initialisatie van de provider vermoedelijk via dit Result-object aan de aanroeper doorgegeven. Vraag Q-c187f4f152ccc89f (open)
Gelijktijdigheid en wisselwerking
Volgens de specificatie is LoadX509Provider geclassificeerd als thread-safe (thread-safe) [SWS_CRYPT_40099]. Hierdoor kan de aanroep zonder aanvullende synchronisatiemaatregelen parallel vanuit meerdere threads plaatsvinden om een referentie naar dezelfde singleton-instantie te verkrijgen. Functioneel implementeert de functie de bovenliggende eisen RS_CRYPTO_02306 en RS_CRYPTO_02301[SWS_CRYPT_40099].
Deze tekst is gegenereerd door een AI-systeem op basis van de specificatie.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel