DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Permite el empaquetado y desempaquetado seguro de claves mediante cifrado de clave simétrica.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 16126e8d9692 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Permite el empaquetado y desempaquetado seguro de claves mediante cifrado de clave simétrica.

El contexto SymmetricKeyWrapperCtx sirve para el empaquetado y desempaquetado criptográfico de claves mediante algoritmos simétricos. Antes de la ejecución de Wrap o UnwrapSymmetricKey, el contexto debe configurarse a través de SetKey con una clave de cifrado de clave (KEK) compatible [SWS_CRYPT_24018]. Todas las operaciones requieren las autorizaciones de uso correspondientes de los objetos de clave involucrados y notifican errores a través de ara::core::Result con semántica de reversión [SWS_CRYPT_24014]. La interfaz es segura frente a excepciones y está especificada como segura frente a subprocesos para el funcionamiento concurrente.

Contexto

La clase SymmetricKeyWrapperCtx define la interfaz estandarizada para algoritmos de envoltura de claves simétricas (Key Wrapping) dentro de AUTOSAR Adaptive Platform. Su responsabilidad central consiste en la protección criptográfica de claves durante la exportación, así como en la recuperación de claves empaquetadas para uso interno. En este contexto, la clase interactúa principalmente con claves de cifrado de claves (Key Encryption Keys, KEK), que se proporcionan bien como un objeto de clave volátil del tipo SymmetricKey o bien de forma persistente a través de un KeySlot [SWS_CRYPT_24018], [SWS_CRYPT_50034]. Durante el empaquetado, el contexto recibe un CryptoObject genérico [SWS_CRYPT_24014], mientras que la operación de desempaquetado genera y devuelve un nuevo objeto SymmetricKey listo para su uso [SWS_CRYPT_24016].

Ciclo de vida

Las instancias de SymmetricKeyWrapperCtx se gestionan a través del smart pointer tipado Sptr (un alias para std::shared_ptr<SymmetricKeyWrapperCtx>) [SWS_CRYPT_24001]. La creación efectiva de objetos debería llevarse a cabo a través de una factoría de proveedores competente, ya que la clase representa una interfaz abstracta con métodos virtuales puros. Pregunta Q-7b9a1007da43ddcd (abierta) Todas las funciones miembro de la interfaz están especificadas como seguras frente a excepciones (exception safe), así como seguras para subprocesos (thread-safe), lo que posibilita su uso seguro en componentes de software concurrentes [SWS_CRYPT_24014], [SWS_CRYPT_24016].

A lo largo de su ciclo de vida, el contexto atraviesa dos fases esenciales: Inmediatamente después de la instanciación, se encuentra en un estado no inicializado. En esta fase, las operaciones criptográficas y los cálculos de búfer fallan con el error kUninitializedContext [SWS_CRYPT_50035], [SWS_CRYPT_24014]. Solo mediante la llamada exitosa a SetKey con una KEK o KeySlot compatible, el contexto pasa al estado operativo, en el que las claves se pueden empaquetar o desempaquetar de forma segura [SWS_CRYPT_24018], [SWS_CRYPT_50034].

Ruta de uso

El flujo regular para empaquetar una clave requiere una secuencia coordinada de configuración, verificación de búfer y ejecución. En primer lugar, la aplicación configura el contexto a través de SetKey con el objeto KEK deseado [SWS_CRYPT_24018] o vincula un KeySlot correspondiente [SWS_CRYPT_50034]. En el segundo paso, la aplicación determina mediante GetRequiredWrappedKeyBufferSize el tamaño máximo de búfer de salida requerido para el objeto de destino que se va a empaquetar [SWS_CRYPT_50035]. Una vez proporcionada una zona de memoria dimensionada adecuadamente (ReadWriteMemRegion), se realiza la llamada a Wrap, la cual escribe los datos de clave serializados y cifrados en el búfer y devuelve el número exacto de bytes [SWS_CRYPT_24014].

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

Diagrama de secuencias: Secuencia típica de llamadas para el empaquetado simétrico de claves. Fuentes: [SWS_CRYPT_24018], [SWS_CRYPT_50035], [SWS_CRYPT_24014]

Para el proceso complementario de desempaquetado, tras la configuración mediante SetKey, la aplicación pasa el búfer de entrada con los datos envueltos a UnwrapSymmetricKey [SWS_CRYPT_24016]. En este proceso, deben especificarse explícitamente el identificador de algoritmo de destino (targetAlgId), así como los indicadores de uso permitidos (allowedUsage) para la nueva clave simétrica que se va a generar [SWS_CRYPT_24016].

Escenarios de error

Los métodos de la clase señalan errores a través del tipo de retorno ara::core::Result con semántica de reversión (rollback). Entre los escenarios de error centrales se encuentran:

  • Falta de inicialización: Si se llama a GetRequiredWrappedKeyBufferSize, Wrap o UnwrapSymmetricKey antes de una asignación exitosa de clave, devuelven ara::crypto::CryptoErrc::kUninitializedContext [SWS_CRYPT_50035], [SWS_CRYPT_24014], [SWS_CRYPT_24016].
  • Vulneración de derechos de uso: Al establecer la KEK, esta debe poseer al menos el permiso kAllowKeyWrapping o kAllowKeyUnwrapping; de lo contrario, SetKey falla con ara::crypto::CryptoErrc::kUsageViolation [SWS_CRYPT_24018]. En Wrap, la ausencia de kAllowKeyWrapping en la KEK o la ausencia de kAllowSecuredExport en el objeto que se va a empaquetar conduce asimismo a kUsageViolation [SWS_CRYPT_24014]. Durante el desempaquetado, se comprueba si la KEK permite kAllowKeyUnwrapping [SWS_CRYPT_24016].
  • Incompatibilidades y errores de búfer: Si el búfer de destino para Wrap es demasiado pequeño, se notifica ara::crypto::CryptoErrc::kInsufficientCapacity [SWS_CRYPT_24014]. Los formatos de clave erróneos o los tipos incompatibles dan lugar a ara::crypto::CryptoErrc::kInvalidArgument [SWS_CRYPT_24014], [SWS_CRYPT_24016]. Si el contexto solo admite slots o solo objetos de clave, SetKey notifica el error kUnsupported [SWS_CRYPT_24018], [SWS_CRYPT_50034].
  • Conflictos de recursos y slots vacíos: Si la operación accede a un recurso ocupado, se devuelve ara::crypto::CryptoErrc::kBusyResource; si el KeySlot referenciado está vacío, esto resulta en ara::crypto::CryptoErrc::kEmptyKeySlot [SWS_CRYPT_24014], [SWS_CRYPT_24016].

Esta guía fue creada por una IA y se basa exclusivamente en la especificación AUTOSAR.

Mapa de miembros

Diagrama de clases

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

Vista de detalle

Selecciona una entrada en el índice.

Métodos

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 función 2

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

Sobrecargas 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 función

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;

Alias de tipo

Sptr alias de tipo

Smart pointer of the interface.

Documentación de los métodos

función 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#95024513
Content hash
95024513
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: d0a83598653d Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función miembro síncrona SetKey configura una instancia de ara::crypto::cryp::SymmetricKeyWrapperCtx de modo que el objeto SymmetricKey::Sptr pasado se utilice como Key Encryption Key (KEK) para operaciones de clave subsiguientes [SWS_CRYPT_24018]. La función está especificada como un método virtual puro con noexcept y devuelve un ara::core::Result<void> vacío, siempre que la asignación haya sido exitosa [SWS_CRYPT_24018].

Tratamiento de errores y rollback

Si se produce un error durante la configuración, se aplica una semántica de rollback vinculante, de modo que el estado del contexto permanece inalterado [SWS_CRYPT_24018]. Las posibles causas de error se representan mediante códigos de error de ara::crypto::CryptoErrc:

  • kIncompatibleObject: el objeto de clave pasado es incompatible con el contexto simétrico [SWS_CRYPT_24018].
  • kUsageViolation: el uso permitido de la clave no comprende ni kAllowKeyWrapping ni kAllowKeyUnwrapping [SWS_CRYPT_24018].
  • kUnsupported: la implementación del contexto admite exclusivamente el establecimiento de una clave mediante un KeySlot [SWS_CRYPT_24018].

Concurrencia e interacción

El método está especificado como thread-safe y seguro frente a excepciones (exception safe) [SWS_CRYPT_24018]. Si las claves se gestionan mediante ranuras o si el contexto admite exclusivamente KeySlots, existe para el mismo contexto de encapsulador la sobrecarga alternativa SetKey con KeySlot::Sptr [SWS_CRYPT_50034]. Esta configura el contexto para cargar la clave depositada en la ranura en el momento de ejecución del key-wrapping [SWS_CRYPT_50034].

Esta nota de uso se basa en la especificación AUTOSAR Adaptive Platform Release R25-11.

Guía del implementador pendiente (complejidad 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#4925b308
Content hash
4925b308
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 30d79040bb46 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El método virtual SetKey configura el contexto ara::crypto::cryp::SymmetricKeyWrapperCtx de modo que se utilice la clave almacenada en el KeySlot proporcionado en cuanto se ejecute el key-wrapping [SWS_CRYPT_50034]. La llamada espera como parámetro keySlot un KeySlot::Sptr que contiene una clave simétrica [SWS_CRYPT_50034]. La función se invoca de forma sincrónica, está declarada con noexcept y devuelve un ara::core::Result<void> [SWS_CRYPT_50034].

Manejo de errores

En caso de error, el método asegura una semántica de reversión (rollback) y devuelve uno de los siguientes resultados de error [SWS_CRYPT_50034]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: el keySlot transferido es incompatible con este contexto [SWS_CRYPT_50034].
  • ara::crypto::CryptoErrc::kUnsupported: el contexto solo admite el establecimiento de un SymmetricKey directo [SWS_CRYPT_50034].

concurrencia

La operación es segura para subprocesos (thread-safe) y ofrece seguridad frente a excepciones garantizada (exception safe) [SWS_CRYPT_50034].

Interacción

Dentro de SymmetricKeyWrapperCtx, la interfaz representa el homólogo basado en slots de la sobrecarga SetKey con SymmetricKey::Sptr, que vincula directamente una clave como Key Encryption Key (KEK) [SWS_CRYPT_24018]. Funciones de configuración análogas basadas en slots también se emplean en contextos criptográficos afines como KeyDerivationFunctionCtx [SWS_CRYPT_50010], KeyEncapsulatorPublicCtx [SWS_CRYPT_50012], VerifierPublicCtx [SWS_CRYPT_50018], MessageAuthnCodeCtx [SWS_CRYPT_50026] y SignerPrivateCtx [SWS_CRYPT_50036].

Esta nota de uso ha sido generada de forma automatizada sobre la base de la especificación de AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad 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#9aaccb4e
Content hash
9aaccb4e
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: fe87df5f5eae Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método UnwrapSymmetricKey de la interfaz ara::crypto::cryp::SymmetricKeyWrapperCtx descifra una clave empaquetada utilizando la Key Encryption Key (KEK) establecida previamente y devuelve un nuevo objeto SymmetricKey [SWS_CRYPT_24016]. Como parámetros, la función síncrona recibe el búfer de entrada con los datos protegidos de la clave (wrappedKey), el identificador de algoritmo para la clave de destino (targetAlgId) así como indicadores de bits (flags) para sus tipos de transformación permitidos (allowedUsage) [SWS_CRYPT_24016].

En caso de ejecución satisfactoria, el valor de retorno ara::core::Result<SymmetricKey::Sptr> contiene un puntero inteligente al objeto de clave generado o señala un error con semántica de reversión (rollback) [SWS_CRYPT_24016]. Las posibles causas de error son:

  • InvalidArgument: Los datos de clave transferidos en wrappedKey no se pueden desempaquetar, por ejemplo debido a un formato no válido o a un tamaño de búfer incorrecto [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kUninitializedContext: El contexto de empaquetado (wrapper) todavía no se ha inicializado con una KEK adecuada [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kUsageViolation: Las restricciones de uso de la KEK prohíben el desempaquetado (ausencia de kAllowKeyUnwrapping) [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kUnknownIdentifier: El valor transferido para targetAlgId no se conoce o no se admite [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kIncompatibleArguments: Los indicadores allowedUsage especificados son incompatibles con targetAlgId o con el tipo de clave [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kBusyResource: Un recurso del sistema requerido para la operación está ocupado actualmente [SWS_CRYPT_24016].
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Un KeySlot configurado para la operación está vacío [SWS_CRYPT_24016].

El método está declarado como const y noexcept, garantiza la seguridad frente a excepciones y, según la especificación, es seguro para subprocesos (thread-safe) para llamadas concurrentes [SWS_CRYPT_24016].

Este texto fue creado por una IA y sirve como guía orientativa. El documento determinante es la especificación.

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#f208a656
Content hash
f208a656
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 8e6ff8198c9d Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El método Wrap de la clase ara::crypto::cryp::SymmetricKeyWrapperCtx (archivo de cabecera ara/crypto/cryp/symmetric_key_wrapper_ctx.h) empaqueta una clave proporcionada utilizando la clave de cifrado de claves (Key Encryption Key) [SWS_CRYPT_24014] establecida previamente.

La función síncrona espera los siguientes parámetros [SWS_CRYPT_24014]:

  • key (CryptoObject::Sptr): La clave que se va a empaquetar.
  • wrappedKey (ReadWriteMemRegion): Un búfer de salida en el que se escribe la clave empaquetada.

Como valor de retorno, la operación devuelve un ara::core::Result<std::size_t> que, en caso de éxito, contiene el número de bytes de la clave empaquetada escritos en el búfer [SWS_CRYPT_24014].

Tratamiento de errores y semántica

El método está definido como exception safe e implementa una semántica estricta de reversión (rollback) para casos de error [SWS_CRYPT_24014]. Pueden notificarse los siguientes estados de error [SWS_CRYPT_24014]:

  • InvalidArgument: El objeto de clave no se puede empaquetar (p. ej. debido a un tamaño no válido o a un tipo incorrecto).
  • ara::crypto::CryptoErrc::kUninitializedContext: El contexto todavía no se ha inicializado con un valor de clave.
  • ara::crypto::CryptoErrc::kUsageViolation: El uso permitido de la KEK no incluye kAllowKeyWrapping o el del objeto no incluye kAllowSecuredExport.
  • ara::crypto::CryptoErrc::kInsufficientCapacity: El búfer de salida wrappedKey es demasiado pequeño.
  • ara::crypto::CryptoErrc::kBusyResource: Un recurso requerido está ocupado.
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Un KeySlot configurado está actualmente vacío.

Concurrencia y restricciones

La interfaz está especificada como thread-safe [SWS_CRYPT_24014]. El requisito para la ejecución es un contexto previamente inicializado, así como atributos de uso adecuados para las claves implicadas [SWS_CRYPT_24014].

Esta nota de uso se ha generado automáticamente sobre la base de la especificación de AUTOSAR Adaptive R25-11.

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#ba495534
Content hash
ba495534
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

Documentación de los alias de tipo

alias de tipo 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#3d218a9b
Content hash
3d218a9b
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