DEENESPTFRRUARHIKOZHNL

clase ara::crypto::cryp::DecryptorPrivateCtx

[SWS_CRYPT_50155] Upstream: RS_CRYPTO_02201

class DecryptorPrivateCtx :             public CryptoContext {...};

Interface for asymmetric decryption.

Header-Datei#include "ara/crypto/cryp/decryptor_private_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 descifrado asimétrico de datos mediante claves privadas como llamada única o flujo de datos.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 80609e0a7ac2 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Permite el descifrado asimétrico de datos mediante claves privadas como llamada única o flujo de datos.

La interfaz ara::crypto::cryp::DecryptorPrivateCtx sirve para el descifrado asimétrico de textos cifrados en AUTOSAR Adaptive Platform ([SWS_CRYPT_50070]). Antes de la ejecución, debe pasarse obligatoriamente al contexto una clave privada que cuente con la autorización de uso para el descifrado ([SWS_CRYPT_50157]). El procesamiento puede llevarse a cabo opcionalmente en una sola llamada o como un flujo de datos multiparte a través de las fases Start, Update y Finish. Todos los métodos de la interfaz están implementados de manera segura frente a hilos y excepciones.

Contexto

La interfaz ara::crypto::cryp::DecryptorPrivateCtx sirve para el descifrado asimétrico de textos cifrados en el módulo de criptografía de AUTOSAR Adaptive Platform. Como especialización de CryptoContext, proporciona las funciones de transformación criptográfica con las que los criptogramas se vuelven a convertir en texto plano mediante el uso de claves privadas. Entre los interlocutores esenciales se encuentran la aplicación que realiza la llamada y los objetos de clave, que se proporcionan como PrivateKey o a través de un KeySlot. Las instancias de esta interfaz se gestionan habitualmente mediante el puntero inteligente tipado Sptr ([SWS_CRYPT_50156]).

Ciclo de vida

La gestión de DecryptorPrivateCtx se realiza a través del alias ara::crypto::cryp::DecryptorPrivateCtx::Sptr, que está mapeado a std::shared_ptr<DecryptorPrivateCtx> ([SWS_CRYPT_50156]). Interpretación: dado que la clase es una interfaz con métodos virtuales puros, la creación concreta suele llevarse a cabo típicamente a través de una factoría del controlador criptográfico. Pregunta Q-6130603fcaf29ef9 (abierta)

Inmediatamente después de la instanciación, el contexto se encuentra en un estado no inicializado. En este estado, las llamadas operativas de transformación provocan errores. Para la activación debe asignarse una clave privada. Esto se realiza pasando un PrivateKey::Sptr mediante SetKey() ([SWS_CRYPT_50157]) o a través de un KeySlot::Sptr ([SWS_CRYPT_50066]) que encapsula la clave.

Tan pronto como el contexto se configura con una clave válida, pasa al estado Initialized. En este estado, el contexto puede utilizarse directamente para el descifrado de un solo paso o transferirse mediante Start() ([SWS_CRYPT_50067]) al estado de procesamiento Streaming. Durante el streaming, Update() ([SWS_CRYPT_50158]) recibe fragmentos de texto cifrado. La secuencia se completa mediante Finish() ([SWS_CRYPT_50068]) o se cancela mediante Cancel() ([SWS_CRYPT_50069]), tras lo cual el contexto vuelve a estar listo para nuevas operaciones. Todos los métodos de la interfaz están especificados como seguros frente a hilos y seguros frente a excepciones ([SWS_CRYPT_50066], [SWS_CRYPT_50067], [SWS_CRYPT_50070]).

StateMachine Uninitialized Uninitialized Initialized Initialized Uninitialized->Initialized SetKey() Initialized->Initialized SetKey() / Decrypt() Streaming Streaming Initialized->Streaming Start() Streaming->Initialized Finish() / Cancel() Streaming->Streaming Update()

Diagrama de estados: estados del ciclo de vida del contexto, desde la vinculación de la clave y el streaming hasta la finalización. Fuentes: [SWS_CRYPT_50066], [SWS_CRYPT_50157], [SWS_CRYPT_50067], [SWS_CRYPT_50158], [SWS_CRYPT_50068], [SWS_CRYPT_50069], [SWS_CRYPT_50070].

Ruta de uso

Para el descifrado se dispone de dos flujos diferentes: el descifrado sin estado en un solo paso y el procesamiento por streaming en varios pasos. Antes de transferir los datos, la aplicación que realiza la llamada puede consultar las restricciones de entrada permitidas para los textos cifrados mediante GetMinimumChunkSize() ([SWS_CRYPT_50160]) y GetMaximumChunkSize() ([SWS_CRYPT_50071]). Mediante GetRequiredOutputBufferSize() ([SWS_CRYPT_50159]) se puede determinar previamente el tamaño necesario del búfer de salida para Update(), Finish() o Decrypt().

Para cantidades compactas de datos, el descifrado se realiza directamente mediante Decrypt() ([SWS_CRYPT_50070]) tras la configuración de la clave. El criptograma se transforma en un solo paso y se devuelve el número real de bytes descifrados.

Los textos cifrados más grandes o que llegan fragmentados se procesan a través de la ruta de streaming:

  1. Asignación de clave: configuración del contexto mediante SetKey() con un PrivateKey ([SWS_CRYPT_50157]) o KeySlot ([SWS_CRYPT_50066]).
  2. Inicialización: llamada a Start() ([SWS_CRYPT_50067]) para preparar el estado de procesamiento interno.
  3. Procesamiento por bloques: llamada repetida a Update() ([SWS_CRYPT_50158]) para bloques sucesivos de texto cifrado.
  4. Finalización: llamada a Finish() ([SWS_CRYPT_50068]) para procesar el bloque final y concluir el flujo. Como alternativa, la operación puede cancelarse prematuramente mediante Cancel() ([SWS_CRYPT_50069]).
Flujo de un descifrado en streamingAplicaciónDecryptorPrivateCtxSetKey(key)Result<void>Start()Result<void>loopSolange Chunks vorhandenUpdate(in, out)Result<std::size_t>Finish(in, out)Result<std::size_t>

Diagrama de secuencia: secuencia típica de llamadas de un descifrado por streaming multiparte. Fuentes: [SWS_CRYPT_50157], [SWS_CRYPT_50067], [SWS_CRYPT_50158], [SWS_CRYPT_50068].

Escenarios de error

Los métodos de DecryptorPrivateCtx devuelven errores a través de ara::core::Result con códigos de ara::crypto::CryptoErrc y siguen una semántica de reversión (rollback):

Esta guía fue generada por una IA sobre la base de la especificación AUTOSAR R25-11.

Mapa de miembros

Diagrama de clases

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

G nara__crypto__cryp__DecryptorPrivateCtx616 DecryptorPrivateCtx + Cancel() + Decrypt() + Finish() + GetMaximumChunkSize() + GetMinimumChunkSize() + GetRequiredOutputBufferSize() + SetKey() + Start() + Update() nara__crypto__cryp__CryptoContext85 CryptoContext nara__crypto__cryp__DecryptorPrivateCtx616->nara__crypto__cryp__CryptoContext85

Vista de detalle

Selecciona una entrada en el índice.

Métodos

Cancel función

Cancel the ongoing streaming operation that has been initiated by Start() and has not yet been finished.

virtual ara::core::Result< void > Cancel () noexcept=0;
Decrypt función

Decrypt data in a single-call.

virtual ara::core::Result< std::size_t > Decrypt (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;
Finish función

Finalize the decryption.

virtual ara::core::Result< std::size_t > Finish (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Get the maximum input buffer size supported for processing in single calls to Update(), Finish(), or Decrypt() by this context.

virtual ara::core::Result< std::size_t > GetMaximumChunkSize () const noexcept=0;

Get the minimum input buffer size supported for processing in single calls to Update(), Finish(), or Decrypt() by this context.

virtual ara::core::Result< std::size_t > GetMinimumChunkSize () const noexcept=0;

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 (std::size_t inputSize, bool isFinal) const noexcept;
SetKey función 2

Configure the context to use the key stored in the provided KeySlot at the time the decryption is started.

Sobrecargas SetKey 2
virtual ara::core::Result< void > SetKey (KeySlot::Sptr keySlot) noexcept=0; SWS_CRYPT_50066
virtual ara::core::Result< void > SetKey (PrivateKey::Sptr key) noexcept=0; SWS_CRYPT_50157
Start función

Initialize the context for a new decryption.

virtual ara::core::Result< void > Start () noexcept=0;
Update función

Decrypt a data buffer.

virtual ara::core::Result< std::size_t > Update (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Alias de tipo

Sptr alias de tipo

Smart pointer of the interface.

Documentación de los métodos

función Cancel [SWS_CRYPT_50069] Upstream: RS_CRYPTO_02302

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

Cancel the ongoing streaming operation that has been initiated by Start() and has not yet been finished.

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

El método Cancel de la clase ara::crypto::cryp::DecryptorPrivateCtx, definido en ara/crypto/cryp/decryptor_private_ctx.h, cancela una operación de streaming en curso que se inició previamente mediante Start() y aún no ha finalizado [SWS_CRYPT_50069]. La llamada no recibe parámetros de entrada y devuelve como valor devuelto un ara::core::Result<void> [SWS_CRYPT_50069]. Si la cancelación del procesamiento de streaming fue exitosa, el objeto contiene un resultado vacío; de lo contrario, transmite un error ocurrido [SWS_CRYPT_50069]. La interfaz puramente virtual está declarada como noexcept, presenta seguridad total frente a excepciones y está designada como segura para subprocesos frente a accesos concurrentes [SWS_CRYPT_50069].

En el tratamiento de errores y las condiciones de ejecución, se debe observar el orden exacto: si el procesamiento de datos no se inició previamente mediante la llamada al método Start(), la operación falla y devuelve el código de error específico ara::crypto::CryptoErrc::kProcessingNotStarted con semántica de reversión [SWS_CRYPT_50069]. Por lo tanto, el llamador debe asegurarse de que ya exista una operación activa antes de la cancelación para evitar este estado de error [SWS_CRYPT_50069].

En interacción con toda la arquitectura modular de crypt, Cancel sigue un patrón de diseño estandarizado para procesos de streaming con estado. Los contextos criptográficos afines ara::crypto::cryp::VerifierPublicCtx [SWS_CRYPT_50023], ara::crypto::cryp::MessageAuthnCodeCtx [SWS_CRYPT_50027], ara::crypto::cryp::SignerPrivateCtx [SWS_CRYPT_50041], ara::crypto::cryp::SymmetricCipherCtx [SWS_CRYPT_50046], ara::crypto::cryp::HashFunctionCtx [SWS_CRYPT_50058], ara::crypto::cryp::AuthCipherCtx [SWS_CRYPT_50077] y ara::crypto::cryp::EncryptorPublicCtx [SWS_CRYPT_50089] comparten la misma firma, semántica de retorno y tratamiento de errores.

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

Guía del implementador pendiente (complejidad I1)

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

Rückgabewert

TypBeschreibung
ara::core::Result< void >an empty result if the ongoing streaming operation was cancelled successfully, or a result containing an error

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if data processing was not started by a call of the Start() method

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50069
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50069@rel:R25-11#a0c8d522
Content hash
a0c8d522
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50069
Status: valid/unmigrated Version: rel:R25-11#2a0972af 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_50069@rel:R25-11#2a0972af
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 Decrypt [SWS_CRYPT_50070] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > Decrypt (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Decrypt data in a single-call.

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

El método síncrono Decrypt descifra datos de texto cifrado en un solo paso ([SWS_CRYPT_50070]). El búfer de entrada in pasa el texto cifrado como ReadOnlyMemRegion, mientras que el búfer de salida out de tipo ReadWriteMemRegion aloja el texto en claro ([SWS_CRYPT_50070]). En caso de descifrado correcto, la función devuelve a través de ara::core::Result<std::size_t> el número real de bytes escritos, que puede ser menor que la capacidad total de out ([SWS_CRYPT_50070]).

La interfaz está especificada como thread-safe y exception safe ([SWS_CRYPT_50070]). Antes de la llamada, el contexto debe haberse inicializado asignando una clave; de lo contrario, la función fallará con UninitializedContext o, en caso de KeySlot vacío, con ara::crypto::CryptoErrc::kEmptyKeySlot ([SWS_CRYPT_50070]). La clave debe ser compatible con el algoritmo de transformación (de lo contrario, kIncompatibleObject) e incluir el permiso kAllowDataDecryption (de lo contrario, kUsageViolation) ([SWS_CRYPT_50070]).

Para evitar desbordamientos de búfer, la capacidad máxima requerida del búfer de salida puede consultarse de antemano con GetRequiredOutputBufferSize especificando isFinal = true ([SWS_CRYPT_50159]). Si la capacidad de out no es suficiente, el método se interrumpe con ara::crypto::CryptoErrc::kInsufficientCapacity ([SWS_CRYPT_50070]). Además, el tamaño del búfer de entrada in debe encontrarse en el rango comprendido entre GetMinimumChunkSize ([SWS_CRYPT_50160]) y GetMaximumChunkSize ([SWS_CRYPT_50071]); de lo contrario, se devuelve ara::crypto::CryptoErrc::kInvalidInputSize ([SWS_CRYPT_50070]). Otros errores especificados con semántica de reversión son kUnsupported, kInvalidArgument y kBusyResource ([SWS_CRYPT_50070]).

Esta nota de uso se generó de forma automatizada sobre la base de la especificación.

Guía del implementador pendiente (complejidad I1)

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing the ciphertext

Parameter (out)

ParameterBeschreibung
outan output data buffer that the decrypted data is written to

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
UninitializedContextif the context was not initialized by deploying a key
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if single-call decryption is not supported
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
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 kAllowData Decryption
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50070
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50070@rel:R25-11#4138f50e
Content hash
4138f50e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50070
Status: valid/unmigrated Version: rel:R25-11#42aea752 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_50070@rel:R25-11#42aea752
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 Finish [SWS_CRYPT_50068] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > Finish (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Finalize the decryption.

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

El método Finish finaliza síncronamente un proceso de descifrado en el contexto de ara::crypto::cryp::DecryptorPrivateCtx [SWS_CRYPT_50068]. Procesa a través del búfer de entrada in (ReadOnlyMemRegion) el último segmento de criptograma y escribe los datos de texto en claro resultantes en el búfer de salida out (ReadWriteMemRegion) [SWS_CRYPT_50068]. El número de bytes realmente escritos se devuelve como ara::core::Result<std::size_t> y puede ser menor que la capacidad total del búfer de destino out [SWS_CRYPT_50068].

Antes de la llamada, el procesamiento de datos debe haberse iniciado obligatoriamente con Start(); de lo contrario, se notifica el error CryptoErrc::kProcessingNotStarted [SWS_CRYPT_50068]. El tamaño de bloque máximo admisible para in se puede determinar a través de GetMaximumChunkSize() [SWS_CRYPT_50071]; en caso de una longitud de entrada no adecuada, la llamada falla con CryptoErrc::kInvalidInputSize [SWS_CRYPT_50068]. Si out es demasiado pequeño, resulta CryptoErrc::kInsufficientCapacity, pudiendo consultarse el tamaño de búfer necesario mediante GetRequiredOutputBufferSize() [SWS_CRYPT_50068]. Otros posibles errores son CryptoErrc::kInvalidArgument ante datos de criptograma no válidos, así como CryptoErrc::kUnsupported en caso de que el procesamiento de flujo (stream) no esté soportado en el contexto [SWS_CRYPT_50068].

La operación está especificada como thread-safe así como exception safe [SWS_CRYPT_50068]. Gracias a la semántica de reversión indicada, es de esperar que el estado de procesamiento permanezca inalterado ante errores de búfer, de modo que debería ser posible una repetición tras aumentar el tamaño del búfer. Pregunta Q-e2562509449aa32c (abierta)

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

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing a part of the ciphertext

Parameter (out)

ParameterBeschreibung
outan output data buffer that contains decrypted data. The required size of this buffer can be queried using GetRequiredOutputBuffer Size()

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ProcessingNotStartedif data processing was not started by a call of the Start() method
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer cannot be processed
ara::crypto::CryptoErrc::kInvalidArgumentrollback_semantics if the provided input data contains invalid data
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if stream processing is not supported by the context

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50068
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50068@rel:R25-11#c78a6be0
Content hash
c78a6be0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50068
Status: valid/unmigrated Version: rel:R25-11#4e88e7ba 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_50068@rel:R25-11#4e88e7ba
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 GetMaximumChunkSize [SWS_CRYPT_50071] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > GetMaximumChunkSize () const noexcept=0;

Get the maximum input buffer size supported for processing in single calls to Update(), Finish(), or Decrypt() by this context.

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >the maximum buffer size in bytes

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50071
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50071@rel:R25-11#a0ff7929
Content hash
a0ff7929
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50071
Status: valid/unmigrated Version: rel:R25-11#363f8dce 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_50071@rel:R25-11#363f8dce
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 GetMinimumChunkSize [SWS_CRYPT_50160] Upstream: RS_CRYPTO_02309

virtual ara::core::Result< std::size_t > GetMinimumChunkSize () const noexcept=0;

Get the minimum input buffer size supported for processing in single calls to Update(), Finish(), or Decrypt() by this context.

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

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >the minimum buffer size in bytes

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50160
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50160@rel:R25-11#de3d833d
Content hash
de3d833d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50160
Status: valid/unmigrated Version: rel:R25-11#840ff3d7 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_50160@rel:R25-11#840ff3d7
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_50159] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > GetRequiredOutputBufferSize (std::size_t inputSize, bool isFinal) 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/decryptor_private_ctx.h"
Scopeclass ara::crypto::cryp::DecryptorPrivateCtx
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
inputSizesize of input data
isFinalif true, calculate maximum required output buffer size for Finish() or Decrypt(), otherwise for Update()

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 and setting the transformation direction

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50159
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50159@rel:R25-11#8c366872
Content hash
8c366872
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50159
Status: valid/unmigrated Version: rel:R25-11#34d4f358 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_50159@rel:R25-11#34d4f358
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_50066] 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 decryption is started.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ee8ecbdc71ea 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 SetKey configura una instancia de ara::crypto::cryp::DecryptorPrivateCtx para el uso de una clave que está almacenada en un KeySlot pasado [SWS_CRYPT_50066]. Como parámetro se pasa un KeySlot::Sptr, el cual debe contener un PrivateKey [SWS_CRYPT_50066]. La clave efectiva no se consulta hasta el momento en que se inicia la operación de descifrado [SWS_CRYPT_50066]. La función opera de forma síncrona y notifica el resultado mediante ara::core::Result<void> [SWS_CRYPT_50066].

Manejo de errores

En caso de error, se devuelve el código de error correspondiente en ara::core::Result, aplicándose una semántica de reversión [SWS_CRYPT_50066]:

  • ara::crypto::CryptoErrc::kIncompatibleObject: El KeySlot proporcionado no es compatible con el contexto [SWS_CRYPT_50066].
  • ara::crypto::CryptoErrc::kUnsupported: El contexto solo admite el establecimiento directo de un PrivateKey y no admite KeySlots [SWS_CRYPT_50066].

Concurrencia e interacción

La interfaz está declarada como segura frente a hilos (thread-safe) y segura frente a excepciones (exception safe) [SWS_CRYPT_50066]. Dado que la evaluación de la clave no se produce hasta el inicio del descifrado, es de esperar que una actualización del contenido del slot antes de dicho momento de inicio surta efecto. Pregunta Q-ec258ea8b5a1d1c2 (abierta) Mientras que otros contextos criptográficos reciben las claves en parte directamente como instancia (por ejemplo, SignerPrivateCtx [SWS_CRYPT_23515]), este método sigue el patrón de vinculación diferida a través de slots de claves, tal como se utiliza, entre otros, en VerifierPublicCtx [SWS_CRYPT_50018] y KeyDerivationFunctionCtx [SWS_CRYPT_50010].

Este texto fue generado por una IA y sirve como guía orientativa en el estándar AUTOSAR.

Guía del implementador pendiente (complejidad I2)

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

Parameter (in)

ParameterBeschreibung
keySlota keyslot containing a PrivateKey.

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 PrivateKey

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50066
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50066@rel:R25-11#84264014
Content hash
84264014
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50066
Status: valid/unmigrated Version: rel:R25-11#a48ca2e4 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_50066@rel:R25-11#a48ca2e4
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_50157] Upstream: RS_CRYPTO_02001, RS_CRYPTO_02003

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

Configure the context to use the provided key.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 18619bf054a3 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 SetKey configura una instancia de ara::crypto::cryp::DecryptorPrivateCtx para el uso de una clave privada concreta para el descifrado de datos [SWS_CRYPT_50157]. Como parámetro se transfiere una instancia a través de PrivateKey::Sptr key. El valor de retorno es ara::core::Result<void>, mediante el cual se confirma la asignación correcta o se devuelve un error. Es probable que la llamada se ejecute de forma síncrona (interpretación: la interfaz se bloquea hasta la adopción de la clave y no devuelve ningún objeto future asíncrono). Pregunta Q-b8e9b5cb4174e2b2 (abierta)

Manejo de errores

En caso de error, la implementación garantiza una semántica de reversión, de modo que el estado del contexto permanece inalterado ante un error [SWS_CRYPT_50157]. Pueden producirse los siguientes códigos de error:

  • ara::crypto::CryptoErrc::kIncompatibleObject: el objeto de clave transferido no es compatible con este contexto [SWS_CRYPT_50157].
  • ara::crypto::CryptoErrc::kUsageViolation: el uso permitido de la clave no incluye el descifrado de datos (kAllowData Decryption) [SWS_CRYPT_50157].
  • ara::crypto::CryptoErrc::kUnsupported: el contexto no admite el establecimiento directo de un objeto de clave si este está diseñado exclusivamente para la asignación mediante un KeySlot [SWS_CRYPT_50157].

Concurrencia y restricciones

La interfaz está especificada explícitamente como thread-safe y exception safe [SWS_CRYPT_50157]. Garantiza una ejecución segura en entornos concurrentes y no lanza excepciones de C++ (noexcept=0).

Interacción

El procedimiento para la asignación de claves mediante SetKey se aplica de manera uniforme en la Adaptive Platform a través de diversos contextos criptográficos: mientras que contextos asimétricos afines como KeyAgreementPrivateCtx [SWS_CRYPT_21313], KeyDecapsulatorPrivateCtx [SWS_CRYPT_21413] y SignerPrivateCtx [SWS_CRYPT_23515] también utilizan PrivateKey::Sptr, en otros contextos como KeyDerivationFunctionCtx [SWS_CRYPT_50010] o VerifierPublicCtx [SWS_CRYPT_50018] existen variantes alternativas con KeySlot::Sptr.

Esta nota de uso se ha generado de forma automatizada sobre la base de la especificación para AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad I2)

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

Parameter (in)

ParameterBeschreibung
keythe PrivateKey to be used for decryption

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 is incompatible with this context
ara::crypto::CryptoErrc::kUsageViolationrollback_semantics if the allowed usage of the key does not include kAllowData Decryption

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50157
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50157@rel:R25-11#999a3f84
Content hash
999a3f84
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50157
Status: valid/unmigrated Version: rel:R25-11#05a94de8 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_50157@rel:R25-11#05a94de8
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 Start [SWS_CRYPT_50067] Upstream: RS_CRYPTO_02302

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

Initialize the context for a new decryption.

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

La función miembro Start de la clase ara::crypto::cryp::DecryptorPrivateCtx ([SWS_CRYPT_50067]) inicializa de forma síncrona el contexto para un nuevo descifrado. La llamada no acepta parámetros, no lanza excepciones (noexcept) y devuelve un ara::core::Result<void> que, en caso de éxito, está vacío ([SWS_CRYPT_50067]). Para accesos concurrentes, el método está especificado como thread-safe ([SWS_CRYPT_50067]).

Antes de la ejecución debe haber una clave compatible configurada, ya que Start comprueba su estado y permisos ([SWS_CRYPT_50067]). Si la operación falla, se aplica una semántica de reversión ([SWS_CRYPT_50067]). Los códigos de error relevantes son:

  • ara::crypto::CryptoErrc::kUninitializedContext: Todavía no se ha asignado ninguna clave al contexto ([SWS_CRYPT_50067]).
  • ara::crypto::CryptoErrc::kEmptyKeySlot: Un KeySlot configurado está actualmente vacío ([SWS_CRYPT_50067]).
  • ara::crypto::CryptoErrc::kUsageViolation: Los permisos de la clave no permiten el descifrado de datos ([SWS_CRYPT_50067]).
  • ara::crypto::CryptoErrc::kIncompatibleObject: El tipo de clave es incompatible con la transformación ([SWS_CRYPT_50067]).
  • ara::crypto::CryptoErrc::kBusyResource: Un recurso necesario está ocupado ([SWS_CRYPT_50067]).
  • ara::crypto::CryptoErrc::kUnsupported: El contexto no admite el procesamiento por secuencias (stream) ([SWS_CRYPT_50067]).

En el sistema global, el método se corresponde con el ciclo de vida estandarizado de los contextos criptográficos adaptativos, tal como se utiliza de forma comparable en la verificación de firmas ([SWS_CRYPT_50019]), la generación de firmas ([SWS_CRYPT_50037]) o el cálculo de MAC ([SWS_CRYPT_22111]). Interpretación: Es de esperar que sea estrictamente necesaria una llamada a Start antes de pasos de procesamiento adicionales para poner el descifrador en un estado inicial definido. Pregunta Q-7d5a95305eb4626a (abierta)

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

Rückgabewert

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

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kUninitializedContextrollback_semantics if the context was not initialized by deploying a key
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 kAllowData Decryption
ara::crypto::CryptoErrc::kIncompatibleObjectrollback_semantics if type of the key is incompatible to the transformation
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if stream processing is not supported by the context

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50067
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50067@rel:R25-11#d6c2991b
Content hash
d6c2991b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50067
Status: valid/unmigrated Version: rel:R25-11#0df0233a 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_50067@rel:R25-11#0df0233a
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 Update [SWS_CRYPT_50158] Upstream: RS_CRYPTO_02302

virtual ara::core::Result< std::size_t > Update (ReadOnlyMemRegion in, ReadWriteMemRegion out) noexcept=0;

Decrypt a data buffer.

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

usar

El método Update sirve para descifrar un búfer de datos en el contexto de ara::crypto::cryp::DecryptorPrivateCtx [SWS_CRYPT_50158]. La llamada síncrona recibe una sección parcial de texto cifrado en el parámetro in (ReadOnlyMemRegion) y escribe los datos descifrados en el búfer out (ReadWriteMemRegion) [SWS_CRYPT_50158]. Como resultado se devuelve un ara::core::Result<std::size_t>, que contiene el número real de bytes escritos; este valor puede ser menor que la capacidad total de out [SWS_CRYPT_50158].

Interacción y dimensionamiento del búfer

Antes de la ejecución de Update, el procesamiento de datos debe haberse iniciado obligatoriamente mediante la llamada a Start() [SWS_CRYPT_50158]. El tamaño mínimo requerido para out puede consultarse mediante GetRequiredOutputBufferSize() [SWS_CRYPT_50158]. Además, el tamaño máximo de entrada procesable para llamadas individuales a Update se puede determinar a través de GetMaximumChunkSize() [SWS_CRYPT_50071].

Tratamiento de errores y concurrencia

La interfaz está especificada como segura para subprocesos y segura frente a excepciones [SWS_CRYPT_50158]. Todos los casos de error poseen semántica de reversión y devuelven códigos de error específicos en ara::core::Result [SWS_CRYPT_50158]:

  • ara::crypto::CryptoErrc::kProcessingNotStarted: el procesamiento no se inició previamente mediante Start() [SWS_CRYPT_50158].
  • ara::crypto::CryptoErrc::kInsufficientCapacity: el búfer de salida out tiene un tamaño demasiado reducido [SWS_CRYPT_50158].
  • ara::crypto::CryptoErrc::kInvalidInputSize: el tamaño del búfer de entrada transferido no es válido [SWS_CRYPT_50158].
  • ara::crypto::CryptoErrc::kUnsupported: el procesamiento en flujo (stream) no es admitido por el contexto [SWS_CRYPT_50158].

Esta nota de uso se generó de forma automatizada sobre la base de la especificación.

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

Parameter (in)

ParameterBeschreibung
inan input data buffer containing a part of the ciphertext

Parameter (out)

ParameterBeschreibung
outan output data buffer that the decrypted data will be written into. The required size of this buffer can be queried using GetRequired OutputBufferSize()

Rückgabewert

TypBeschreibung
ara::core::Result<std::size_t >a result containing the size of the output data or an error. The output data may be smaller than the size of the output buffer out.

Fehler

FehlercodeBeschreibung
ara::crypto::CryptoErrc::kProcessingNotStartedrollback_semantics if data processing was not started by a call of the Start() method
ara::crypto::CryptoErrc::kInsufficientCapacityrollback_semantics if the output buffer is too small
ara::crypto::CryptoErrc::kInvalidInputSizerollback_semantics if the size of the input buffer is invalid
ara::crypto::CryptoErrc::kUnsupportedrollback_semantics if stream processing is not supported by the context

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50158
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50158@rel:R25-11#27fd2993
Content hash
27fd2993
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50158
Status: valid/unmigrated Version: rel:R25-11#ad98aa1d 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_50158@rel:R25-11#ad98aa1d
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_50156] Upstream: RS_CRYPTO_02201

using Sptr = std::shared_ptr<DecryptorPrivateCtx>;

Smart pointer of the interface.

Header-Datei#include "ara/crypto/cryp/decryptor_private_ctx.h"
Scopeclass ara::crypto::cryp::DecryptorPrivateCtx
SymbolSptr

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

Record
AUTOSAR/AP/record/SWS_CRYPT_50156
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_50156@rel:R25-11#4a9f5ae5
Content hash
4a9f5ae5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_50156
Status: valid/unmigrated Version: rel:R25-11#8ad9c2a0 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_50156@rel:R25-11#8ad9c2a0
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