DEENESPTFRRUARHIKOZHNL

clase ara::crypto::cryp::ProtectedKeyImportCtx

[SWS_CRYPT_50084] Upstream: RS_CRYPTO_02105

class ProtectedKeyImportCtx :            public CryptoContext {...};

A contexts for importing secured data such as secret key-material.

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

Guía del usuarioGENERADO POR IA

Sirve para desempaquetar e importar de forma segura claves y datos criptográficos protegidos en una aplicación.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: a42cd9e6f52b Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve para desempaquetar e importar de forma segura claves y datos criptográficos protegidos en una aplicación.

La interfaz permite desempaquetar e importar de forma segura datos y claves criptográficos protegidos con ayuda de una clave de transporte configurada [SWS_CRYPT_50205]. El material de clave desempaquetado puede escribirse directamente en una ranura de clave persistente o cargarse en memoria tipificado como objeto de clave [SWS_CRYPT_50207]. Todos los métodos son seguros para subprocesos y siguen una semántica estricta de reversión en caso de error, mientras que Reset garantiza el borrado sin residuos de los búferes internos [SWS_CRYPT_50212].

Contexto

La interfaz ara::crypto::cryp::ProtectedKeyImportCtx proporciona un contexto criptográfico para importar y desempaquetar de forma segura en el sistema estructuras de datos protegidas, como material de clave secreta. El contexto actúa como intermediario entre una aplicación solicitante, un mecanismo de protección basado en una clave de transporte y las estructuras de destino de la criptografía de AUTOSAR. El contexto autentica, descifra y analiza los paquetes de datos serializados entrantes [SWS_CRYPT_50207]. Como fuentes para la clave de transporte requerida sirven o bien objetos de clave simétrica independientes [SWS_CRYPT_50205] o bien ranuras de clave de un almacenamiento de claves [SWS_CRYPT_50206]. Como destino, los objetos de clave desempaquetados pueden transferirse directamente a la aplicación que realiza la llamada o serializarse inmediatamente en una ranura de clave escribible [SWS_CRYPT_50207].

Ciclo de vida

Por lo general, el contexto se gestiona para el acceso compartido a través del tipo de puntero inteligente proporcionado Sptr [SWS_CRYPT_50085]; en este sentido, es de suponer que las instancias son proporcionadas por un componente de controlador criptográfico competente. Pregunta Q-3517b24b5eec4529 (abierta) Antes del procesamiento real, el contexto se encuentra en un estado inicial no configurado en el que todavía no se ha asignado ninguna clave de transporte. La asignación de una clave de transporte se realiza a través del método SetKey, con lo cual el contexto pasa al estado operativo [SWS_CRYPT_50205] [SWS_CRYPT_50206].

Tras la ejecución exitosa de la operación Import, el contexto conserva los datos y metadatos desempaquetados en búferes internos, de modo que se puede identificar el tipo de objeto y leer los objetos de clave [SWS_CRYPT_50207] [SWS_CRYPT_50208]. Mediante el método Reset, el contexto se restablece de nuevo a su estado inicial: todos los búferes internos con datos importados previamente se limpian por completo y se elimina la clave de transporte guardada [SWS_CRYPT_50212]. Todos los métodos de interfaz están especificados como seguros frente a excepciones y seguros para subprocesos, lo que permite controlar accesos concurrentes desde múltiples contextos de ejecución [SWS_CRYPT_50207].

ProtectedKeyImportCtxStates Start Uninitialized Inicial / Restablecimiento (Sin clave de transporte) Start->Uninitialized KeyConfigured Clave de transporte configurada Uninitialized->KeyConfigured SetKey() KeyConfigured->Uninitialized Reset() KeyConfigured->KeyConfigured SetKey() DataImported Daten importiert (Ergebnisse abrufbar) KeyConfigured->DataImported Import() DataImported->Uninitialized Reset() DataImported->DataImported Import()

Diagrama de estados: fases del ciclo de vida del contexto, desde la configuración y la importación hasta la limpieza. Fuentes: [SWS_CRYPT_50205], [SWS_CRYPT_50206], [SWS_CRYPT_50207], [SWS_CRYPT_50212]

Ruta de uso

El flujo de trabajo regular comienza con la configuración de la clave de transporte. Para ello, la aplicación llama a SetKey ya sea con un SymmetricKey::Sptr [SWS_CRYPT_50205] o con un KeySlot::Sptr [SWS_CRYPT_50206]. En el siguiente paso se ejecuta el método Import, al que se le pasa el paquete de datos serializado como ReadOnlyMemRegion [SWS_CRYPT_50207]. Si la clave se va a almacenar de forma persistente, opcionalmente se puede pasar directamente un WriteableKeySlot::Sptr en el que se escribe el material desempaquetado [SWS_CRYPT_50207].

Si no se especificó ninguna ranura de destino o si la clave se va a utilizar de forma volátil, la aplicación determina mediante GetCryptoObjectType la categoría del último objeto importado [SWS_CRYPT_50208]. A partir de este tipo, la aplicación llama al método de obtención adecuado según el tipo: GetPrivateKey para claves privadas [SWS_CRYPT_50209], GetPublicKey para claves públicas [SWS_CRYPT_50211] o GetSymmetricKey para material de clave simétrica [SWS_CRYPT_50210]. Si el protocolo de importación utilizado requiere una respuesta al remitente (como ocurre, por ejemplo, con los bloques de control M4 y M5 de una secuencia LoadKey de SHE), esta puede escribirse en un búfer proporcionado a través de GetResponse [SWS_CRYPT_41020]. Tras finalizar la secuencia de procesamiento, una llamada a Reset restablece el contexto de nuevo al estado inicial [SWS_CRYPT_50212].

Flujo durante la importación y obtención de material de claveAplicaciónProtectedKeyImportCtxWriteableKeySlotSetKey(key)Result<void>Import(serialized, keySlot)optkeySlot transferidoSerializar directamente material de claveResult<void>GetCryptoObjectType()Result<CryptoObjectType>GetSymmetricKey()Result<SymmetricKey::Sptr>Reset()Result<void>

Diagrama de secuencia: secuencia típica de llamadas durante la importación y lectura de material de clave. Fuentes: [SWS_CRYPT_50205], [SWS_CRYPT_50207], [SWS_CRYPT_50208], [SWS_CRYPT_50210], [SWS_CRYPT_50212]

Escenarios de error

Si ocurre un error durante una llamada a un método, se aplica una estricta semántica de reversión que preserva el estado previo a la llamada. En la configuración a través de SetKey, la llamada falla con CryptoErrc::kUsageViolation si el indicador de uso de la clave no contiene el permiso kAllowKeyUnwrapping [SWS_CRYPT_50205] [SWS_CRYPT_50206]. Si el objeto de clave o la ranura referenciada no se pueden utilizar en principio como clave de transporte, se notifica CryptoErrc::kIncompatibleObject [SWS_CRYPT_50205] [SWS_CRYPT_50206].

Al llamar a Import, las discrepancias de tamaño de los datos de entrada provocan CryptoErrc::kInvalidInputSize y las infracciones de formato dan lugar a CryptoErrc::kInvalidArgument [SWS_CRYPT_50207]. Si falla la comprobación de integridad o autenticidad de la capa de protección (p. ej., debido a un Message Authentication Code no válido o una firma errónea), la llamada devuelve CryptoErrc::kAuthTagNotValid [SWS_CRYPT_50207]. Si el componente criptográfico está ocupado temporalmente, esto se señaliza mediante CryptoErrc::kBusyResource [SWS_CRYPT_50207].

La condición previa para la lectura de claves importadas es la ejecución exitosa de Import; de lo contrario, GetPrivateKey, GetPublicKey y GetSymmetricKey responden con CryptoErrc::kProcessingNotFinished [SWS_CRYPT_50209] [SWS_CRYPT_50210] [SWS_CRYPT_50211]. Si el tipo de clave solicitado no coincide con el objeto realmente desempaquetado o si todavía no se ha importado ningún objeto, los métodos de obtención lo confirman con CryptoErrc::kNoSuchValue [SWS_CRYPT_50208] [SWS_CRYPT_50209] [SWS_CRYPT_50210] [SWS_CRYPT_50211]. Si el búfer de salida en GetResponse no ofrece suficiente capacidad, esto da como resultado CryptoErrc::kInsufficientCapacity [SWS_CRYPT_41020]. Si la implementación concreta no admite una función parcial (p. ej., determinados tipos de clave o el restablecimiento), se devuelve uniformemente CryptoErrc::kUnsupported [SWS_CRYPT_50205] [SWS_CRYPT_50208] [SWS_CRYPT_50212].

Esta guía de clases se basa en la especificación de 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__ProtectedKeyImportCtx279 ProtectedKeyImportCtx + GetCryptoObjectType() + GetPrivateKey() + GetPublicKey() + GetResponse() + GetSymmetricKey() + Import() + Reset() + SetKey() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__ProtectedKeyImportCtx279->nara__crypto__cryp__CryptoContext85

Vista de detalle

Selecciona una entrada en el índice.

Métodos

The interface shall return the type of the last successfully unwrapped CryptoObject.

virtual ara::core::Result< CryptoObjectType > GetCryptoObjectType () const noexcept=0;
GetPrivateKey función

The interface shall return a shared pointer to the unwrapped PrivateKey.

virtual ara::core::Result< PrivateKey::Sptr > GetPrivateKey () const noexcept=0;
GetPublicKey función

The interface shall return a shared pointer to the unwrapped PublicKey.

virtual ara::core::Result< PublicKey::Sptr > GetPublicKey () const noexcept=0;
GetResponse función

The interface shall write the response of the CryptoProvider to the last invocation of Import into the provided output buffer. E.g., this interface could return M4/M5 of a SHE LoadKey operation.

virtual ara::core::Result< std::size_t > GetResponse (ReadWriteMem Region responseBuffer) const noexcept=0; DIRECTION NOT responseBuffer -- DEFINED

The interface shall return a shared pointer to the unwrapped SymmetricKey.

virtual ara::core::Result< SymmetricKey::Sptr > GetSymmetricKey () const noexcept=0;
Import función

The interface shall unwrap the protected data provided, parse the content, and make the parsed content (key-material and meta-data) available for retrieval by the application. If optionally a Key Slot is specified, the unwrapped key material shall be directly serialized into the KeySlot.

virtual ara::core::Result< void > Import (ReadOnlyMemRegion serialized, ara::core::Optional< WriteableKeySlot::Sptr > keySlot) noexcept=0;
Reset función

The interface shall restore the context to its initial state by ensuring that no key-import-key is set and all previously imported data is deleted from the ProtectedKeyImportCtx’s internal buffers.

virtual ara::core::Result< void > Reset () const noexcept=0;
SetKey función 2

The interface shall configure the context to use the provided symmetric key as transport key.

Sobrecargas SetKey 2
virtual ara::core::Result< void > SetKey (SymmetricKey::Sptr key) noexcept=0; SWS_CRYPT_50205
virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0; SWS_CRYPT_50206

Alias de tipo

Sptr alias de tipo

Smart pointer of the interface.

Documentación de los métodos

función GetCryptoObjectType [SWS_CRYPT_50208] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< CryptoObjectType > GetCryptoObjectType () const noexcept=0;

The interface shall return the type of the last successfully unwrapped CryptoObject.

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

Rückgabewert

TypBeschreibung
ara::core::Result< CryptoObjectType >the CryptoObjectType of the last unwrapped CryptoObject

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support identifying imported objects
ara::crypto::CryptoErrc::kNoSuchValuerollback_semantics if no CryptoObject has been imported yet

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50208
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50208@rel:R25-11#d013fba4
Content hash
d013fba4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50208
Status: valid/unmigrated Version: rel:R25-11#5d802913 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_50208@rel:R25-11#5d802913
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 GetPrivateKey [SWS_CRYPT_50209] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< PrivateKey::Sptr > GetPrivateKey () const noexcept=0;

The interface shall return a shared pointer to the unwrapped PrivateKey.

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

El método GetPrivateKey de la clase ara::crypto::cryp::ProtectedKeyImportCtx (proporcionado a través del encabezado #include "ara/crypto/cryp/protected_key_import_ctx.h") sirve para recuperar un shared pointer a una clave privada (PrivateKey::Sptr) previamente importada y desempaquetada ([SWS_CRYPT_50209]). La interfaz no tiene parámetros de transferencia y devuelve el resultado de forma síncrona como ara::core::Result<PrivateKey::Sptr> ([SWS_CRYPT_50209]).

Para la ejecución se aplican especificaciones vinculantes relativas al orden, la concurrencia y la seguridad frente a excepciones: el método está especificado como thread-safe y exception safe, y declarado con noexcept ([SWS_CRYPT_50209]). Un requisito previo obligatorio para la recuperación correcta es que previamente se haya ejecutado con éxito una operación de importación dentro del contexto ([SWS_CRYPT_50209]).

Si se produce un error durante la provisión, se aplica una semántica de reversión para todas las situaciones de error ([SWS_CRYPT_50209]). El Result devuelto contiene en este caso uno de los siguientes códigos de error específicos:

  • ara::crypto::CryptoErrc::kProcessingNotFinished: El paso de importación previo aún no se ha ejecutado con éxito ([SWS_CRYPT_50209]).
  • ara::crypto::CryptoErrc::kNoSuchValue: El último CryptoObject importado no es una clave privada ([SWS_CRYPT_50209]).
  • ara::crypto::CryptoErrc::kUnsupported: El contexto no admite fundamentalmente la importación de claves privadas ([SWS_CRYPT_50209]).

Esta nota de uso fue creada por una IA a partir de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad I1)

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

Rückgabewert

TypBeschreibung
ara::core::Result<PrivateKey::Sptr >a PrivateKey shared pointer

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support importing private keys
ara::crypto::CryptoErrc::kNoSuchValuerollback_semantics if the last imported CryptoObject is not a PrivateKey
ara::crypto::CryptoErrc::kProcessingNotFinishedrollback_semantics if Import has not been executed successfully before

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50209
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50209@rel:R25-11#7f6b4471
Content hash
7f6b4471
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50209
Status: valid/unmigrated Version: rel:R25-11#5671d7cb 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_50209@rel:R25-11#5671d7cb
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 GetPublicKey [SWS_CRYPT_50211] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< PublicKey::Sptr > GetPublicKey () const noexcept=0;

The interface shall return a shared pointer to the unwrapped PublicKey.

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

El método GetPublicKey de la clase ara::crypto::cryp::ProtectedKeyImportCtx sirve para la recuperación síncrona de un puntero a una clave pública importada y desempaquetada previamente ([SWS_CRYPT_50211]). La función no acepta parámetros de entrada y devuelve el resultado con seguridad de tipos como ara::core::Result<PublicKey::Sptr> ([SWS_CRYPT_50211]).

Antes de la llamada debe haberse completado con éxito una operación de importación; de lo contrario, la llamada falla y devuelve el código de error ara::crypto::CryptoErrc::kProcessingNotFinished ([SWS_CRYPT_50211]). Si el último objeto criptográfico importado no era una clave pública, esto da como resultado el error ara::crypto::CryptoErrc::kNoSuchValue ([SWS_CRYPT_50211]). Siempre que el contexto de importación concreto no admita en absoluto la incorporación de claves públicas, se notifica ara::crypto::CryptoErrc::kUnsupported ([SWS_CRYPT_50211]). En todos los errores especificados, la interfaz garantiza una semántica de reversión ([SWS_CRYPT_50211]).

En cuanto a la concurrencia y la tolerancia a fallos, el método está especificado como thread-safe y exception-safe, y no lanza excepciones de C++ (noexcept) ([SWS_CRYPT_50211]).

Funcionalmente, este mecanismo de importación se diferencia de otras interfaces: mientras que aquí se desempaqueta un objeto protegido, la función homónima en ara::crypto::cryp::PrivateKey ([SWS_CRYPT_22511]) devuelve la clave pública de una clave privada existente generada, por ejemplo, previamente mediante GeneratePrivateKey ([SWS_CRYPT_20722]).

Este texto fue generado por una IA a partir de las especificaciones requeridas.

Guía del implementador pendiente (complejidad I1)

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

Rückgabewert

TypBeschreibung
ara::core::Result< PublicKey::Sptr >a PublicKey shared pointer

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support importing public keys
ara::crypto::CryptoErrc::kNoSuchValuerollback_semantics if the last imported CryptoObject is not a PublicKey
ara::crypto::CryptoErrc::kProcessingNotFinishedrollback_semantics if Import has not been executed successfully before

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50211
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50211@rel:R25-11#4bb8ec13
Content hash
4bb8ec13
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50211
Status: valid/unmigrated Version: rel:R25-11#88d8898d 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_50211@rel:R25-11#88d8898d
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 GetResponse [SWS_CRYPT_41020] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< std::size_t > GetResponse (ReadWriteMem Region responseBuffer) const noexcept=0; DIRECTION NOT           responseBuffer               -- DEFINED

The interface shall write the response of the CryptoProvider to the last invocation of Import into the provided output buffer. E.g., this interface could return M4/M5 of a SHE LoadKey operation.

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >the number of Bytes written to the output buffer

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not provide a response
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small

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

Record
AUTOSAR/AP/record/SWS_CRYPT_41020
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_41020@rel:R25-11#3f537f94
Content hash
3f537f94
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_41020
Status: valid/unmigrated Version: rel:R25-11#7021196a Versionshistorie & Revisions (1 transition, 3 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_41020@rel:R25-11#7021196a
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#68728cfb2026-09-30
  • R24-11rel:R24-11#6d10911c2026-10-14
  • R25-11rel:R25-11#7021196a2026-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 GetSymmetricKey [SWS_CRYPT_50210] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< SymmetricKey::Sptr > GetSymmetricKey () const noexcept=0;

The interface shall return a shared pointer to the unwrapped SymmetricKey.

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

El método GetSymmetricKey de la clase ara::crypto::cryp::ProtectedKeyImportCtx devuelve un shared pointer a una clave simétrica desempaquetada (SymmetricKey::Sptr) [SWS_CRYPT_50210]. La llamada se realiza de forma síncrona, está declarada como const y noexcept, y no acepta parámetros [SWS_CRYPT_50210].

Para una recuperación correcta deben cumplirse determinadas condiciones previas y secuencias de orden [SWS_CRYPT_50210]:

  • Previamente debe haberse completado con éxito un proceso de importación; de lo contrario, la llamada falla con el código de error ara::crypto::CryptoErrc::kProcessingNotFinished [SWS_CRYPT_50210].
  • Si el último objeto criptográfico importado no es una clave simétrica, el método devuelve ara::crypto::CryptoErrc::kNoSuchValue [SWS_CRYPT_50210].
  • En caso de que el contexto de importación seleccionado no admita de forma general la importación de claves simétricas, se notifica el error ara::crypto::CryptoErrc::kUnsupported [SWS_CRYPT_50210].

En lo relativo a la seguridad de ejecución, la interfaz está especificada como segura frente a subprocesos (thread-safe) y segura frente a excepciones (exception-safe) [SWS_CRYPT_50210]. Todos los casos de error definidos ofrecen una semántica de reversión, de modo que el estado del contexto permanece inalterado en caso de error [SWS_CRYPT_50210].

Este texto ha sido generado por una IA sobre la base de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad I1)

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

Rückgabewert

TypBeschreibung
ara::core::Result<SymmetricKey::Sptr >a SymmetricKey shared pointer

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support importing symmetric keys
ara::crypto::CryptoErrc::kNoSuchValuerollback_semantics if the last imported CryptoObject is not a SymmetricKey
ara::crypto::CryptoErrc::kProcessingNotFinishedrollback_semantics if Import has not been executed successfully before

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50210
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50210@rel:R25-11#2b535b55
Content hash
2b535b55
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50210
Status: valid/unmigrated Version: rel:R25-11#6f999a76 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_50210@rel:R25-11#6f999a76
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 Import [SWS_CRYPT_50207] Upstream: RS_CRYPTO_02105

virtual ara::core::Result< void > Import (ReadOnlyMemRegion serialized, ara::core::Optional< WriteableKeySlot::Sptr > keySlot) noexcept=0;

The interface shall unwrap the protected data provided, parse the content, and make the parsed content (key-material and meta-data) available for retrieval by the application. If optionally a Key Slot is specified, the unwrapped key material shall be directly serialized into the KeySlot.

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

usar

El método síncrono Import de la clase ara::crypto::cryp::ProtectedKeyImportCtx desempaqueta datos de clave protegidos del área de memoria serialized ([SWS_CRYPT_50207]). Analiza el contenido de los datos y pone a disposición el material de clave extraído, así como los metadatos para su posterior recuperación. Si opcionalmente se suministra un WriteableKeySlot, el material de clave se serializa directamente en este slot ([SWS_CRYPT_50207]). Interpretación: Si no se suministra un keySlot, el material de clave permanece presumiblemente de forma exclusiva en el estado del contexto de importación. Pregunta Q-130f11475af1bb33 (abierta)

Manejo de errores

La función devuelve un ara::core::Result<void>. Si la operación falla, se aplica una semántica de reversión (rollback) para todos los códigos de error ([SWS_CRYPT_50207]):

  • ara::crypto::CryptoErrc::kInvalidInputSize: El tamaño de entrada de serialized es inesperado ([SWS_CRYPT_50207]).
  • ara::crypto::CryptoErrc::kInvalidArgument: Los datos serializados no corresponden al formato esperado ([SWS_CRYPT_50207]).
  • ara::crypto::CryptoErrc::kAuthTagNotValid: La comprobación de autenticación (MAC o firma) falla ([SWS_CRYPT_50207]).
  • ara::crypto::CryptoErrc::kBusyResource: la operación no se puede ejecutar temporalmente ([SWS_CRYPT_50207]).

Concurrencia e interacción

El método es seguro para subprocesos y seguro frente a excepciones (noexcept) ([SWS_CRYPT_50207]). Tras una llamada exitosa, el objeto de clave desempaquetado puede recuperarse del contexto mediante GetPrivateKey ([SWS_CRYPT_50209]), GetSymmetricKey ([SWS_CRYPT_50210]) o GetPublicKey ([SWS_CRYPT_50211]). Si el protocolo subyacente requiere una confirmación al emisor, GetResponse ([SWS_CRYPT_41020]) proporciona la respuesta del proveedor criptográfico. Para formatos de clave no protegidos, sirven alternativamente los métodos ImportPublicKey ([SWS_CRYPT_20732]), ImportSymmetricKey ([SWS_CRYPT_50014]) y ImportPrivateKey ([SWS_CRYPT_50132]) de la clase de fábrica CryptoProvider.

Este texto ha sido generado por una IA sobre la base de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad I1)

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

Parameter (in)

ParameterBeschreibung
serializedthe memory region that contains the serialized import data
keySlotan optional WriteableKeySlot to directly store the imported key

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if serialized cannot be unwrapped due to an unexpected size
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if serialized does not conform to the specified import format
ara::crypto::CryptoErrc::kAuthTagNotValidrollback_semantics if serialized cannot be authenticated (MAC or signature invalid)
ara::crypto::CryptoErrc::kBusyResourcerollback_semantics if the operation temporarily cannot be performed

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50207
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50207@rel:R25-11#5a677442
Content hash
5a677442
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50207
Status: valid/unmigrated Version: rel:R25-11#2008288d 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_50207@rel:R25-11#2008288d
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 Reset [SWS_CRYPT_50212] Upstream: RS_CRYPTO_02105

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

The interface shall restore the context to its initial state by ensuring that no key-import-key is set and all previously imported data is deleted from the ProtectedKeyImportCtx’s internal buffers.

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

El método Reset restablece la instancia de ara::crypto::cryp::ProtectedKeyImportCtx a su estado inicial [SWS_CRYPT_50212]. Al hacerlo, la interfaz garantiza que ya no quede establecida ninguna Key-Import-Key (KIK) y que todos los datos importados previamente se borren por completo de los búferes internos del contexto [SWS_CRYPT_50212].

La llamada se realiza de forma síncrona y, conforme a la especificación, está clasificada como thread-safe y exception safe [SWS_CRYPT_50212]. El método declara la firma virtual ara::core::Result<void> Reset() const noexcept = 0; y requiere la inclusión del encabezado ara/crypto/cryp/protected_key_import_ctx.h [SWS_CRYPT_50212].

Manejo de errores

El resultado se devuelve a través de ara::core::Result<void> [SWS_CRYPT_50212]. Si la operación falla, la interfaz devuelve un código de error:

  • ara::crypto::CryptoErrc::kUnsupported: Ocurre si el contexto específico no admite el restablecimiento de su estado (semántica de reversión) [SWS_CRYPT_50212].

Esta nota de uso se ha generado automáticamente a partir de la especificación SWS_CRYPT_50212.

Guía del implementador pendiente (complejidad I1)

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context does not support resetting its’ state.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50212
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50212@rel:R25-11#fd3861e5
Content hash
fd3861e5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50212
Status: valid/unmigrated Version: rel:R25-11#953ca1ec 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_50212@rel:R25-11#953ca1ec
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_50205] Upstream: RS_CRYPTO_02105

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

The interface shall configure the context to use the provided symmetric key as transport key.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: bb7a4eb711ea 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::ProtectedKeyImportCtx configura el contexto de modo que el objeto de clave simétrica suministrado key (SymmetricKey::Sptr) se utilice como clave de transporte [SWS_CRYPT_50205]. La llamada se realiza de forma síncrona y devuelve un ara::core::Result<void> [SWS_CRYPT_50205].

Manejo de errores

Si se produce un error durante la configuración, este se notifica con semántica de reversión (rollback), de modo que el estado anterior del contexto permanece inalterado [SWS_CRYPT_50205]. Se definen los siguientes códigos de error:

  • ara::crypto::CryptoErrc::kUnsupported: Se devuelve si el contexto admite exclusivamente la asignación de un KeySlot [SWS_CRYPT_50205].
  • ara::crypto::CryptoErrc::kIncompatibleObject: El objeto de clave proporcionado no puede utilizarse como clave de transporte [SWS_CRYPT_50205].
  • ara::crypto::CryptoErrc::kUsageViolation: Los flags de uso de la clave no contienen el permiso requerido kAllowKeyUnwrapping [SWS_CRYPT_50205].

Concurrencia e interacción

La operación está especificada como segura para subprocesos (thread-safe) y segura frente a excepciones (exception safe), y no lanza excepciones (noexcept) [SWS_CRYPT_50205]. Mientras que contextos como SymmetricKeyWrapperCtx vinculan una clave para protegerla o encapsularla (wrapping) [SWS_CRYPT_24018], la clave sirve aquí para la importación de claves protegidas. La condición de error kUnsupported hace referencia además a arquitecturas en las que los contextos se configuran alternativamente mediante un KeySlot [SWS_CRYPT_50034]. Interpretación: Es de suponer que la asignación de la clave de transporte debe completarse obligatoriamente antes de las operaciones de importación posteriores. Pregunta Q-f1f3eab5ab896b1b (abierta)

Esta nota de uso fue generada automáticamente sobre la base de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad I2)

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

Parameter (in)

ParameterBeschreibung
keysymmetric key object used as transport key

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a KeySlot
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the provided key object cannot be used as transport key
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage flags of the key 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_50205
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50205@rel:R25-11#aa96799f
Content hash
aa96799f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50205
Status: valid/unmigrated Version: rel:R25-11#0c3f97a6 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_50205@rel:R25-11#0c3f97a6
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_50206] Upstream: RS_CRYPTO_02105

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

The interface shall configure the context to use the key stored in the provided KeySlot at the time the import operation is started as the transport key.

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

usar

El método SetKey configura el contexto [SWS_CRYPT_50206] (ara::crypto::cryp::ProtectedKeyImportCtx) de modo que la clave simétrica almacenada en el KeySlot::Sptr keySlot suministrado se utilice como clave de transporte en el momento de iniciar el proceso de importación. La llamada se realiza de forma síncrona y devuelve un ara::core::Result<void>.

Manejo de errores

Si se produce un error durante la configuración, se aplica una semántica de reversión (rollback) [SWS_CRYPT_50206]. Los códigos de error específicos incluyen:

  • ara::crypto::CryptoErrc::kUnsupported: Cuando el contexto admite exclusivamente el establecimiento de un objeto SymmetricKey directo [SWS_CRYPT_50206].
  • ara::crypto::CryptoErrc::kIncompatibleObject: Cuando la clave contenida en el slot no puede utilizarse como clave de transporte [SWS_CRYPT_50206].
  • ara::crypto::CryptoErrc::kUsageViolation: Cuando los flags de uso permitidos de la clave en el KeySlot no contienen el flag kAllowKeyUnwrapping [SWS_CRYPT_50206].

Concurrencia e interacción

La función está especificada como segura frente a excepciones (exception safe) y segura para subprocesos (thread-safe) [SWS_CRYPT_50206]. La clave no se evalúa a partir del slot hasta el inicio de la importación posterior [SWS_CRYPT_50206]. Si bien otros contextos criptográficos como SymmetricKeyWrapperCtx [SWS_CRYPT_50034] o KeyDerivationFunctionCtx [SWS_CRYPT_50010] también pueden integrar slots como fuente de claves, ProtectedKeyImportCtx::SetKey requiere explícitamente el permiso para desempaquetar claves.

Este texto ha sido generado mediante una herramienta de documentación asistida por IA y no sustituye la consulta de las especificaciones oficiales de AUTOSAR.

Guía del implementador pendiente (complejidad I2)

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

Parameter (in)

ParameterBeschreibung
keySlota keyslot containing a symmetric key used as transport key

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if the context only supports setting a SymmetricKey object
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if the key contained in the provided keySlot cannot be used as transport key
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage flags of the key contained in the provided Key Slot does not include kAllowKeyUnwrapping

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50206
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50206@rel:R25-11#05297739
Content hash
05297739
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50206
Status: valid/unmigrated Version: rel:R25-11#099a4256 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_50206@rel:R25-11#099a4256
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_50085] Upstream: RS_CRYPTO_02105

using Sptr = std::shared_ptr<ProtectedKeyImportCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/protected_key_import_ctx.h"
Scopeclass ara::crypto::cryp::ProtectedKeyImportCtx
SymbolSptr

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

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