Dient als gemeenschappelijke interface voor de thread-veilige inspectie en persistente opslag van cryptografische objecten.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 156a618ba987HerkomstOpen vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Dient als gemeenschappelijke interface voor de thread-veilige inspectie en persistente opslag van cryptografische objecten.
De interface ara::crypto::cryp::CryptoObject definieert de gemeenschappelijke abstractie voor alle cryptografische objecten in de Adaptive-crypto-stack en regelt hun levenscyclus via Sptr[SWS_CRYPT_20501]. Zij maakt het thread-veilig uitlezen van algoritme-identificatoren en gebruiksflags mogelijk en ondersteunt het permanent overschrijven van sleutelmateriaal in een WriteableKeySlot[SWS_CRYPT_20505], [SWS_CRYPT_20517]. Bij het opslagproces waarborgen gedefinieerde foutcodes met rollback-semantiek de data-integriteit van het onderliggende geheugenslot [SWS_CRYPT_20517].
Context
De interface ara::crypto::cryp::CryptoObject vormt de gemeenschappelijke abstractie voor alle cryptografische objecten die door een Crypto-Provider kunnen worden herkend en beheerd. De klasse breidt ara::crypto::Serializable uit en definieert basiseigenschappen zoals algoritme-identificatie, gebruiksbeperkingen evenals mechanismen voor persistente opslag. Typische interactiepartners zijn aanroepende applicaties, de beschikbaar stellende Crypto-Provider en doelgeheugens in de vorm van WriteableKeySlot-instanties.
Levenscyclus
Cryptografische objecten worden binnen het platform primair via gedeeld eigenaarschap beheerd. Hiertoe definieert de klasse de canonieke smart-pointer-alias ara::crypto::cryp::CryptoObject::Sptr als std::shared_ptr<CryptoObject>[SWS_CRYPT_20501]. Concrete instanties worden vermoedelijk door de gespecialiseerde fabrieks- en laadroutines van een Crypto-Provider geïnstantieerd en via dit pointertype aan de aanroeper ter beschikking gesteld. Vraag Q-36e2bd12d7dc8b98 (open) Alle gedeclareerde methoden van de interface zijn gespecificeerd als thread-safe en uitzonderingsveilig (exception safe, noexcept), waardoor een veilige gelijktijdige lees- en opslagtoegang over meerdere threads heen gewaarborgd wordt [SWS_CRYPT_20505], [SWS_CRYPT_50092], [SWS_CRYPT_20517]. Het vrijgeven van het object en het bijbehorende sleutelmateriaal vindt automatisch plaats zodra de laatste Sptr-referentie vervalt.
Gebruikspad
Een typisch gebruikspad omvat de identificatie van de cryptografische eigenschappen van een object en de aansluitende persistente opslag ervan. Eerst vraagt de applicatie via GetAlgId() de algoritme-aanduiding van het object als ara::crypto::AlgIdString op [SWS_CRYPT_20505]. Aansluitend worden via GetAllowedUsage() de toegestane gebruiksflags (AllowedUsageFlags) bepaald [SWS_CRYPT_50092] om zeker te stellen dat het object geautoriseerd is voor de beoogde operatie. Voor permanente bewaring draagt de applicatie een beschrijfbaar sleutelslot over aan de methode Save()[SWS_CRYPT_20517]. Het sleutelmateriaal en de bijbehorende metadata worden vervolgens in het doelslot opgeslagen, waarbij voorheen aanwezige gegevens in het slot worden overschreven [SWS_CRYPT_20517].
Terwijl GetAlgId()[SWS_CRYPT_20505] en GetAllowedUsage()[SWS_CRYPT_50092] geen gestandaardiseerde foutcodes aangeven en bij succes het desbetreffende resultaat in een ara::core::Result retourneren, definieert de persistente opslagoperatie Save() specifieke foutcondities met bindende rollback-semantiek [SWS_CRYPT_20517]:
ara::crypto::CryptoErrc::kIncompatibleObject: Treedt op wanneer het object incompatibel is met de overgedragen WriteableKeySlot, bijvoorbeeld doordat de algoritme-identificatoren (AlgId) van elkaar afwijken of het KeySlot bij een afwijkende Crypto-Provider hoort [SWS_CRYPT_20517].
ara::crypto::CryptoErrc::kUsageViolation: Signaleert een niet-toegestaan gebruik indien de via GetAllowedUsage() gedeclareerde gebruiksflags van de sleutel niet het recht op persistente opslag (kAllowPersist) bevatten [SWS_CRYPT_50092], [SWS_CRYPT_20517].
ara::crypto::CryptoErrc::kBusyResource: Wordt geretourneerd wanneer de onderliggende geheugenbron tijdelijk bezet is en de operatie niet onmiddellijk kan worden uitgevoerd [SWS_CRYPT_20517].
Dankzij de rollback-semantiek blijft de toestand van het WriteableKeySlot bij elk van deze fouten intact, zodat er geen partieel geschreven of corrupte sleutelgegevens in het geheugen achterblijven [SWS_CRYPT_20517].
Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive R25-11 en vat de eisen aan de interface ara::crypto::cryp::CryptoObject samen.
The interface shall persistently store the key-material and its meta-data in the provided WriteableKeySlot. Data previously stored in keyslot shall be overwritten.
The interface shall persistently store the key-material and its meta-data in the provided WriteableKeySlot. Data previously stored in keyslot shall be overwritten.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 0aae854cf6a9Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
De methode Save van de interface ara::crypto::cryp::CryptoObject dient voor het persistent opslaan van sleutelmateriaal inclusief bijbehorende metagegevens in een bereitgesteld WriteableKeySlot ([SWS_CRYPT_20517]). Reeds eerder in het doel-KeySlot opgeslagen gegevens worden bij de uitvoering overschreven ([SWS_CRYPT_20517]).
Als parameter wordt keyslot van het type WriteableKeySlot::Sptr meegegeven, die de onderliggende opslagruimte vertegenwoordigt ([SWS_CRYPT_20517]). De functie is gespecificeerd als noexcept en exception safe en levert als retourwaarde een ara::core::Result<void> op, die in het geval van succes leeg is ([SWS_CRYPT_20517]).
In geval van een fout treedt een rollback-semantiek in werking ([SWS_CRYPT_20517]). Specifiek worden de volgende foutcodes geretourneerd:
ara::crypto::CryptoErrc::kIncompatibleObject: De sleutel is incompatibel met het KeySlot, bijvoorbeeld door een afwijkende AlgId of de toewijzing aan een andere CryptoProvider ([SWS_CRYPT_20517]).
ara::crypto::CryptoErrc::kUsageViolation: Het toegestane gebruik van de sleutel omvat niet het recht kAllowPersist ([SWS_CRYPT_20517]).
ara::crypto::CryptoErrc::kBusyResource: De bewerking kan tijdelijk niet worden uitgevoerd ([SWS_CRYPT_20517]).
Wat betreft concurrency is de methode gedeclareerd als thread-safe ([SWS_CRYPT_20517]).
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR R25-11.
rollback_semantics if the key is incompatible to the KeySlot, e.g., because the AlgId of the KeySlot is incompatible to the AlgId of the key or because the KeySlot belongs to a different CryptoProvider
gemini-3.8-flash-low· 2026-10-13 · Duits origineel