DEENESPTFRRUARHIKOZHNL

clase ara::crypto::cryp::KeyEncapsulatorPublicCtx

[SWS_CRYPT_21800] Upstream: RS_CRYPTO_02104, RS_CRYPTO_02209

class KeyEncapsulatorPublicCtx :                public CryptoContext {...};

Asymmetric Key Encapsulation Mechanism (KEM) Public key Context interface.

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

Guía del usuarioGENERADO POR IA

Encapsula claves simétricas de forma asimétrica mediante claves públicas o las genera durante el proceso de encapsulación.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: f00bc8643d8f Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Encapsula claves simétricas de forma asimétrica mediante claves públicas o las genera durante el proceso de encapsulación.

La interfaz ara::crypto::cryp::KeyEncapsulatorPublicCtx permite mecanismos de encapsulación de claves (KEM) asimétricos para empaquetar claves simétricas destinadas a un intercambio seguro o para generarlas de nuevo directamente en el curso de la encapsulación ([SWS_CRYPT_50011]). Antes de la ejecución, el contexto debe inicializarse mediante SetKey con una clave pública o ranura y determinarse el tamaño de búfer de salida requerido ([SWS_CRYPT_21815]). Condiciones de contorno esenciales son los indicadores de uso de clave requeridos como kAllowKeyWrapping, así como la completa seguridad frente a subprocesos de todas las operaciones.

Contexto

La interfaz ara::crypto::cryp::KeyEncapsulatorPublicCtx define el contexto asimétrico para Key Encapsulation Mechanisms (KEM) utilizando una clave pública. Dentro de la arquitectura criptográfica de AUTOSAR Adaptive, la clase sirve para el intercambio y el transporte seguro de claves. Recibe una clave asimétrica pública para encapsular una clave simétrica existente ([SWS_CRYPT_21813]) o bien para generar y proporcionar una nueva clave simétrica en el curso de la encapsulación ([SWS_CRYPT_50011]). La base de la clave puede vincularse como objeto de clave directo PublicKey ([SWS_CRYPT_21815]) o a través de una ranura persistida KeySlot ([SWS_CRYPT_50012]).

diag_kem_kontext Anwendung Anwendung KeyEncapsulatorPublicCtx KeyEncapsulatorPublicCtx Anwendung->KeyEncapsulatorPublicCtx SymmetricKey SymmetricKey KeyEncapsulatorPublicCtx->SymmetricKey PublicKey PublicKey PublicKey->KeyEncapsulatorPublicCtx KeySlot KeySlot KeySlot->KeyEncapsulatorPublicCtx

Diagrama de contexto: integración de KeyEncapsulatorPublicCtx entre la aplicación, las fuentes de claves y las claves de destino. Fuentes: [SWS_CRYPT_21813], [SWS_CRYPT_21815], [SWS_CRYPT_50011], [SWS_CRYPT_50012]

Ciclo de vida

Las instancias de KeyEncapsulatorPublicCtx se gestionan a través del puntero inteligente tipado KeyEncapsulatorPublicCtx::Sptr, que está definido como std::shared_ptr<KeyEncapsulatorPublicCtx> ([SWS_CRYPT_21801]). Es probable que la creación real del objeto se realice a través de una factoría de proveedores subordinada de la plataforma, ya que la clase representa una interfaz puramente virtual. Pregunta Q-3551020e7b9c0f0c (abierta)

Tras su creación, el contexto se encuentra en un estado de inicialización incompleta. Mientras no se haya asignado ninguna clave pública al contexto, las llamadas para el cálculo del tamaño del búfer ([SWS_CRYPT_50013]) y las operaciones de encapsulación ([SWS_CRYPT_21813], [SWS_CRYPT_50011]) fallan con el error CryptoErrc::kUninitializedContext. La operatividad se establece mediante configuración a través de SetKey con PublicKey::Sptr ([SWS_CRYPT_21815]) o KeySlot::Sptr ([SWS_CRYPT_50012]). Al asignar un KeySlot, es probable que la clave pública contenida solo se lea dinámicamente en el momento real de ejecución de la encapsulación. Pregunta Q-ea760070f05941d2 (abierta) Todos los métodos del contexto son seguros frente a subprocesos conforme a la especificación y garantizan la seguridad frente a excepciones ([SWS_CRYPT_21813], [SWS_CRYPT_50011], [SWS_CRYPT_50013], [SWS_CRYPT_21815], [SWS_CRYPT_50012]).

Ruta de uso

El uso práctico del contexto sigue un orden definido compuesto por vinculación de clave, dimensionamiento del búfer y ejecución de la encapsulación:

  • Vinculación de clave: la aplicación inicializa el contexto a través de SetKey ya sea con un PublicKey cargado ([SWS_CRYPT_21815]) o con un KeySlot ([SWS_CRYPT_50012]).
  • Dimensionamiento del búfer: antes de suministrar el búfer de salida, la aplicación determina el tamaño de salida máximo requerido en bytes a través de GetRequiredOutputBufferSize(algId) ([SWS_CRYPT_50013]) para el algoritmo simétrico de destino previsto y reserva un ReadWriteMemRegion correspondiente.
  • Ejecución de la encapsulación: en función de la finalidad de uso, la aplicación selecciona una de las dos variantes de encapsulación:
    • Suministro de una clave existente: Encapsulate(key, encapsulatedKey) encapsula el SymmetricKey transferido y devuelve el número de bytes escritos ([SWS_CRYPT_21813]).
    • Generación autónoma: Encapsulate(algId, allowedUsage, encapsulatedKey) genera una nueva clave simétrica de acuerdo con los indicadores de uso requeridos y devuelve un par formado por el tamaño en bytes y el nuevo SymmetricKey::Sptr ([SWS_CRYPT_50011]).
Flujo del encapsulamiento de clavesAplicaciónKeyEncapsulatorPublicCtxUse Case: Configuración de la clave de encapsulamientoSetKey(key / keySlot)Result<void>Use Case: Comprobación del tamaño del búferGetRequiredOutputBufferSize(algId)Result<std::size_t>Use Case: KapselungaltClave existenteEncapsulate(key, memRegion)Result<std::size_t>Se genera una clave nuevaEncapsulate(algId, usage, memRegion)Result<std::pair<std::size_t, SymmetricKey::Sptr>>

Diagrama de secuencia: secuencia de llamadas típica desde la asignación de la clave y el cálculo del búfer hasta la encapsulación de la clave. Fuentes: [SWS_CRYPT_21813], [SWS_CRYPT_21815], [SWS_CRYPT_50011], [SWS_CRYPT_50013]

Escenarios de error

Los métodos de KeyEncapsulatorPublicCtx notifican errores a través de ara::core::Result con valores de ara::crypto::CryptoErrc y garantizan la semántica de reversión en caso de error. Las situaciones de error principales incluyen:

  • CryptoErrc::kUninitializedContext: se produce cuando se llama a GetRequiredOutputBufferSize ([SWS_CRYPT_50013]) o a Encapsulate ([SWS_CRYPT_21813], [SWS_CRYPT_50011]) sin una configuración correcta previa mediante SetKey.
  • CryptoErrc::kUsageViolation: señala usos de clave no permitidos. Esto ocurre si a la clave de encapsulación le falta el indicador kAllowKeyWrapping ([SWS_CRYPT_21815], [SWS_CRYPT_21813], [SWS_CRYPT_50011]) o si la clave simétrica que se va a encapsular no está habilitada para exportación segura a través de kAllowSecuredExport ([SWS_CRYPT_21813]).
  • CryptoErrc::kIncompatibleObject: indica que una clave o ranura transferida no es compatible con el algoritmo del contexto ([SWS_CRYPT_21815], [SWS_CRYPT_50012], [SWS_CRYPT_21813]).
  • CryptoErrc::kInsufficientCapacity y CryptoErrc::kInvalidInputSize: se desencadenan si el ReadWriteMemRegion transferido no cuenta con la capacidad de búfer requerida o si el tamaño de entrada de la clave no es compatible ([SWS_CRYPT_21813], [SWS_CRYPT_50011]).
  • CryptoErrc::kEmptyKeySlot y CryptoErrc::kBusyResource: se originan cuando un KeySlot vinculado a través de SetKey está vacío en el momento de la ejecución de la encapsulación o cuando un recurso de hardware involucrado está ocupado ([SWS_CRYPT_21813], [SWS_CRYPT_50011]).
  • CryptoErrc::kUnsupported: se devuelve cuando la implementación del contexto solo admite exclusivamente objetos de clave en lugar de ranuras ([SWS_CRYPT_50012]) o viceversa ([SWS_CRYPT_21815]), o bien cuando no se admite en el contexto el establecimiento de claves externas o la generación autónoma de claves ([SWS_CRYPT_21813], [SWS_CRYPT_50011]).

Esta guía se basa exclusivamente en las especificaciones de la AUTOSAR Adaptive Platform Release R25-11.

Mapa de miembros

Diagrama de clases

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

G nara__crypto__cryp__KeyEncapsulatorPublicCtx699 KeyEncapsulatorPublicCtx + Encapsulate() + GetRequiredOutputBufferSize() + SetKey() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__KeyEncapsulatorPublicCtx699->nara__crypto__cryp__CryptoContext85

Vista de detalle

Selecciona una entrada en el índice.

Métodos

Encapsulate función 2

Encapsulate the provided symmetric key.

Sobrecargas Encapsulate 2
virtual ara::core::Result< std::size_t > Encapsulate (Symmetric Key::Sptr key, ReadWriteMemRegion encapsulatedKey) const noexcept=0; SWS_CRYPT_21813
virtual ara::core::Result< std::pair< std::size_t, SymmetricKey::Sptr > > Encapsulate (AlgId algId, AllowedUsageFlags allowedUsage, Read WriteMemRegion encapsulatedKey) const noexcept=0; SWS_CRYPT_50011

Calculate the maximum required size of the output buffer depending on the input size in the current state of the context.

virtual ara::core::Result< std::size_t > GetRequiredOutputBufferSize (AlgId algId) const noexcept;
SetKey función 2

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

Sobrecargas SetKey 2
virtual ara::core::Result< void > SetKey (PublicKey::Sptr key) noexcept=0; SWS_CRYPT_21815
virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0; SWS_CRYPT_50012

Alias de tipo

Sptr alias de tipo

Smart pointer of the interface.

Documentación de los métodos

función Encapsulate [SWS_CRYPT_21813] Upstream: RS_CRYPTO_02102, RS_CRYPTO_02108, RS_CRYPTO_02115

virtual ara::core::Result< std::size_t > Encapsulate (Symmetric Key::Sptr key, ReadWriteMemRegion encapsulatedKey) const noexcept=0;

Encapsulate the provided symmetric key.

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

El método síncrono Encapsulate encapsula una clave simétrica transferida (key) y escribe el resultado en el búfer de salida encapsulatedKey [SWS_CRYPT_21813]. En caso de ejecución correcta, devuelve a través de ara::core::Result<std::size_t> el tamaño en bytes de la clave encapsulada [SWS_CRYPT_21813].

En caso de error se devuelve el código de error correspondiente con semántica de reversión [SWS_CRYPT_21813]. Las causas de error relevantes son:

  • UninitializedContext: El contexto no se inicializó con un valor de clave pública [SWS_CRYPT_21813].
  • ara::crypto::CryptoErrc::kUsageViolation: A la clave de encapsulamiento le falta el flag de uso kAllowKeyWrapping o a la clave que se va a encapsular le falta kAllowSecuredExport [SWS_CRYPT_21813].
  • ara::crypto::CryptoErrc::kIncompatibleObject o CryptoErrc::kInvalidInputSize: El objeto de clave es incompatible o el tamaño de la clave no es admitido por el contexto [SWS_CRYPT_21813].
  • CryptoErrc::kUnsupported: El contexto no admite el encapsulamiento de claves proporcionadas porque las genera él mismo durante el encapsulamiento [SWS_CRYPT_21813].
  • ara::crypto::CryptoErrc::kInsufficientCapacity: El búfer encapsulatedKey está dimensionado demasiado pequeño [SWS_CRYPT_21813].
  • ara::crypto::CryptoErrc::kBusyResource o ara::crypto::CryptoErrc::kEmptyKeySlot: Un recurso está ocupado o un KeySlot configurado está vacío [SWS_CRYPT_21813].

La operación está declarada como const, noexcept y especificada como thread-safe y exception safe [SWS_CRYPT_21813].

En interacción con el módulo, esta función se diferencia de la sobrecarga alternativa [SWS_CRYPT_50011], la cual no recibe una clave existente, sino que genera dinámicamente de nuevo la clave simétrica y la devuelve junto con el resultado de la encapsulación [SWS_CRYPT_50011].

Nota de uso generada automáticamente sobre la base de AUTOSAR R25-11.

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

Parameter (in)

ParameterBeschreibung
keythe symmetric key to be encapsulated

Parameter (out)

ParameterBeschreibung
encapsulatedKeyan output buffer the encapsulated key is written to

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the encapsulated key or an error

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by a public key value
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the encapsulation key does not include k AllowKeyWrapping or if the allowed usage of the encapsulated key does not include kAllowSecuredExport
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided encapsulated key object is incompatible with this context
CryptoErrc::kInvalidInputSizerollback_semantics if this context does not support the size of the encapsulated key
CryptoErrc::kUnsupportedrollback_semantics if this context does not support setting the encapsulated key, because it generates the key during encapsulation
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
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowKeyWrapping

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

Record
AUTOSAR/AP/record/SWS_CRYPT_21813
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_21813@rel:R25-11#a0bd9102
Content hash
a0bd9102
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_21813
Status: valid/unmigrated Version: rel:R25-11#5f08acc8 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_21813@rel:R25-11#5f08acc8
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b3c8ad102026-09-30
  • R19-11rel:R19-11#5df6f2a12026-10-14
  • R20-11rel:R20-11#bc53d66f2026-10-14
  • R21-11rel:R21-11#a093fad52026-10-14
  • R22-11rel:R22-11#9a52ca012026-10-14
  • R23-11rel:R23-11#dadd77c62026-10-14
  • R24-11rel:R24-11#2cf84d842026-10-14
  • R25-11rel:R25-11#5f08acc82026-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 Encapsulate [SWS_CRYPT_50011] Upstream: RS_CRYPTO_02102, RS_CRYPTO_02108, RS_CRYPTO_02115

virtual ara::core::Result< std::pair< std::size_t, SymmetricKey::Sptr > > Encapsulate (AlgId algId, AllowedUsageFlags allowedUsage, Read WriteMemRegion encapsulatedKey) const noexcept=0;

Generate new a symmetric key and encapsulate it. Optionally store the generated key.

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

Uso y semántica

El método síncrono Encapsulate genera internamente una nueva clave simétrica y la encapsula utilizando el contexto [SWS_CRYPT_50011]. Como parámetros de entrada se especifican el algoritmo de destino algId y los flags de uso permitidos allowedUsage para la clave generada [SWS_CRYPT_50011]. El criptograma de la clave se escribe en el búfer de salida encapsulatedKey [SWS_CRYPT_50011]. En caso de éxito, el valor de retorno encapsula un par formado por el tamaño real en bytes de la clave encapsulada y un puntero inteligente al objeto de clave generado (std::pair<std::size_t, SymmetricKey::Sptr>) dentro de un ara::core::Result [SWS_CRYPT_50011].

Tratamiento de errores y protección

En caso de error, los valores de retorno poseen predominantemente semántica de rollback [SWS_CRYPT_50011]. Las posibles causas de error comprenden:

  • UninitializedContext: el contexto no se inicializó previamente con una clave pública [SWS_CRYPT_50011].
  • CryptoErrc::kUsageViolation: a la clave de encapsulación le falta el flag kAllowKeyWrapping o a la clave de destino le falta kAllowSecuredExport [SWS_CRYPT_50011].
  • CryptoErrc::kInsufficientCapacity: el búfer de salida encapsulatedKey no ofrece suficiente capacidad [SWS_CRYPT_50011].
  • CryptoErrc::kUnknownIdentifier o CryptoErrc::kUnsupported: la algId es desconocida o no se admite la generación durante la encapsulación [SWS_CRYPT_50011].
  • CryptoErrc::kEmptyKeySlot o CryptoErrc::kBusyResource: un KeySlot configurado está vacío o un recurso requerido está ocupado [SWS_CRYPT_50011].

Concurrencia e interacción

La operación está especificada como const, noexcept, thread-safe y exception-safe [SWS_CRYPT_50011]. En comparación con la sobrecarga [SWS_CRYPT_21813], a la cual se le pasa una clave existente y que solo devuelve el tamaño de esta, este método ejecuta la generación de clave y la encapsulación en un paso conjunto [SWS_CRYPT_50011].

Este texto fue creado por una IA sobre la base de la especificación.

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

Parameter (in)

ParameterBeschreibung
algIdthe identifier of the target symmetric crypto algorithm
allowedUsagethe flags that define a list of allowed transformations’ types in which the target key can be used

Parameter (out)

ParameterBeschreibung
encapsulatedKeyan output buffer the encapsulated key is written to

Rückgabewert

TypBeschreibung
ara::core::Result<std::pair< std::size_t, SymmetricKey::Sptr > >a result containing a pair of the size of the encapsulated key and the generated symmetric key or an error

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by a public key value
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the encapsulation key does not include k AllowKeyWrapping or if the allowed usage of the encapsulated key does not include kAllowSecuredExport
CryptoErrc::kInvalidInputSizerollback_semantics if this context does not support the size of the encapsulated key
CryptoErrc::kUnsupportedrollback_semantics if this context does not support generating the encapsulated key during encapsulation
ara::crypto::CryptoErrc::kUnknownIdentifierrollback_semantics if algId has an unsupported value
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 via SetKey that is currently is empty
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowKeyWrapping

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50011
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50011@rel:R25-11#45667d0b
Content hash
45667d0b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50011
Status: valid/unmigrated Version: rel:R25-11#7f7fdb0c 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_50011@rel:R25-11#7f7fdb0c
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 GetRequiredOutputBufferSize [SWS_CRYPT_50013] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > GetRequiredOutputBufferSize (AlgId algId) const noexcept;

Calculate the maximum required size of the output buffer depending on the input size in the current state of the context.

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

Parameter (in)

ParameterBeschreibung
algIdthe algId of the key to encapsulate

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_50013
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50013@rel:R25-11#b8d1e6d1
Content hash
b8d1e6d1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50013
Status: valid/unmigrated Version: rel:R25-11#8834a17a 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_50013@rel:R25-11#8834a17a
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_21815] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

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

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

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

usar

El método SetKey configura la instancia de ara::crypto::cryp::KeyEncapsulatorPublicCtx de modo que el objeto de clave transmitido se utilice como clave de encapsulamiento [SWS_CRYPT_21815]. Como parámetro sirve key del tipo PublicKey::Sptr [SWS_CRYPT_21815]. La llamada se realiza de forma síncrona y devuelve como valor de retorno un ara::core::Result<void> que está vacío en caso de éxito o transporta un código de error [SWS_CRYPT_21815].

Manejo de errores

En caso de error, todos los códigos de error notificados poseen semántica de reversión [SWS_CRYPT_21815]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: el objeto de clave proporcionado es incompatible con el contexto [SWS_CRYPT_21815].
  • ara::crypto::CryptoErrc::kUsageViolation: el uso permitido de la clave no incluye el indicador kAllowKeyWrapping [SWS_CRYPT_21815].
  • ara::crypto::CryptoErrc::kUnsupported: el contexto admite exclusivamente el establecimiento de una clave a través de un KeySlot [SWS_CRYPT_21815].

Concurrencia y restricciones

La función está especificada como thread-safe y exception safe con garantía de noexcept [SWS_CRYPT_21815].

Interacción

Mediante la configuración de la clave, el contexto se prepara para el encapsulamiento de claves, el cual se lleva a cabo a través del método Encapsulate [SWS_CRYPT_50011]. En caso de que el contexto no admita la asignación directa de clave o se deba obtener la clave a partir de una zona de memoria, se encuentra disponible como alternativa la sobrecarga de SetKey con un KeySlot::Sptr [SWS_CRYPT_50012].

Esta nota de uso ha sido generada por una IA y se basa en las especificaciones de la versión R25-11.

Guía del implementador pendiente (complejidad I2)

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

Parameter (in)

ParameterBeschreibung
keythe key encapsulation key

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 context
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowKeyWrapping
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_21815
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_21815@rel:R25-11#c4d8df72
Content hash
c4d8df72
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_21815
Status: valid/unmigrated Version: rel:R25-11#135664c1 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_21815@rel:R25-11#135664c1
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#97afebd22026-09-30
  • R20-11rel:R20-11#3e034d832026-10-14
  • R21-11rel:R21-11#14e868c82026-10-14
  • R22-11rel:R22-11#c056496f2026-10-14
  • R23-11rel:R23-11#4a9295802026-10-14
  • R24-11rel:R24-11#6638cae22026-10-14
  • R25-11rel:R25-11#135664c12026-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_50012] 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 encapsulation is performed.

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

El método SetKey de la clase ara::crypto::cryp::KeyEncapsulatorPublicCtx configura el contexto de modo que la clave pública almacenada en un slot de claves transferido (KeySlot) se utilice en el momento de la encapsulación de clave [SWS_CRYPT_50012].

usar

La llamada se ejecuta de forma sincrónica y está especificada como noexcept así como exception safe [SWS_CRYPT_50012]. Como parámetro sirve keySlot de tipo KeySlot::Sptr, el cual debe contener una clave pública [SWS_CRYPT_50012]. El valor de retorno es un ara::core::Result<void> que, en caso de éxito, no contiene ningún valor [SWS_CRYPT_50012].

Manejo de errores

En caso de error, se devuelve un código de error con semántica de reversión [SWS_CRYPT_50012]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: el keySlot transferido es incompatible con este contexto [SWS_CRYPT_50012].
  • ara::crypto::CryptoErrc::kUnsupported: El contexto solo admite el establecimiento de un objeto PublicKey [SWS_CRYPT_50012].

Concurrencia e interacción

La función está definida como thread-safe [SWS_CRYPT_50012]. Además de la asignación mediante un slot de claves, existe una sobrecarga alternativa para la transferencia directa de un PublicKey::Sptr [SWS_CRYPT_21815]. La clave configurada se emplea en cuanto se lleva a cabo la encapsulación de clave mediante Encapsulate [SWS_CRYPT_50011]. En cuanto al orden, presumiblemente SetKey debe ejecutarse antes de la llamada a Encapsulate para que el contexto esté inicializado. Pregunta Q-769923d4fb9a3d1e (abierta)

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/key_encapsulator_public_ctx.h"
Scopeclass ara::crypto::cryp::KeyEncapsulatorPublicCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
keySlota keyslot containing a public 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 PublicKey

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

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

Documentación de los alias de tipo

alias de tipo Sptr [SWS_CRYPT_21801] Upstream: RS_CRYPTO_02209

using Sptr = std::shared_ptr<KeyEncapsulatorPublicCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/key_encapsulator_public_ctx.h"
Scopeclass ara::crypto::cryp::KeyEncapsulatorPublicCtx
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_21801
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_21801@rel:R25-11#06a39f4e
Content hash
06a39f4e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_21801
Status: valid/unmigrated Version: rel:R25-11#6c7506e9 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_21801@rel:R25-11#6c7506e9
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d5df06eb2026-09-30
  • R19-11rel:R19-11#3a23dd282026-10-14
  • R20-11rel:R20-11#b2bfbd8b2026-10-14
  • R21-11rel:R21-11#b2bfbd8b2026-10-14
  • R22-11rel:R22-11#1b749d9b2026-10-14
  • R23-11rel:R23-11#7bb57d5b2026-10-14
  • R24-11rel:R24-11#7bb57d5b2026-10-14
  • R25-11rel:R25-11#6c7506e92026-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