DEENESPTFRRUARHIKOZHNL

classe 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

Guide utilisateurGÉNÉRÉ PAR IA

Sert d'interface accessible en écriture pour la gestion et la suppression sécurisée de clés dans un CryptoProvider.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 5dc02afa7972 Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert d'interface accessible en écriture pour la gestion et la suppression sécurisée de clés dans un CryptoProvider.

L'interface ara::crypto::cryp::WriteableKeySlot sert dans AUTOSAR Adaptive d'abstraction accessible en écriture pour les emplacements de stockage de clés dans un CryptoProvider. Les instances ne peuvent être ni copiées ni déplacées ([SWS_CRYPT_50170], [SWS_CRYPT_50168]), mais sont référencées via le type de pointeur intelligent Sptr [SWS_CRYPT_50172]. Le contenu de l'emplacement de clé est purgé via la méthode sûre pour les threads Clear(), une sémantique de rollback s'appliquant en cas d'erreur telle que kBusyResource ou kUnsupported [SWS_CRYPT_30405].

Contexte

L'interface ara::crypto::cryp::WriteableKeySlot définit, au sein de l'AUTOSAR Adaptive Platform, un emplacement de stockage inscriptible pour les clés cryptographiques dans le contexte d'un fournisseur crypto (Crypto Provider). Elle dérive directement de l'interface de base KeySlot et constitue une abstraction standardisée permettant d'effacer de manière ciblée des emplacements de clé gérés et de contrôler leur cycle de vie. Les applications de la pile crypto font office de partenaires d'interaction essentiels en tant que consommateurs, tout comme le fournisseur crypto concret, qui gère la liaison vers le stockage de clés physique ou logique. La création d'instances concrètes devrait s'effectuer au moyen de méthodes de fabrique ou de fournisseur de niveau supérieur, dans la mesure où l'interface fait office de classe de base purement abstraite. Question Q-5c3b13bb35c3ff53 (ouverte)

Cycle de vie

Le modèle de ressources et de propriété de ara::crypto::cryp::WriteableKeySlot empêche strictement la duplication de références de clé via la sémantique de valeur. À cette fin, le constructeur de copie [SWS_CRYPT_50170] ainsi que le constructeur de déplacement [SWS_CRYPT_50171] sont tous deux explicitement supprimés (=delete). De la même manière, les déclarations supprimées de l'opérateur d'assignation par copie [SWS_CRYPT_50168] et de l'opérateur d'assignation par déplacement [SWS_CRYPT_50169] interdisent toute assignation ultérieure.

La transmission référentielle et la gestion partagée s'effectuent à la place via l'alias de type de pointeur intelligent défini Sptr, qui est concrétisé sous forme de std::shared_ptr<WriteableKeySlot> [SWS_CRYPT_50172]. La destruction de l'instance est sécurisée par un destructeur par défaut virtuel, qui est spécifié comme sûr vis-à-vis des exceptions (exception safe) et n'émet aucune exception (noexcept=default) [SWS_CRYPT_50167]. Cela permet la libération polymorphe sûre via des pointeurs vers l'interface. Sur le plan de l'état, un emplacement peut être occupé ou vide. L'occupation de l'emplacement devrait avoir lieu via des interfaces distinctes du fournisseur crypto, tandis que le vidage est réalisé via la méthode thread-safe Clear() [SWS_CRYPT_30405]. Question Q-72dfcb17eb3e2d25 (ouverte)

keyslot_zustand Leer Leer Leer->Leer Clear() [déjà vide] Leer->Leer Clear() [kBusyResource / kUnsupported] Belegt Belegt Belegt->Leer Clear() [Erfolg] Belegt->Belegt Clear() [kBusyResource / kUnsupported]

Diagramme d'états : Transitions d'état du contenu de clé par Clear() et traitement des erreurs. Sources : [SWS_CRYPT_30405]

Parcours d'utilisation

Le chemin d'utilisation central se concentre sur la réinitialisation ou l'effacement contrôlé du matériel de clé stocké :

  • Référencement : L'appelant accède à l'instance via un pointeur partagé du type WriteableKeySlot::Sptr [SWS_CRYPT_50172].
  • Appel d'effacement : L'appel de la méthode virtuelle pure Clear() déclenche le processus d'effacement pour le contenu actuel de l'emplacement de clé [SWS_CRYPT_30405]. La méthode étant thread-safe, l'appel peut également avoir lieu dans des contextes concurrents [SWS_CRYPT_30405].
  • Vérification du résultat : L'opération renvoie un ara::core::Result<void> [SWS_CRYPT_30405]. Si l'emplacement de clé était déjà vide auparavant ou si le contenu a été supprimé sans erreur, le résultat représente un état de succès avec une valeur vide [SWS_CRYPT_30405].

Scénarios d'erreur

La méthode Clear() est déclarée sûre vis-à-vis des exceptions et noexcept ; les situations d'erreur sont transportées via ara::core::Result conformément au modèle d'erreur d'AUTOSAR Adaptive [SWS_CRYPT_30405]. Les codes d'erreur possibles comprennent :

  • ara::crypto::CryptoErrc::kUnsupported : Se produit lorsque la réalisation concrète de l'emplacement de clé ne prend pas en charge l'effacement [SWS_CRYPT_30405]. Pour ce cas, l'interface garantit une sémantique de retour arrière (rollback), de sorte que l'état reste inchangé [SWS_CRYPT_30405].
  • ara::crypto::CryptoErrc::kBusyResource : Est renvoyé si l'opération d'effacement ne peut temporairement pas être exécutée [SWS_CRYPT_30405]. Cela devrait typiquement être causé par des accès concurrents à des ressources de stockage liées au matériel. Question (ouverte) Ici aussi, une sémantique de retour arrière garantit qu'aucune modification partielle ne subsiste [SWS_CRYPT_30405].

Ce guide est basé sur la spécification AUTOSAR Adaptive R25-11 pour le module crypto et a été généré automatiquement.

Carte des membres

Constructeurs et destructeur

2

Méthodes

1

Opérateurs

1

Alias de type

1

Diagramme de classes

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

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

WriteableKeySlot fonction 2

Copy-Constructor.

Surcharges WriteableKeySlot 2
WriteableKeySlot (const WriteableKeySlot &)=delete; SWS_CRYPT_50170
WriteableKeySlot (WriteableKeySlot &&)=delete; SWS_CRYPT_50171

Destructor.

virtual ~WriteableKeySlot () noexcept=default;

Méthodes

Clear fonction

The interface shall delete the current content of the KeySlot.

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

Opérateurs

operator= fonction 2

Copy-assign another WriteableKeySlot to this instance.

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

Alias de type

Sptr alias de type

Smart pointer of the interface.

Documentation des méthodes

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9f91b0070fcf Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation et sémantique

La méthode Clear() de l'interface ara::crypto::cryp::WriteableKeySlot sert à supprimer le contenu actuel de la mémoire de clés référencée [SWS_CRYPT_30405]. La fonction est déclarée via le fichier d'en-tête ara/crypto/cryp/writeable_keyslot.h et appelée sans paramètre en tant qu'opération constante [SWS_CRYPT_30405]. Elle renvoie de manière synchrone un ara::core::Result<void> vide lorsque le KeySlot a pu être vidé avec succès ou était déjà vide avant l'appel [SWS_CRYPT_30405].

Gestion des erreurs et concurrence

L'interface est définie comme noexcept et garantit à la fois la sécurité vis-à-vis des exceptions et la sécurité vis-à-vis des threads lors d'appels concurrents [SWS_CRYPT_30405]. En cas d'erreur, une sémantique de retour arrière s'applique, laissant l'état du KeySlot inchangé [SWS_CRYPT_30405]. Les codes d'erreur suivants peuvent survenir dans le résultat [SWS_CRYPT_30405] :

  • ara::crypto::CryptoErrc::kUnsupported : Survient avec une sémantique de retour arrière si le KeySlot concret ne prend pas en charge la suppression [SWS_CRYPT_30405].
  • ara::crypto::CryptoErrc::kBusyResource : Est signalé dans la mesure où l'opération ne peut pas être exécutée actuellement en raison de ressources temporairement occupées [SWS_CRYPT_30405].

Interaction

La fonction agit directement sur l'instance de ara::crypto::cryp::WriteableKeySlot pour nettoyer des clés cryptographiques [SWS_CRYPT_30405]. Il convient de distinguer de cela la gestion des certificats dans ara::crypto::x509::X509Provider, dans laquelle le nettoyage des slots de certificats s'effectue via la méthode ClearCertificateSlot() en spécifiant un InstanceSpecifier [SWS_CRYPT_40622].

Cette note d'utilisation a été générée automatiquement et repose sur la spécification AUTOSAR pour la version 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#c2eabce7
Content hash
c2eabce7
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

fonction 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#b2e4bb42
Content hash
b2e4bb42
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

fonction 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#306da622
Content hash
306da622
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

fonction 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#bfe564f6
Content hash
bfe564f6
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

fonction 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#3d1965a4
Content hash
3d1965a4
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

fonction ~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#9aa5a6a4
Content hash
9aa5a6a4
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

Documentation des alias de type

alias de type 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#92217bc1
Content hash
92217bc1
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