DEENESPTFRRUARHIKOZHNL

class ara::crypto::cryp::SymmetricKeyWrapperCtx

[SWS_CRYPT_24000] Upstream: RS_CRYPTO_02104, RS_CRYPTO_02208

class SymmetricKeyWrapperCtx :               public CryptoContext {...};

Context of a symmetric key wrap algorithm.

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

User GuideKI-GENERIERT

Ermöglicht das sichere Verpacken und Entpacken von Schlüsseln mittels symmetrischer Schlüsselverschlüsselung.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 16126e8d9692 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht das sichere Verpacken und Entpacken von Schlüsseln mittels symmetrischer Schlüsselverschlüsselung.

Der Kontext SymmetricKeyWrapperCtx dient dem kryptografischen Verpacken und Entpacken von Schlüsseln mittels symmetrischer Algorithmen. Vor der Ausführung von Wrap oder UnwrapSymmetricKey muss der Kontext über SetKey mit einem kompatiblen Schlüsselverschlüsselungsschlüssel (KEK) konfiguriert werden [SWS_CRYPT_24018]. Alle Operationen setzen die entsprechenden Nutzungsberechtigungen der beteiligten Schlüsselobjekte voraus und melden Fehler über ara::core::Result mit Rollback-Semantik [SWS_CRYPT_24014]. Die Schnittstelle ist ausnahmesicher und für den nebenläufigen Betrieb als threadsicher spezifiziert.

Kontext

Die Klasse SymmetricKeyWrapperCtx definiert die standardisierte Schnittstelle für symmetrische Schlüsselwicklungs-Algorithmen (Key Wrapping) innerhalb der AUTOSAR Adaptive Platform. Ihre zentrale Verantwortung besteht im kryptografischen Schutz von Schlüsseln beim Export sowie bei der Wiederherstellung verpackter Schlüssel für den internen Gebrauch. Hierbei interagiert die Klasse primär mit Schlüsselverschlüsselungsschlüsseln (Key Encryption Keys, KEK), die entweder als flüchtiges Schlüsselobjekt vom Typ SymmetricKey oder persistent über einen KeySlot bereitgestellt werden [SWS_CRYPT_24018], [SWS_CRYPT_50034]. Beim Verpacken nimmt der Kontext ein generisches CryptoObject entgegen [SWS_CRYPT_24014], während die Entpackungsoperation ein neues, einsatzbereites SymmetricKey-Objekt erzeugt und zurückliefert [SWS_CRYPT_24016].

Lebenszyklus

Instanzen von SymmetricKeyWrapperCtx werden über den typisierten Smart-Pointer Sptr (ein Alias für std::shared_ptr<SymmetricKeyWrapperCtx>) verwaltet [SWS_CRYPT_24001]. Die tatsächliche Objekterzeugung dürfte über eine zuständige Provider-Factory erfolgen, da die Klasse eine abstrakte Schnittstelle mit rein virtuellen Methoden darstellt. Frage Q-7b9a1007da43ddcd (offen) Sämtliche Elementfunktionen der Schnittstelle sind als ausnahmesicher (exception safe) sowie threadsicher (thread-safe) spezifiziert, was die sichere Verwendung in nebenläufigen Softwarekomponenten ermöglicht [SWS_CRYPT_24014], [SWS_CRYPT_24016].

Im Lebenszyklus durchläuft der Kontext zwei wesentliche Phasen: Unmittelbar nach der Instanziierung befindet er sich in einem nicht initialisierten Zustand. In dieser Phase schlagen kryptografische Operationen sowie Pufferberechnungen mit dem Fehler kUninitializedContext fehl [SWS_CRYPT_50035], [SWS_CRYPT_24014]. Erst durch den erfolgreichen Aufruf von SetKey mit einem kompatiblen KEK oder KeySlot wechselt der Kontext in den betriebsbereiten Zustand, in dem Schlüssel sicher verpackt oder entpackt werden können [SWS_CRYPT_24018], [SWS_CRYPT_50034].

Nutzungspfad

Der reguläre Ablauf zur Verpackung eines Schlüssels erfordert eine koordinierte Abfolge aus Konfiguration, Pufferprüfung und Ausführung. Zunächst konfiguriert die Anwendung den Kontext über SetKey mit dem gewünschten KEK-Objekt [SWS_CRYPT_24018] oder bindet einen entsprechenden KeySlot an [SWS_CRYPT_50034]. Im zweiten Schritt ermittelt die Anwendung über GetRequiredWrappedKeyBufferSize die maximal benötigte Ausgabepuffergröße für das zu verpackende Zielobjekt [SWS_CRYPT_50035]. Nachdem ein entsprechend dimensionierter Speicherbereich (ReadWriteMemRegion) bereitgestellt wurde, erfolgt der Aufruf von Wrap, der die serialisierten und verschlüsselten Schlüsseldaten in den Puffer schreibt und die exakte Bytezahl zurückgibt [SWS_CRYPT_24014].

Symmetrischer Key-Wrapping-AblaufAnwendungSymmetricKeyWrapperCtxSetKey(kek)ara::core::Result<void>GetRequiredWrappedKeyBufferSize(key)ara::core::Result<std::size_t>Wrap(key, wrappedKey)ara::core::Result<std::size_t>

Sequenzdiagramm: Typische Aufrufabfolge zur symmetrischen Schlüsselverpackung. Quellen: [SWS_CRYPT_24018], [SWS_CRYPT_50035], [SWS_CRYPT_24014]

Für den komplementären Vorgang des Entpackens übergibt die Anwendung nach der Konfiguration mittels SetKey den Eingabepuffer mit den gewickelten Daten an UnwrapSymmetricKey [SWS_CRYPT_24016]. Dabei müssen die Ziel-Algorithmenkennung (targetAlgId) sowie die erlaubten Nutzungsflags (allowedUsage) für den neu zu erzeugenden symmetrischen Schlüssel explizit festgelegt werden [SWS_CRYPT_24016].

Fehlerszenarien

Methoden der Klasse signalisieren Fehler über den Rückgabetyp ara::core::Result mit Rollback-Semantik. Zu den zentralen Fehlerszenarien gehören:

  • Fehlende Initialisierung: Werden GetRequiredWrappedKeyBufferSize, Wrap oder UnwrapSymmetricKey vor einer erfolgreichen Schlüsselzuweisung aufgerufen, liefern sie ara::crypto::CryptoErrc::kUninitializedContext [SWS_CRYPT_50035], [SWS_CRYPT_24014], [SWS_CRYPT_24016].
  • Verletzung von Nutzungsrechten: Beim Setzen des KEK muss dieser mindestens die Berechtigung kAllowKeyWrapping oder kAllowKeyUnwrapping besitzen, andernfalls schlägt SetKey mit ara::crypto::CryptoErrc::kUsageViolation fehl [SWS_CRYPT_24018]. Bei Wrap führt das Fehlen von kAllowKeyWrapping auf dem KEK oder das Fehlen von kAllowSecuredExport auf dem zu verpackenden Objekt ebenfalls zu kUsageViolation [SWS_CRYPT_24014]. Beim Entpacken wird geprüft, ob der KEK kAllowKeyUnwrapping erlaubt [SWS_CRYPT_24016].
  • Inkompatibilitäten und Pufferfehler: Ist der Zielpuffer für Wrap zu klein, wird ara::crypto::CryptoErrc::kInsufficientCapacity gemeldet [SWS_CRYPT_24014]. Fehlerhafte Schlüsselformate oder inkompatible Typen führen zu ara::crypto::CryptoErrc::kInvalidArgument [SWS_CRYPT_24014], [SWS_CRYPT_24016]. Unterstützt der Kontext nur Slots bzw. nur Schlüsselobjekte, meldet SetKey den Fehler kUnsupported [SWS_CRYPT_24018], [SWS_CRYPT_50034].
  • Ressourcenkonflikte und leere Slots: Greift die Operation auf eine belegte Ressource zu, wird ara::crypto::CryptoErrc::kBusyResource zurückgegeben; ist der referenzierte KeySlot leer, resultiert dies in ara::crypto::CryptoErrc::kEmptyKeySlot [SWS_CRYPT_24014], [SWS_CRYPT_24016].

Dieser Leitfaden wurde durch eine KI erstellt und stützt sich ausschließlich auf die AUTOSAR-Spezifikation.

Mitgliederkarte

Klassendiagramm

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

G nara__crypto__cryp__SymmetricKeyWrapperCtx465 SymmetricKeyWrapperCtx + GetRequiredWrappedKeyBufferSize() + SetKey() + UnwrapSymmetricKey() + Wrap() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__SymmetricKeyWrapperCtx465->nara__crypto__cryp__CryptoContext85

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Methoden

Calculate the maximum required size of the wrapped key output buffer depending on the key to be wrapped.

virtual ara::core::Result< std::size_t > GetRequiredWrappedKeyBuffer Size (const CryptoObject &key) const noexcept;
SetKey function 2

Configure the context to use the provided key as key encryption key.

Überladungen SetKey 2
virtual ara::core::Result< void > SetKey (SymmetricKey::Sptr key) noexcept=0; SWS_CRYPT_24018
virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0; SWS_CRYPT_50034

Unwrap a wrapped key using the previously set key encryption key and return an SymmetricKey.

virtual ara::core::Result< SymmetricKey::Sptr > UnwrapSymmetricKey (ReadOnlyMemRegion wrappedKey, AlgId targetAlgId, AllowedUsageFlags allowedUsage) const noexcept=0;
Wrap function

Wrap the provided key using the previously set key encryption key.

virtual ara::core::Result< std::size_t > Wrap (CryptoObject::Sptr key, ReadWriteMemRegion wrappedKey) const noexcept=0;

Typaliase

Sptr type alias

Smart pointer of the interface.

Dokumentation der Methoden

function GetRequiredWrappedKeyBufferSize [SWS_CRYPT_50035] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > GetRequiredWrappedKeyBuffer Size (const CryptoObject &key) const noexcept;

Calculate the maximum required size of the wrapped key output buffer depending on the key to be wrapped.

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

Parameter (in)

ParameterBeschreibung
keykey to be wrapped

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the required capacity of the output buffer in bytes or an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50035
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50035@rel:R25-11#79bcf3cd
Content hash
79bcf3cd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50035
Status: valid/unmigrated Version: rel:R25-11#79bcf3cd 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_50035@rel:R25-11#79bcf3cd
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 SetKey [SWS_CRYPT_24018] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

virtual ara::core::Result< void > SetKey (SymmetricKey::Sptr key) noexcept=0;

Configure the context to use the provided key as key encryption key.

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

Verwendung und Semantik

Die synchrone Elementfunktion SetKey konfiguriert eine Instanz von ara::crypto::cryp::SymmetricKeyWrapperCtx so, dass das übergebene Objekt SymmetricKey::Sptr als Key Encryption Key (KEK) für nachfolgende Schlüsseloperationen genutzt wird [SWS_CRYPT_24018]. Die Funktion ist als reine virtuelle Methode mit noexcept spezifiziert und gibt ein leeres ara::core::Result<void> zurück, sofern die Zuweisung erfolgreich war [SWS_CRYPT_24018].

Fehlerbehandlung und Rollback

Tritt bei der Konfiguration ein Fehler auf, greift eine verbindliche Rollback-Semantik, sodass der Zustand des Kontexts unverändert bleibt [SWS_CRYPT_24018]. Mögliche Fehlerursachen werden über Fehlercodes aus ara::crypto::CryptoErrc abgebildet:

  • kIncompatibleObject: Das übergebene Schlüsselobjekt ist mit dem symmetrischen Kontext inkompatibel [SWS_CRYPT_24018].
  • kUsageViolation: Die erlaubte Verwendung des Schlüssels umfasst weder kAllowKeyWrapping noch kAllowKeyUnwrapping [SWS_CRYPT_24018].
  • kUnsupported: Die Kontext-Implementierung unterstützt ausschließlich das Setzen eines Schlüssels über einen KeySlot [SWS_CRYPT_24018].

Nebenläufigkeit und Zusammenspiel

Die Methode ist als thread-safe und ausnahmesicher (exception safe) spezifiziert [SWS_CRYPT_24018]. Falls Schlüssel über Steckplätze verwaltet werden oder der Kontext ausschließlich KeySlots unterstützt, existiert für denselben Wrapper-Kontext die alternative Überladung SetKey mit KeySlot::Sptr [SWS_CRYPT_50034]. Diese konfiguriert den Kontext darauf, den im Steckplatz abgelegten Schlüssel zum Ausführungszeitpunkt des Key-Wrappings zu laden [SWS_CRYPT_50034].

Dieser Nutzungshinweis basiert auf der Spezifikation AUTOSAR Adaptive Platform Release R25-11.

Implementer's Guide folgt (Komplexität I2)

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

Parameter (in)

ParameterBeschreibung
keythe the key encryption key (KEK) object

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided key object is incompatible with this symmetric key context
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowKey Wrapping or kAllowKeyUnwrapping
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a KeySlot

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

Record
AUTOSAR/AP/record/SWS_CRYPT_24018
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_24018@rel:R25-11#07e64025
Content hash
07e64025
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_24018
Status: valid/unmigrated Version: rel:R25-11#5ba8abd5 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_24018@rel:R25-11#5ba8abd5
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#07e640252026-09-30
  • R20-11rel:R20-11#dc67c1dc2026-10-14
  • R21-11rel:R21-11#34c85a1a2026-10-14
  • R22-11rel:R22-11#4ead34ac2026-10-14
  • R23-11rel:R23-11#9ca31f482026-10-14
  • R24-11rel:R24-11#bb17e6102026-10-14
  • R25-11rel:R25-11#5ba8abd52026-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 SetKey [SWS_CRYPT_50034] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0;

Configure the context to use the key stored in the provided KeySlot at the time the key wrapping is performed.

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

Verwendung

Die virtuelle Methode SetKey konfiguriert den Kontext ara::crypto::cryp::SymmetricKeyWrapperCtx so, dass der im bereitgestellten KeySlot hinterlegte Schlüssel verwendet wird, sobald das Key-Wrapping ausgeführt wird [SWS_CRYPT_50034]. Der Aufruf erwartet als Parameter keySlot einen KeySlot::Sptr, der einen symmetrischen Schlüssel enthält [SWS_CRYPT_50034]. Die Funktion wird synchron aufgerufen, ist mit noexcept deklariert und gibt ein ara::core::Result<void> zurück [SWS_CRYPT_50034].

Fehlerbehandlung

Im Fehlerfall stellt die Methode Rollback-Semantik sicher und gibt eines der folgenden Fehlerergebnisse zurück [SWS_CRYPT_50034]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: Der übergebene keySlot ist mit diesem Kontext inkompatibel [SWS_CRYPT_50034].
  • ara::crypto::CryptoErrc::kUnsupported: Der Kontext unterstützt ausschließlich das Setzen eines direkten SymmetricKey [SWS_CRYPT_50034].

Nebenläufigkeit

Die Operation ist threadsicher (thread-safe) und bietet garantierte Exception-Sicherheit (exception safe) [SWS_CRYPT_50034].

Zusammenspiel

Die Schnittstelle stellt innerhalb von SymmetricKeyWrapperCtx das slotbasierte Pendant zur Überladung SetKey mit SymmetricKey::Sptr dar, die einen Schlüssel direkt als Key Encryption Key (KEK) bindet [SWS_CRYPT_24018]. Analoge slotbasierte Konfigurationsfunktionen werden auch in verwandten kryptografischen Kontexten wie KeyDerivationFunctionCtx [SWS_CRYPT_50010], KeyEncapsulatorPublicCtx [SWS_CRYPT_50012], VerifierPublicCtx [SWS_CRYPT_50018], MessageAuthnCodeCtx [SWS_CRYPT_50026] und SignerPrivateCtx [SWS_CRYPT_50036] verwendet.

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation von AUTOSAR Adaptive R25-11 generiert.

Implementer's Guide folgt (Komplexität I2)

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

Parameter (in)

ParameterBeschreibung
keySlota keyslot containing a symmetric key

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided keySlot is incompatible with this context
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a SymmetricKey

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50034
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50034@rel:R25-11#c06f6729
Content hash
c06f6729
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50034
Status: valid/unmigrated Version: rel:R25-11#c06f6729 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_50034@rel:R25-11#c06f6729
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 UnwrapSymmetricKey [SWS_CRYPT_24016] Upstream: RS_CRYPTO_02115

virtual ara::core::Result< SymmetricKey::Sptr > UnwrapSymmetricKey (ReadOnlyMemRegion wrappedKey, AlgId targetAlgId, AllowedUsageFlags allowedUsage) const noexcept=0;

Unwrap a wrapped key using the previously set key encryption key and return an SymmetricKey.

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

Die Methode UnwrapSymmetricKey der Schnittstelle ara::crypto::cryp::SymmetricKeyWrapperCtx entschlüsselt einen verpackten Schlüssel unter Verwendung des zuvor gesetzten Key Encryption Keys (KEK) und liefert ein neues SymmetricKey-Objekt zurück [SWS_CRYPT_24016]. Als Parameter nimmt die synchrone Funktion den Eingabepuffer mit den geschützten Schlüsseldaten (wrappedKey), die Algorithmenkennung für den Zielschlüssel (targetAlgId) sowie Bit-Flags für dessen erlaubte Transformationsarten (allowedUsage) entgegen [SWS_CRYPT_24016].

Der Rückgabewert ara::core::Result<SymmetricKey::Sptr> enthält bei erfolgreicher Ausführung einen Smart Pointer auf den erzeugten Schlüssel oder signalisiert einen Fehler mit Rollback-Semantik [SWS_CRYPT_24016]. Mögliche Fehlerursachen sind:

  • InvalidArgument: Die übergebenen Schlüsseldaten in wrappedKey können nicht entpackt werden, etwa wegen eines ungültigen Formats oder einer falschen Puffergröße [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kUninitializedContext: Der Wrapper-Kontext wurde noch nicht mit einem passenden KEK initialisiert [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kUsageViolation: Die Nutzungsbeschränkungen des KEK verbieten das Entpacken (Fehlen von kAllowKeyUnwrapping) [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kUnknownIdentifier: Der übergebene Wert für targetAlgId ist nicht bekannt oder wird nicht unterstützt [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kIncompatibleArguments: Die angegebenen allowedUsage-Flags sind mit targetAlgId oder dem Schlüsseltyp inkompatibel [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kBusyResource: Eine für die Operation benötigte Systemressource ist derzeit belegt [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Ein für die Operation konfigurierter KeySlot ist leer [SWS_CRYPT_24016].

Die Methode ist als const sowie noexcept deklariert, garantiert Exception-Sicherheit und ist nach Spezifikation für den nebenläufigen Aufruf thread-safe [SWS_CRYPT_24016].

Dieser Text wurde von einer KI erstellt und dient als Orientierungshilfe. Maßgeblich ist die Spezifikation.

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe ara::crypto::CryptoErrc::k rollback_semantics

Parameter (in)

ParameterBeschreibung
wrappedKeyan input buffer that contains the wrapped key
targetAlgIdthe algId of the to be created unwrapped key
allowedUsagebit-flags that define a list of allowed transformations’ types in which the unwrapped key can be used

Rückgabewert

TypBeschreibung
ara::core::Result<SymmetricKey::Sptr >a result containing the unwrapped SymmetricKey object or an error

Fehler

FehlercodeBeschreibung
InvalidArgumentif the wrapped key data cannot be unwrapped (e.g., invalid format or size)
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by a key value
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the KEK does not include kAllowKey Unwrapping
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if targetAlgId has an unsupported value
ara::crypto::CryptoErrc::kIncompatibleArgumentsrollback_semantics if the allowedUsage is incompatible with the targetAlgId or the key type
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the KEK does not include kAllowKey Unwrapping

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

Record
AUTOSAR/AP/record/SWS_CRYPT_24016
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_24016@rel:R25-11#74bd38af
Content hash
74bd38af
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_24016
Status: valid/unmigrated Version: rel:R25-11#7d151daa 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_24016@rel:R25-11#7d151daa
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#74bd38af2026-09-30
  • R19-11rel:R19-11#8ec5b1a02026-10-14
  • R20-11rel:R20-11#496f81ad2026-10-14
  • R21-11rel:R21-11#354b26632026-10-14
  • R22-11rel:R22-11#767017ac2026-10-14
  • R23-11rel:R23-11#624822262026-10-14
  • R24-11rel:R24-11#9c4b80db2026-10-14
  • R25-11rel:R25-11#7d151daa2026-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 Wrap [SWS_CRYPT_24014] Upstream: RS_CRYPTO_02201

virtual ara::core::Result< std::size_t > Wrap (CryptoObject::Sptr key, ReadWriteMemRegion wrappedKey) const noexcept=0;

Wrap the provided key using the previously set key encryption key.

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

Verwendung

Die Methode Wrap der Klasse ara::crypto::cryp::SymmetricKeyWrapperCtx (Header-Datei ara/crypto/cryp/symmetric_key_wrapper_ctx.h) verpackt einen bereitgestellten Schlüssel unter Verwendung des zuvor gesetzten Schlüsselverschlüsselungsschlüssels (Key Encryption Key) [SWS_CRYPT_24014].

Die synchrone Funktion erwartet folgende Parameter [SWS_CRYPT_24014]:

  • key (CryptoObject::Sptr): Der einzupackende Schlüssel.
  • wrappedKey (ReadWriteMemRegion): Ein Ausgabepuffer, in den der verpackte Schlüssel geschrieben wird.

Als Rückgabewert liefert die Operation ein ara::core::Result<std::size_t>, das im Erfolgsfall die Anzahl der in den Puffer geschriebenen Bytes des verpackten Schlüssels enthält [SWS_CRYPT_24014].

Fehlerbehandlung und Semantik

Die Methode ist als exception safe definiert und implementiert für Fehlerfälle eine strikte Rollback-Semantik [SWS_CRYPT_24014]. Folgende Fehlerzustände können gemeldet werden [SWS_CRYPT_24014]:

  • InvalidArgument: Das Schlüsselobjekt kann nicht verpackt werden (z. B. aufgrund ungültiger Größe oder falschen Typs).
  • ara::crypto::CryptoErrc::kUninitializedContext: Der Kontext wurde noch nicht mit einem Schlüsselwert initialisiert.
  • ara::crypto::CryptoErrc::kUsageViolation: Die zulässige Nutzung des KEK umfasst nicht kAllowKeyWrapping oder die des Objekts umfasst nicht kAllowSecuredExport.
  • ara::crypto::CryptoErrc::kInsufficientCapacity: Der Ausgabepuffer wrappedKey ist zu klein.
  • ara::crypto::CryptoErrc::kBusyResource: Eine benötigte Ressource ist belegt.
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Ein konfigurierter KeySlot ist gegenwärtig leer.

Nebenläufigkeit und Einschränkungen

Die Schnittstelle ist als thread-safe spezifiziert [SWS_CRYPT_24014]. Voraussetzung für die Ausführung ist ein vorab initialisierter Kontext sowie passende Nutzungsattribute der beteiligten Schlüssel [SWS_CRYPT_24014].

Dieser Nutzungshinweis wurde automatisch auf Basis der Spezifikation von AUTOSAR Adaptive R25-11 generiert.

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe ara::crypto::CryptoErrc::k rollback_semantics

Parameter (in)

ParameterBeschreibung
keythe key to be wrapped

Parameter (out)

ParameterBeschreibung
wrappedKeyan output buffer that the wrapped key will be written to

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing either a the number of bytes of the wrapped key or an error

Fehler

FehlercodeBeschreibung
InvalidArgumentif the key object cannot be wrapped (e.g., invalid size or type)
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by a key value
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the KEK does not include kAllowKey Wrapping or the allowed usage of the object does not include k AllowSecuredExport
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics a required resource is busy
ara::crypto::CryptoErrc::kEmptyKeySlotrollback_semantics if a KeySlot was configured that is currently is empty

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

Record
AUTOSAR/AP/record/SWS_CRYPT_24014
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_24014@rel:R25-11#ac935a36
Content hash
ac935a36
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_24014
Status: valid/unmigrated Version: rel:R25-11#d59df6cf 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_24014@rel:R25-11#d59df6cf
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ac935a362026-09-30
  • R19-11rel:R19-11#b94a246e2026-10-14
  • R20-11rel:R20-11#999104362026-10-14
  • R21-11rel:R21-11#d51795ed2026-10-14
  • R22-11rel:R22-11#f7dabf992026-10-14
  • R23-11rel:R23-11#5c3c2d942026-10-14
  • R24-11rel:R24-11#90cde3442026-10-14
  • R25-11rel:R25-11#d59df6cf2026-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

Dokumentation der Typaliase

type alias Sptr [SWS_CRYPT_24001] Upstream: RS_CRYPTO_02201

using Sptr = std::shared_ptr<SymmetricKeyWrapperCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/symmetric_key_wrapper_ctx.h"
Scopeclass ara::crypto::cryp::SymmetricKeyWrapperCtx
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_24001
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_24001@rel:R25-11#10e154c5
Content hash
10e154c5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_24001
Status: valid/unmigrated Version: rel:R25-11#aef6197c 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_24001@rel:R25-11#aef6197c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#10e154c52026-09-30
  • R19-11rel:R19-11#521f46bb2026-10-14
  • R20-11rel:R20-11#0ab69c592026-10-14
  • R21-11rel:R21-11#8d463cfa2026-10-14
  • R22-11rel:R22-11#7a7fa6972026-10-14
  • R23-11rel:R23-11#4b170d372026-10-14
  • R24-11rel:R24-11#4b170d372026-10-14
  • R25-11rel:R25-11#aef6197c2026-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