DEENESPTFRRUARHIKOZHNL

class ara::crypto::cryp::WriteableKeySlot

[SWS_CRYPT_50166] Upstream: RS_CRYPTO_02405

class WriteableKeySlot :             public KeySlot {...};

WriteableKeySlot interface representing a writeable storage location for a key in a Crypto Provider.

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

User GuideKI-GENERIERT

Dient als schreibbare Schnittstelle zur Verwaltung und sicheren Löschung von Schlüsseln in einem Crypto-Provider.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 5dc02afa7972 Herkunft Offene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient als schreibbare Schnittstelle zur Verwaltung und sicheren Löschung von Schlüsseln in einem Crypto-Provider.

Die Schnittstelle ara::crypto::cryp::WriteableKeySlot dient in AUTOSAR Adaptive als schreibbare Abstraktion für Schlüsselspeicherorte in einem Crypto-Provider. Instanzen können weder kopiert noch verschoben werden ([SWS_CRYPT_50170], [SWS_CRYPT_50168]), sondern werden über den Smart-Pointer-Typ Sptr referenziert [SWS_CRYPT_50172]. Über die threadsichere Methode Clear() wird der Inhalt des Schlüsselplatzes bereinigt, wobei im Fehlerfall wie kBusyResource oder kUnsupported eine Rollback-Semantik greift [SWS_CRYPT_30405].

Kontext

Die Schnittstelle ara::crypto::cryp::WriteableKeySlot definiert innerhalb der AUTOSAR Adaptive Platform einen schreibbaren Speicherplatz für kryptografische Schlüssel im Kontext eines Crypto-Providers. Sie leitet sich direkt von der Basisschnittstelle KeySlot ab und stellt eine standardisierte Abstraktion dar, um verwaltete Schlüsselplätze gezielt zu bereinigen und deren Lebenszyklus zu steuern. Als wesentliche Interaktionspartner fungieren Anwendungen des Krypto-Stacks als Konsumenten sowie der konkrete Crypto-Provider, welcher die Bindung an den physischen oder logischen Schlüsselspeicher verwaltet. Die Erzeugung konkreter Instanzen dürfte dabei vermittels übergeordneter Fabrik- oder Provider-Methoden erfolgen, da die Schnittstelle als reine abstrakte Basisklasse fungiert. Frage Q-5c3b13bb35c3ff53 (offen)

Lebenszyklus

Das Ressourcen- und Besitzmodell von ara::crypto::cryp::WriteableKeySlot verhindert strikt das Duplizieren von Schlüsselreferenzen über Wertsemantik. Zu diesem Zweck sind sowohl der Copy-Konstruktor [SWS_CRYPT_50170] als auch der Move-Konstruktor [SWS_CRYPT_50171] explizit gelöscht (=delete). Gleichermaßen unterbinden die gelöschten Deklarationen des Copy-Zuweisungsoperators [SWS_CRYPT_50168] und des Move-Zuweisungsoperators [SWS_CRYPT_50169] jegliche nachträgliche Zuweisung.

Die referenzielle Weitergabe und geteilte Verwaltung erfolgt stattdessen über den definierten Smart-Pointer-Typalias Sptr, welcher als std::shared_ptr<WriteableKeySlot> ausgeprägt ist [SWS_CRYPT_50172]. Die Zerstörung der Instanz wird durch einen virtuellen Standard-Destruktor abgesichert, der als ausnahmesicher (exception safe) spezifiziert ist und keine Ausnahmen emittiert (noexcept=default) [SWS_CRYPT_50167]. Dies erlaubt die sichere polymorphe Freigabe über Zeiger auf die Schnittstelle. Zustandsbezogen kann ein Slot belegt oder leer sein. Das Belegen des Slots dürfte über separate Schnittstellen des Crypto-Providers stattfinden, während das Leeren über die threadsichere Methode Clear() realisiert wird [SWS_CRYPT_30405]. Frage Q-72dfcb17eb3e2d25 (offen)

keyslot_zustand Leer Leer Leer->Leer Clear() [bereits leer] Leer->Leer Clear() [kBusyResource / kUnsupported] Belegt Belegt Belegt->Leer Clear() [Erfolg] Belegt->Belegt Clear() [kBusyResource / kUnsupported]

Zustandsdiagramm: Zustandsübergänge des Schlüsselinhalts durch Clear() und Fehlerbehandlung. Quellen: [SWS_CRYPT_30405]

Nutzungspfad

Der zentrale Nutzungspfad konzentriert sich auf das kontrollierte Zurücksetzen bzw. Löschen des gespeicherten Schlüsselmaterials:

  • Referenzierung: Der Aufrufer greift über einen gemeinsam genutzten Zeiger des Typs WriteableKeySlot::Sptr auf die Instanz zu [SWS_CRYPT_50172].
  • Löschaufruf: Durch den Aufruf der rein virtuellen Methode Clear() wird der Löschvorgang für den aktuellen Inhalt des Schlüsselplatzes angestoßen [SWS_CRYPT_30405]. Da die Methode threadsicher ist, kann der Aufruf auch in nebenläufigen Kontexten erfolgen [SWS_CRYPT_30405].
  • Ergebnisüberprüfung: Die Operation liefert ein ara::core::Result<void> zurück [SWS_CRYPT_30405]. War der Schlüsselplatz bereits zuvor leer oder wurde der Inhalt fehlerfrei entfernt, repräsentiert das Ergebnis einen erfolgreichen Zustand mit leerem Wert [SWS_CRYPT_30405].

Fehlerszenarien

Die Methode Clear() ist als ausnahmesicher und noexcept deklariert; Fehlersituationen werden nach dem Fehlermodell von AUTOSAR Adaptive über ara::core::Result transportiert [SWS_CRYPT_30405]. Mögliche Fehlercodes umfassen:

  • ara::crypto::CryptoErrc::kUnsupported: Tritt auf, wenn die konkrete Ausprägung des Schlüsselplatzes kein Löschen unterstützt [SWS_CRYPT_30405]. Für diesen Fall garantiert die Schnittstelle eine Rollback-Semantik, sodass der Zustand unverändert bleibt [SWS_CRYPT_30405].
  • ara::crypto::CryptoErrc::kBusyResource: Wird zurückgegeben, falls die Löschoperation temporär nicht durchgeführt werden kann [SWS_CRYPT_30405]. Dies dürfte typischerweise durch konkurrierende Zugriffe auf hardwaregebundene Speicherressourcen hervorgerufen werden. Frage (offen) Auch hier stellt eine Rollback-Semantik sicher, dass keine partiellen Änderungen verbleiben [SWS_CRYPT_30405].

Dieser Leitfaden basiert auf der AUTOSAR-Adaptive-Spezifikation R25-11 für das Modul crypto und wurde automatisiert erstellt.

Mitgliederkarte

Konstruktoren und Destruktor

2

Methoden

1

Operatoren

1

Typaliase

1

Klassendiagramm

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

G nara__crypto__cryp__WriteableKeySlot529 WriteableKeySlot + WriteableKeySlot() + operator=() + ~WriteableKeySlot() + Clear() nara__crypto__cryp__KeySlot637 KeySlot nara__crypto__cryp__WriteableKeySlot529->nara__crypto__cryp__KeySlot637

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

WriteableKeySlot function 2

Copy-Constructor.

Überladungen WriteableKeySlot 2
WriteableKeySlot (const WriteableKeySlot &)=delete; SWS_CRYPT_50170
WriteableKeySlot (WriteableKeySlot &&)=delete; SWS_CRYPT_50171

Destructor.

virtual ~WriteableKeySlot () noexcept=default;

Methoden

Clear function

The interface shall delete the current content of the KeySlot.

virtual ara::core::Result< void > Clear () const noexcept=0;

Operatoren

operator= function 2

Copy-assign another WriteableKeySlot to this instance.

Überladungen = 2
WriteableKeySlot & operator= (const WriteableKeySlot &other)=delete; SWS_CRYPT_50168
WriteableKeySlot & operator= (WriteableKeySlot &&other)=delete; SWS_CRYPT_50169

Typaliase

Sptr type alias

Smart pointer of the interface.

Dokumentation der Methoden

function Clear [SWS_CRYPT_30405] Upstream: RS_CRYPTO_02009

virtual ara::core::Result< void > Clear () const noexcept=0;

The interface shall delete the current content of the KeySlot.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 9f91b0070fcf Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung und Semantik

Die Methode Clear() der Schnittstelle ara::crypto::cryp::WriteableKeySlot dient dazu, den aktuellen Inhalt des referenzierten Schlüsselspeichers zu löschen [SWS_CRYPT_30405]. Die Funktion wird über die Header-Datei ara/crypto/cryp/writeable_keyslot.h deklariert und parameterlos als konstante Operation aufgerufen [SWS_CRYPT_30405]. Sie liefert synchron ein leeres ara::core::Result<void> zurück, wenn der KeySlot erfolgreich geleert werden konnte oder bereits vor dem Aufruf leer war [SWS_CRYPT_30405].

Fehlerbehandlung und Nebenläufigkeit

Die Schnittstelle ist als noexcept definiert und garantiert sowohl Exception-Sicherheit als auch Thread-Sicherheit beim nebenläufigen Aufruf [SWS_CRYPT_30405]. Im Fehlerfall greift eine Rollback-Semantik, die den Zustand des KeySlots unverändert belässt [SWS_CRYPT_30405]. Folgende Fehlercodes können im Ergebnis auftreten [SWS_CRYPT_30405]:

  • ara::crypto::CryptoErrc::kUnsupported: Tritt mit Rollback-Semantik auf, wenn der konkrete KeySlot das Löschen nicht unterstützt [SWS_CRYPT_30405].
  • ara::crypto::CryptoErrc::kBusyResource: Wird gemeldet, sofern die Operation infolge temporär belegter Ressourcen gegenwärtig nicht ausgeführt werden kann [SWS_CRYPT_30405].

Zusammenspiel

Die Funktion wirkt direkt auf der Instanz von ara::crypto::cryp::WriteableKeySlot zur Bereinigung kryptografischer Schlüssel [SWS_CRYPT_30405]. Davon abzugrenzen ist die Zertifikatsverwaltung in ara::crypto::x509::X509Provider, in der das Bereinigen von Zertifikatsslots über die Methode ClearCertificateSlot() unter Angabe eines InstanceSpecifier erfolgt [SWS_CRYPT_40622].

Dieser Nutzungshinweis wurde automatisiert generiert und basiert auf der AUTOSAR-Spezifikation für Release R25-11.

Header-Datei#include "ara/crypto/cryp/writeable_keyslot.h"
Scopeclass ara::crypto::cryp::WriteableKeySlot
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >an empty result if the keyslot was already empty or successfully cleared

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the KeySlot does not support clearing
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_30405
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_30405@rel:R25-11#3b03ed2b
Content hash
3b03ed2b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_30405
Status: valid/unmigrated Version: rel:R25-11#f254660d 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_30405@rel:R25-11#f254660d
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#3b03ed2b2026-09-30
  • R20-11rel:R20-11#9d3696442026-10-14
  • R21-11rel:R21-11#bda76d622026-10-14
  • R22-11rel:R22-11#006988182026-10-14
  • R23-11rel:R23-11#e7cea4b12026-10-14
  • R24-11rel:R24-11#490dfcff2026-10-14
  • R25-11rel:R25-11#f254660d2026-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

function WriteableKeySlot [SWS_CRYPT_50170] Upstream: RS_CRYPTO_02004

WriteableKeySlot (const WriteableKeySlot &)=delete;

Copy-Constructor.

Header-Datei#include "ara/crypto/cryp/writeable_keyslot.h"
Scopeclass ara::crypto::cryp::WriteableKeySlot

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50170
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50170@rel:R25-11#9a69e3b3
Content hash
9a69e3b3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50170
Status: valid/unmigrated Version: rel:R25-11#9a69e3b3 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_50170@rel:R25-11#9a69e3b3
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

function WriteableKeySlot [SWS_CRYPT_50171] Upstream: RS_CRYPTO_02004

WriteableKeySlot (WriteableKeySlot &&)=delete;

Move-Constructor.

Header-Datei#include "ara/crypto/cryp/writeable_keyslot.h"
Scopeclass ara::crypto::cryp::WriteableKeySlot

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50171
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50171@rel:R25-11#1a7fb0b7
Content hash
1a7fb0b7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50171
Status: valid/unmigrated Version: rel:R25-11#1a7fb0b7 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_50171@rel:R25-11#1a7fb0b7
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

function operator= [SWS_CRYPT_50168] Upstream: RS_CRYPTO_02004

WriteableKeySlot & operator= (const WriteableKeySlot &other)=delete;

Copy-assign another WriteableKeySlot to this instance.

Header-Datei#include "ara/crypto/cryp/writeable_keyslot.h"
Scopeclass ara::crypto::cryp::WriteableKeySlot

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50168
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50168@rel:R25-11#51e3ecf9
Content hash
51e3ecf9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50168
Status: valid/unmigrated Version: rel:R25-11#51e3ecf9 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_50168@rel:R25-11#51e3ecf9
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

function operator= [SWS_CRYPT_50169] Upstream: RS_CRYPTO_02004

WriteableKeySlot & operator= (WriteableKeySlot &&other)=delete;

Move-assign another WriteableKeySlot to this instance.

Header-Datei#include "ara/crypto/cryp/writeable_keyslot.h"
Scopeclass ara::crypto::cryp::WriteableKeySlot

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50169
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50169@rel:R25-11#05bfa0a2
Content hash
05bfa0a2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50169
Status: valid/unmigrated Version: rel:R25-11#05bfa0a2 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_50169@rel:R25-11#05bfa0a2
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

function ~WriteableKeySlot [SWS_CRYPT_50167] Upstream: RS_CRYPTO_02405

virtual ~WriteableKeySlot () noexcept=default;

Destructor.

Header-Datei#include "ara/crypto/cryp/writeable_keyslot.h"
Scopeclass ara::crypto::cryp::WriteableKeySlot
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50167
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50167@rel:R25-11#651255bc
Content hash
651255bc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50167
Status: valid/unmigrated Version: rel:R25-11#651255bc 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_50167@rel:R25-11#651255bc
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

Dokumentation der Typaliase

type alias Sptr [SWS_CRYPT_50172] Upstream: RS_CRYPTO_02405

using Sptr = std::shared_ptr<WriteableKeySlot>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/writeable_keyslot.h"
Scopeclass ara::crypto::cryp::WriteableKeySlot
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50172
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50172@rel:R25-11#afe92846
Content hash
afe92846
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50172
Status: valid/unmigrated Version: rel:R25-11#afe92846 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_50172@rel:R25-11#afe92846
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