DEENESPTFRRUARHIKOZHNL

klasse ara::crypto::cryp::CryptoObject

[SWS_CRYPT_20500] Upstream: RS_CRYPTO_02005

class CryptoObject :           public ara::crypto::Serializable {...};

A common interface for all cryptographic objects recognizable by the Crypto Provider.

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto::cryp
Basisklasse(n)ara::crypto::Serializable

User GuideAI-GEGENEREERD

Dient als gemeenschappelijke interface voor de thread-veilige inspectie en persistente opslag van cryptografische objecten.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 156a618ba987 Herkomst Open 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].

Inspectie en persisteren van een CryptoObjectAnwendungCryptoObjectWriteableKeySlotGetAlgId()AlgIdStringGetAllowedUsage()AllowedUsageFlags (kAllowPersist)Save(keyslot)Sleutelmateriaal en metadata schrijvenSpeicherquittungResult<void>

Sequentiediagram: Typisch verloop voor de inspectie en persistentmaking van een cryptografisch object in een KeySlot. Bronnen: [SWS_CRYPT_20505], [SWS_CRYPT_50092], [SWS_CRYPT_20517].

Foutscenario's

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.

Ledenkaart

Type-aliassen

1

Klassendiagram

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

G nara__crypto__cryp__CryptoObject679 CryptoObject + GetAlgId() + GetAllowedUsage() + Save() nara__crypto__Serializable855 Serializable nara__crypto__cryp__CryptoObject679->nara__crypto__Serializable855 nara__crypto__cryp__PrivateKey762 PrivateKey nara__crypto__cryp__PrivateKey762->nara__crypto__cryp__CryptoObject679 nara__crypto__cryp__PublicKey940 PublicKey nara__crypto__cryp__PublicKey940->nara__crypto__cryp__CryptoObject679 nara__crypto__cryp__SymmetricKey111 SymmetricKey nara__crypto__cryp__SymmetricKey111->nara__crypto__cryp__CryptoObject679

Detailweergave

Kies een item in de inhoudsopgave.

Methoden

GetAlgId functie

The interface shall return the AlgId of this CryptoObject.

virtual ara::core::Result< ara::crypto::AlgIdString > GetAlgId () const noexcept=0;

The interface shall return the allowed usage of the key.

virtual ara::core::Result< AllowedUsageFlags > GetAllowedUsage () const noexcept=0;
Save functie

The interface shall persistently store the key-material and its meta-data in the provided WriteableKeySlot. Data previously stored in keyslot shall be overwritten.

virtual ara::core::Result< void > Save (WriteableKeySlot::Sptr keyslot) const noexcept=0;

Type-aliassen

Sptr typealias

Smart pointer of the interface.

Documentatie van de methoden

functie GetAlgId [SWS_CRYPT_20505] Upstream: RS_CRYPTO_02005

virtual ara::core::Result< ara::crypto::AlgIdString > GetAlgId () const noexcept=0;

The interface shall return the AlgId of this CryptoObject.

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Scopeclass ara::crypto::cryp::CryptoObject
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<ara::crypto::AlgIdString >A result containing the AlgId of this CryptoObject

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_20505
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20505@rel:R25-11#780cddea
Content hash
780cddea
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20505
Status: valid/unmigrated Version: rel:R25-11#974298db 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_20505@rel:R25-11#974298db
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#fa5364ac2026-09-30
  • R20-11rel:R20-11#3073d8c92026-10-14
  • R21-11rel:R21-11#3073d8c92026-10-14
  • R22-11rel:R22-11#131cf8662026-10-14
  • R23-11rel:R23-11#b34bd5a42026-10-14
  • R24-11rel:R24-11#36c55a302026-10-14
  • R25-11rel:R25-11#974298db2026-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

functie GetAllowedUsage [SWS_CRYPT_50092] Upstream: RS_CRYPTO_02005

virtual ara::core::Result< AllowedUsageFlags > GetAllowedUsage () const noexcept=0;

The interface shall return the allowed usage of the key.

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Scopeclass ara::crypto::cryp::CryptoObject
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<AllowedUsageFlags >A result containing the allowed usage of the 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_50092
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50092@rel:R25-11#4f53db6e
Content hash
4f53db6e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50092
Status: valid/unmigrated Version: rel:R25-11#eb9b3394 Versionshistorie & Revisions (1 transition)
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_50092@rel:R25-11#eb9b3394
Point-in-Time History:
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

functie Save [SWS_CRYPT_20517] Upstream: RS_CRYPTO_02004

virtual ara::core::Result< void > Save (WriteableKeySlot::Sptr keyslot) const noexcept=0;

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 GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 0aae854cf6a9 Herkomst
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.

Implementer's Guide volgt (complexiteit I1)

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Scopeclass ara::crypto::cryp::CryptoObject
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keyslotKeySlot representing the underlying storage

Rückgabewert

TypBeschreibung
ara::core::Result< void >An empty result or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_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
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowPersist
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics if the operation temporarily cannot be performed

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20517
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20517@rel:R25-11#7d719eb4
Content hash
7d719eb4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20517
Status: valid/unmigrated Version: rel:R25-11#27ad83e4 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_20517@rel:R25-11#27ad83e4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#401495a62026-09-30
  • R19-11rel:R19-11#12df20182026-10-14
  • R20-11rel:R20-11#74dce1282026-10-14
  • R21-11rel:R21-11#9fdecde72026-10-14
  • R22-11rel:R22-11#4e577c772026-10-14
  • R23-11rel:R23-11#302bac292026-10-14
  • R24-11rel:R24-11#7745263b2026-10-14
  • R25-11rel:R25-11#27ad83e42026-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

Documentatie van de typealiassen

typealias Sptr [SWS_CRYPT_20501] Upstream: RS_CRYPTO_02005

using Sptr = std::shared_ptr<CryptoObject>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/cryobj/crypto_object.h"
Scopeclass ara::crypto::cryp::CryptoObject
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_20501
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_20501@rel:R25-11#474051d9
Content hash
474051d9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_20501
Status: valid/unmigrated Version: rel:R25-11#4816c7c1 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_20501@rel:R25-11#4816c7c1
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2f0be81f2026-09-30
  • R19-11rel:R19-11#b83af8272026-10-14
  • R20-11rel:R20-11#eb73b7d72026-10-14
  • R21-11rel:R21-11#eb73b7d72026-10-14
  • R22-11rel:R22-11#cc06a6ac2026-10-14
  • R23-11rel:R23-11#0db32e6b2026-10-14
  • R24-11rel:R24-11#0db32e6b2026-10-14
  • R25-11rel:R25-11#4816c7c12026-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