DEENESPTFRRUARHIKOZHNL

Crypto Service Manager (CSM)

ModulCSM (Crypto Service Manager)
BSW-Modul-ID110
Standard-Header#include "Csm.h"
SWS-SpezifikationAUTOSAR_SWS_CryptoServiceManager.pdf
ClusterCrypto Services

Guía del móduloGENERADO POR IA

Agrupa servicios criptográficos y gestión de claves para aplicaciones y BSW, y reenvía jobs a los controladores criptográficos.
GENERADO POR IA no revisado Modelo: claude-opus-5-5 · Esfuerzo: high · Temperatura: no controlable · Prompt: 2c7126f56428 Procedencia Preguntas abiertas (3)
Ancla causal: R20-11 Válido desde R20-11 Sintetizado para esta versión de especificación.
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Agrupa servicios criptográficos y gestión de claves para aplicaciones y BSW, y reenvía jobs a los controladores criptográficos.

El CSM pone a disposición de las aplicaciones y de los módulos BSW servicios criptográficos y gestión de claves a través de una interfaz uniforme. Cada servicio opera sobre un job, es decir, una instancia de una primitiva configurada [SWS_Csm_00941]. Según la configuración, el job se ejecuta de forma síncrona o asíncrona. El CSM encola los jobs asíncronos según su prioridad, los reenvía en la Csm_MainFunction cíclica a los controladores criptográficos a través de CryIf y notifica el resultado mediante callback [SWS_Csm_00479]. Condición de contorno más importante: las claves deben estar establecidas como válidas, y una cola llena provoca el rechazo con CRYPTO_E_BUSY.

El Crypto Service Manager (CSM) es la capa de servicio de la pila criptográfica Classic. Ofrece servicios criptográficos y gestión de claves SWS CSM p. 25. Las aplicaciones y los módulos BSW como SecOC, DCM o KeyM lo utilizan. Él mismo reenvía las peticiones a través de CryIf a Crypto Driver Objects en hardware o software SWS CSM p. 29.

kontext swc Aplicación (SW-C) a través de puertos RTE csm Csm jobs, colas, claves swc->csm CsmJob_{Job}, CsmKey_{Key} bsw BSW-Nutzer z. B. SecOC, Dcm, KeyM bsw->csm Csm_<Service>() schm Basic Software Scheduler schm->csm Csm_MainFunction() csm->swc CallbackNotification_{Job} csm->bsw <Csm_ApplicationCallbackNotification>() det Det (optional) csm->det Det_ReportError() cryif CryIf canales csm->cryif CryIf_ProcessJob(), CryIf_Key…(), CryIf_CancelJob() cryif->csm Csm_CallbackNotification() drv Crypto Driver Objects HW (p. ej., HSM) o SW cryif->drv Crypto_ProcessJob()

Diagrama de contexto: el CSM se sitúa entre sus usuarios y CryIf con los controladores. El planificador impulsa el procesamiento asíncrono. Fuentes: [SWS_Csm_00479], [SWS_Csm_00970].

La unidad central es el job, una instancia de una primitiva configurada [SWS_Csm_00941]. Su configuración determina si un servicio como Csm_Hash se ejecuta de forma síncrona o asíncrona [SWS_Csm_00980]. El CSM encola los jobs asíncronos en colas según su prioridad [SWS_Csm_00944]. La Csm_MainFunction cíclica los transfiere a CryIf [SWS_Csm_00479]. La capa inferior notifica el resultado mediante Csm_CallbackNotification. Si el bit FINISH está activado, el CSM llama a continuación al callback de aplicación configurado [SWS_Csm_01044] [SWS_Csm_00971].

Llamada de servicio asíncrona con callbackAplicaciónCsmCryIfCrypto DriverCsm_<Service>(jobId, mode, …)Job según prioridadin Queue einreihenreturn (Auftrag angenommen)Use Case: Zyklische AbarbeitungCsm_MainFunction():Comprobar colasCryIf_ProcessJob(…, job)Crypto_ProcessJob(…, job)returnreturnProcesamiento en elcontrolador o HSMCallback con resultadoCsm_CallbackNotification(job, result)optFINISH-Bit in mode gesetzt<Csm_ApplicationCallbackNotification>(jobId, result)

Diagrama de secuencia: inicialmente la petición solo se acepta y más tarde se procesa en la MainFunction. El resultado regresa a través de una cadena de callbacks. Fuentes: SWS CSM p. 164, [SWS_Csm_00970].

El parámetro mode combina START, UPDATE y FINISH. De este modo son posibles el streaming y la llamada única (single call), y el job conmuta entre IDLE y ACTIVE [SWS_Csm_01029] [SWS_Csm_01028]. Los jobs en ejecución pueden guardarse, restaurarse o cancelarse con Csm_CancelJob [SWS_Csm_91063] [SWS_Csm_00968].

Las claves constan de elementos estandarizados [SWS_Csm_00954] [SWS_Csm_01022]. Se pueden establecer, marcar como válidas o inválidas, copiar, generar, derivar e intercambiar mediante Diffie-Hellman. Solo las claves válidas pueden utilizarse para jobs [SWS_Csm_91075] [SWS_Csm_00966].

En caso de error, los servicios devuelven códigos como CRYPTO_E_BUSY o CRYPTO_E_KEY_NOT_VALID [SWS_Csm_91044]. Opcionalmente, el CSM notifica errores de desarrollo como CSM_E_UNINIT a DET [SWS_Csm_91004]. El error de tiempo de ejecución CSM_E_QUEUE_FULL [SWS_Csm_01089] identifica un desbordamiento de cola; presumiblemente se notifica de forma adicional al valor de retorno CRYPTO_E_BUSY. Pregunta (abierta)

Rol del CSM entre los usuarios criptográficos y la capa de controladores

El Crypto Service Manager (CSM) es la capa de servicio de la pila criptográfica Classic. Proporciona dos tipos de servicios: los propios servicios criptográficos y la gestión de claves SWS CSM p. 25. Las operaciones criptográficas se solicitan mediante funciones vinculadas a jobs. Ejemplos de ello son Csm_Hash [SWS_Csm_00980], Csm_MacGenerate [SWS_Csm_00982], Csm_Encrypt [SWS_Csm_00984], Csm_AEADEncrypt [SWS_Csm_01023], Csm_SignatureVerify [SWS_Csm_00996] y Csm_RandomGenerate [SWS_Csm_01543].

Hacia abajo, el CSM reenvía peticiones a Crypto Driver Objects a través de la Crypto Interface (CryIf). La especificación denomina canal a la ruta que va desde una cola del CSM hasta un Crypto Driver Object a través de CryIf. Un Crypto Driver Object puede ser hardware (por ejemplo, un acelerador AES en el HSM) o software SWS CSM p. 29. Hacia arriba, las aplicaciones utilizan el CSM como servicio AUTOSAR a través de puertos RTE SWS CSM p. 85. Los módulos BSW también acceden a él:

La gestión de certificados ya no pertenece al CSM desde R19-11, sino al Key Manager Release Overview p. 32.

kontext swc Aplicación (SW-C) a través de puertos RTE csm Csm jobs, colas, claves swc->csm CsmJob_{Job}, CsmKey_{Key} bsw BSW-Nutzer z. B. SecOC, Dcm, KeyM bsw->csm Csm_<Service>() schm Basic Software Scheduler schm->csm Csm_MainFunction() csm->swc CallbackNotification_{Job} csm->bsw <Csm_ApplicationCallbackNotification>() det Det (optional) csm->det Det_ReportError() cryif CryIf canales csm->cryif CryIf_ProcessJob(), CryIf_Key…(), CryIf_CancelJob() cryif->csm Csm_CallbackNotification() drv Crypto Driver Objects HW (p. ej., HSM) o SW cryif->drv Crypto_ProcessJob()

Diagrama de contexto: el CSM actúa de intermediario entre las aplicaciones y los usuarios BSW, por un lado, y CryIf con los Crypto Driver Objects, por otro. El planificador impulsa el procesamiento asíncrono; DET es opcional. Fuentes: SWS CSM p. 29, [SWS_Csm_00479], [SWS_Csm_00970], [SWS_Csm_91101], [SWS_Csm_91100].

Jobs, primitivas, claves y colas como objetos de configuración

La unidad central es el job, es decir, una instancia de una primitiva criptográfica configurada [SWS_Csm_00941]. En tiempo de ejecución lo describe Crypto_JobType. La estructura contiene, entre otros, jobId, jobState, la estructura de entrada y salida Crypto_JobPrimitiveInputOutputType y un puntero a la Crypto_JobPrimitiveInfoType constante [SWS_Csm_01013] [SWS_Csm_01009] SWS CSM p. 20. Crypto_JobPrimitiveInfoType porta el identificador de callback, la clave CryIf y el tipo de procesamiento Crypto_ProcessingType [SWS_Csm_01012] [SWS_Csm_01049]. La propia primitiva define Crypto_PrimitiveInfoType, que consta de servicio y algoritmo. El algoritmo comprende familia, familia secundaria, longitud de clave y modo [SWS_Csm_01011] [SWS_Csm_01031] [SWS_Csm_01008]. De forma opcional, Crypto_JobRedirectionInfoType redirige entradas y salidas a elementos de clave [SWS_Csm_91026] [SWS_Csm_91024].

En la configuración de la ECU, cada job recibe los siguientes datos SWS CSM p. 173:

  • un CsmJobId y un CsmJobPriority,
  • una referencia a una primitiva,
  • mediante CsmJobInterfaceUsePort, la determinación de si se utiliza como función o a través de puertos.

Un CsmKey con CsmKeyId referencia a un CryIfKey SWS CSM p. 171. Una CsmQueue con CsmQueueSize referencia a un CryIfChannel y a una instancia de MainFunction SWS CSM p. 173. Para cada CsmMainFunction configurada se crea una Csm_MainFunction_<shortName> propia [SWS_Csm_00479].

Csm_Init inicializa el módulo. Si el CSM está asignado a varias particiones, puede haber una función Init por partición [SWS_Csm_00646]. El contenido de Csm_ConfigType es específico de la implementación [SWS_Csm_01085]. Según la versión R24-11, configPtr es siempre un puntero nulo SWS CSM p. 48.

De la llamada al servicio al procesamiento en el controlador

La configuración del job determina si un servicio se ejecuta de forma síncrona o asíncrona. Por ello, las funciones de servicio están especificadas como «Synchronous or Async, depending on the job configuration» [SWS_Csm_00980] [SWS_Csm_00982]. El capítulo 7.2 (citado según R24-11) establece las siguientes reglas SWS CSM p. 21:

  • Por cada job solo se procesa una instancia a la vez; se permite que diferentes jobs se ejecuten en paralelo.
  • Si un job ya está ACTIVE, el CSM llama directamente a CryIf_ProcessJob y transmite su valor de retorno.
  • Si es necesario encolar un job y la cola está llena, el CSM lo rechaza con CRYPTO_E_BUSY.

Las colas ordenan los jobs según su prioridad configurada [SWS_Csm_00940] [SWS_Csm_00944].

entscheidung start Csm_<Service>() aufgerufen active Job ACTIVE? start->active sync Job synchron? active->sync No proc retVal = CryIf_ProcessJob() active->proc Sí qempty CSM-Queue leer? sync->qempty Sí qfull CSM-Queue voll? sync->qfull No prio ¿Prioridad superior a la más alta en la cola? qempty->prio No qempty->proc Sí prio->proc Sí busysync retVal = BUSY prio->busysync No busyasync return CRYPTO_E_BUSY qfull->busyasync Sí enq Job in CSM-Queue einreihen (Abarbeitung in Csm_MainFunction) qfull->enq No ret return retVal proc->ret busysync->ret

Diagrama de actividad: el punto de entrada al servicio decide entre la transferencia directa a CryIf, el encolado en la cola y el rechazo con BUSY. Interpretación: la lógica procede del diagrama de versiones posteriores y debería aplicarse por analogía a R20-11. Fuentes: SWS CSM p. 30, SWS CSM p. 21, [SWS_Csm_00944].

En caso de uso asíncrono, las funciones de interfaz solo transfieren la información necesaria a las capas inferiores SWS CSM p. 25. La secuencia posterior:

  1. El Basic Software Scheduler llama a Csm_MainFunction cíclicamente. Esta comprueba las colas y reenvía jobs a CryIf [SWS_Csm_00479] SWS CSM p. 84.
  2. La capa inferior notifica la finalización mediante Csm_CallbackNotification [SWS_Csm_00970].
  3. El CSM llama a la función configurada <Csm_ApplicationCallbackNotification>(jobId, result) [SWS_Csm_00971], aunque solo si en el modo está activado el bit FINISH [SWS_Csm_01044].

Los usuarios de la RTE reciben para ello el puerto CallbackNotification_{Job}, siempre que el job esté configurado como asíncrono y no como función pura [SWS_Csm_00934] [SWS_Csm_00928].

Llamada de servicio asíncrona con callbackAplicaciónCsmCryIfCrypto DriverCsm_<Service>(jobId, mode, …)Job según prioridadin Queue einreihenreturn (Auftrag angenommen)Use Case: Zyklische AbarbeitungCsm_MainFunction():Comprobar colasCryIf_ProcessJob(…, job)Crypto_ProcessJob(…, job)returnreturnProcesamiento en elcontrolador o HSMCallback con resultadoCsm_CallbackNotification(job, result)optFINISH-Bit in mode gesetzt<Csm_ApplicationCallbackNotification>(jobId, result)

Diagrama de secuencia: una petición asíncrona se acepta y más tarde se transfiere a CryIf en la MainFunction. El resultado regresa a través de una cadena de callbacks. Fuentes: SWS CSM p. 164, [SWS_Csm_00479], [SWS_Csm_00970], [SWS_Csm_01044], [SWS_Csm_00971].

Streaming, llamada única (Single Call) y estado del job

El parámetro mode del tipo Crypto_OperationModeType es un campo de bits formado por START (0x01), UPDATE (0x02) y FINISH (0x04). Los valores combinados son CRYPTO_OPERATIONMODE_STREAMSTART (0x03) y CRYPTO_OPERATIONMODE_SINGLECALL (0x07) [SWS_Csm_01029] [SWS_Csm_01039]. Los modos actúan de la siguiente manera:

  • START restablece el job y descarta las entradas anteriores y los resultados intermedios [SWS_Csm_01029].
  • Un UPDATE repetido procesa grandes volúmenes de datos con el enfoque de streaming. En cambio, la llamada única (Single Call) ahorra sobrecarga de llamada con datos pequeños EXP Krypto-Dienste p. 12.
  • START y FINISH sin UPDATE se rechazan con E_NOT_OK [SWS_Csm_01045].
  • FINISH concluye el cálculo [SWS_Csm_01046].

Crypto_JobStateType distingue dos estados [SWS_Csm_01028]:

  • CRYPTO_JOBSTATE_IDLE: tras Csm_Init o tras completarse FINISH,
  • CRYPTO_JOBSTATE_ACTIVE: tras START o UPDATE.

Según la nota de especificación, las transiciones de estado propiamente dichas las ejecuta el Crypto Driver SWS CSM p. 22.

jobzustand init Csm_Init() idle CRYPTO_JOBSTATE_IDLE init->idle idle->idle SINGLECALL (START|UPDATE|FINISH) active CRYPTO_JOBSTATE_ACTIVE idle->active START / STREAMSTART active->idle FINISH abgeschlossen active->active UPDATE: Zwischenergebnisse active->active START: Reset, Daten verworfen

Diagrama de estados: un job pasa a ACTIVE con START, permanece allí con UPDATE y regresa a IDLE tras FINISH. SINGLECALL recorre todos los pasos en una sola llamada. Fuentes: [SWS_Csm_01028], [SWS_Csm_01029], [SWS_Csm_01039].

Los jobs en ejecución pueden interrumpirse y reanudarse. Csm_SaveContextJob guarda el contexto de trabajo en un búfer de aplicación, y Csm_RestoreContextJob lo restaura [SWS_Csm_91063] [SWS_Csm_91064]. Los elementos de clave no pertenecen a este contexto SWS CSM p. 35. Csm_CancelJob cancela jobs asíncronos o de streaming [SWS_Csm_00968]. Para ello, el CSM elimina el job de su cola o llama a CryIf_CancelJob SWS CSM p. 80.

Gestión de claves: elementos, validez, generación e intercambio

Una clave consta de uno o varios elementos de clave [SWS_Csm_00954]. Sus IDs están estandarizados, por ejemplo CRYPTO_KE_MAC_KEY (1), CRYPTO_KE_CIPHER_IV (5) y CRYPTO_KE_KEYGENERATE_SEED (16) [SWS_Csm_01022]. Los servicios de clave solo existen como función Csm_<Service> [SWS_Csm_00950]. Los servicios básicos son síncronos, entre ellos Csm_KeyElementSet, Csm_KeySetValid y Csm_KeyElementGet [SWS_Csm_00957] [SWS_Csm_00958] [SWS_Csm_00959]. Si los elementos se encuentran directamente en la memoria flash, estas llamadas pueden tardar más tiempo. Mientras se ejecuta una función de clave, el CSM no extrae nuevos jobs de la cola hasta la siguiente llamada a la MainFunction SWS CSM p. 60.

Csm_KeyGetStatus devuelve el estado de la clave (CRYPTO_KEYSTATUS_INVALID o CRYPTO_KEYSTATUS_VALID) [SWS_Csm_91102] [SWS_Csm_91047]. Csm_KeySetValid establece la clave como válida. Csm_KeySetInvalid la bloquea para operaciones criptográficas hasta que vuelva a establecerse como válida [SWS_Csm_00958] [SWS_Csm_91075]. Adicionalmente existen variantes basadas en jobs como Csm_JobKeySetValid, Csm_JobKeyGenerate y Csm_JobKeyDerive. Estas se ejecutan de forma síncrona o asíncrona según la configuración del job [SWS_Csm_91027] [SWS_Csm_91029] [SWS_Csm_91030].

keystatus invalid CRYPTO_KEYSTATUS_INVALID invalid->invalid Csm_KeyElementSet(); Job-Anfragen: CRYPTO_E_KEY_NOT_VALID valid CRYPTO_KEYSTATUS_VALID invalid->valid Csm_KeySetValid() / Csm_JobKeySetValid() valid->invalid Csm_KeySetInvalid() / Csm_JobKeySetInvalid() valid->invalid Csm_KeyElementSet() (vermutlich) valid->valid Nutzung in Jobs, Csm_KeyGetStatus()

Diagrama de estados: solo una clave válida puede utilizarse para jobs; el establecimiento y la invalidación controlan la transición. Interpretación: la transición a INVALID mediante Csm_KeyElementSet se deriva de un ejemplo. Fuentes: [SWS_Csm_91102], [SWS_Csm_00958], [SWS_Csm_91075], [SWS_Csm_91043].

Otros servicios de claves:

  • Copiar: elemento por elemento con Csm_KeyElementCopy, parcialmente con Csm_KeyElementCopyPartial o como clave completa con Csm_KeyCopy [SWS_Csm_00969] [SWS_Csm_91025] [SWS_Csm_01034].
  • Generar: antes de Csm_KeyGenerate debe haber un valor aleatorio en CRYPTO_KE_KEYGENERATE_SEED, por ejemplo procedente de Csm_RandomGenerate. El algoritmo lo determina CRYPTO_KE_KEYGENERATE_ALGORITHM [SWS_Csm_00955] SWS CSM p. 67.
  • Derivar: Csm_KeyDerive escribe en una clave de destino y llama a CryIf_KeyDerive [SWS_Csm_00956] [SWS_Csm_01018].
  • Intercambiar: para Diffie-Hellman, dos interlocutores determinan un secreto compartido con Csm_KeyExchangeCalcPubVal y Csm_KeyExchangeCalcSecret sin revelar sus partes privadas [SWS_Csm_00966] [SWS_Csm_00967] SWS CSM p. 70.
Intercambio de claves Diffie-Hellman a través de CSMAnwendung (Partner A)CsmPartner BClave keyId con BASE, PRIVKEY, OWNPUBKEYpreparada (establecida y válida o generada)Csm_KeyExchangeCalcPubVal(keyId,publicValuePtr, publicValueLengthPtr)E_OK, valor público propiotransmitir el valor público(transporte fuera de CSM)valor público de BCsm_KeyExchangeCalcSecret(keyId,partnerPublicValuePtr, partnerPublicValueLength)E_OKBeide besitzen dasselbe Geheimnis,p. ej., para cifrado o MAC

Diagrama de secuencia: los interlocutores solo intercambian valores públicos. El secreto compartido se genera localmente mediante dos llamadas al CSM. Fuentes: SWS CSM p. 70, [SWS_Csm_00966], [SWS_Csm_00967].

Formas de interfaz: API de C, puertos RTE y tipos de búfer

Los usuarios BSW llaman a las funciones de C de Csm.h. Para las aplicaciones, el capítulo 8.7 describe las interfaces de servicio a partir de las cuales se genera la RTE SWS CSM p. 85. Según la configuración, se crean los siguientes puertos:

Los tipos de búfer son matrices de uint8 cuyo tamaño se deriva de la configuración de la primitiva, por ejemplo Csm_HashResultType_{Crypto} y Csm_MacVerifyCompareType_{Crypto} [SWS_Csm_00912] [SWS_Csm_00803]. Las longitudes y los resultados de verificación se devuelven de forma asíncrona a través de los tipos de puntero Csm_LengthPtr y Csm_VerifyResultPtr [SWS_Csm_91045] [SWS_Csm_91046]. Las verificaciones devuelven CRYPTO_E_VER_OK o CRYPTO_E_VER_NOT_OK [SWS_Csm_01024].

Comportamiento en caso de error

Los servicios devuelven Std_ReturnType, y los resultados asíncronos Crypto_ResultType. Además de E_OK y E_NOT_OK, existen códigos específicos como CRYPTO_E_BUSY, CRYPTO_E_ENTROPY_EXHAUSTED, CRYPTO_E_KEY_READ_FAIL, CRYPTO_E_KEY_WRITE_FAIL, CRYPTO_E_KEY_NOT_AVAILABLE y CRYPTO_E_KEY_NOT_VALID [SWS_Csm_91044] [SWS_Csm_91043]. Las funciones de clave notifican adicionalmente CRYPTO_E_KEY_SIZE_MISMATCH y CRYPTO_E_KEY_EMPTY [SWS_Csm_00969] [SWS_Csm_00956]. Si Csm_KeyElementSet falla, el estado del elemento se considera desconocido. La aplicación puede entonces comprobarlo con Csm_KeyGetStatus SWS CSM p. 62.

El CSM notifica errores de desarrollo opcionalmente a través de Det_ReportError [SWS_Csm_91101]. Se definen, entre otros, [SWS_Csm_91004]:

  • CSM_E_PARAM_POINTER: puntero nulo,
  • CSM_E_PARAM_HANDLE: ID fuera de rango,
  • CSM_E_UNINIT: llamada antes de la inicialización,
  • CSM_E_INIT_FAILED: fallo de inicialización,
  • CSM_E_PROCESSING_MODE: modo de procesamiento no válido.

Según la versión R24-11, CSM_E_PROCESSING_MODE se produce, por ejemplo, cuando se llama a Csm_CancelJob para un trabajo síncrono SWS CSM p. 80. Como error de tiempo de ejecución se define el desbordamiento de cola CSM_E_QUEUE_FULL [SWS_Csm_01089] SWS CSM p. 35. Interpretación: es probable que se notifique de forma paralela al retorno CRYPTO_E_BUSY cuando la cola está llena. Pregunta Q-9b0fc38c9c075fd3 (abierta)

Csm_CancelJob puede proporcionar dos resultados [SWS_Csm_00968]:

  • E_OK: el trabajo se ha eliminado de las colas y, dado el caso, del hardware del controlador.
  • CRYPTO_E_JOB_CANCELED: la cancelación inmediata no es posible. La cancelación se realiza en el siguiente paso adecuado y se notifica mediante una retrollamada de finalización negativa.

Las operaciones de contexto en un trabajo IDLE o en un trabajo que se está ejecutando actualmente en el controlador finalizan inmediatamente con E_NOT_OK según la versión R24-11 SWS CSM p. 35.

Más evidencia detallada

Guía generada por IA sobre la base de los extractos de la especificación facilitados en el payload sobre CSM (Classic, R20-11). Las referencias documentales de versiones posteriores se identifican como tales. Tienen carácter vinculante los requisitos enlazados.

Crypto Service Manager (CSM)

Provides standardized cryptographic services (encryption, hashing, digital signatures, key management) to applications and BSW.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

función Csm_Init [SWS_Csm_00646] 📄 PDF

void Csm_Init (const Csm_ConfigType* configPtr);

Initializes the CSM module. In configurations, in which Csm is assigned to more than one partition (i.e. Csm_ Main Functions are mapped to partitions), Csm may provide one init function per partition.

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

La función síncrona Csm_Init sirve para la inicialización del módulo Crypto Service Manager (CSM) según [SWS_Csm_00646]. La interfaz está declarada a través de la cabecera Csm.h [SWS_Csm_00646].

En cuanto a los parámetros y al comportamiento de llamada, [SWS_Csm_00646] define las siguientes propiedades:

  • Parámetros: como parámetro de entrada se pasa configPtr. Este es un puntero a una estructura de configuración seleccionada del tipo const Csm_ConfigType* [SWS_Csm_00646]. No hay parámetros de entrada/salida ni parámetros de salida [SWS_Csm_00646].
  • Valor de retorno: la función no devuelve ningún valor de retorno (void) [SWS_Csm_00646].
  • Sincronía e identificación: la ejecución se realiza de forma síncrona; el Service ID es 0x00 [SWS_Csm_00646].

Para la concurrencia y el funcionamiento con múltiples particiones aplican requisitos específicos según [SWS_Csm_00646]:

  • Reentrancia: la función es no reentrante (Non Reentrant) y, por lo tanto, no debe ser llamada de forma concurrente [SWS_Csm_00646].
  • Particionado: si el módulo CSM está asignado a más de una partición (es decir, si funciones principales tales como Csm_MainFunction están distribuidas entre particiones), el CSM puede proporcionar una función de inicialización propia por cada partición [SWS_Csm_00646].

Interpretación: puesto que la especificación define Csm_Init como función de inicialización, es probable que la llamada se produzca típicamente durante la fase de arranque del sistema antes de la ejecución de órdenes criptográficas regulares. Pregunta Q-f462c3f9f4ed24fc (abierta)

Esta nota de uso fue generada por una IA y se basa en los datos de especificación de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función Csm_Hash [SWS_Csm_00980] 📄 PDF

Std_ReturnType Csm_Hash (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);

Uses the given data to perform the hash calculation and stores the hash.

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

usar

La función Csm_Hash calcula un valor hash criptográfico sobre los datos de entrada transferidos y guarda el resultado en la memoria de destino [SWS_Csm_00980]. La interfaz se declara mediante la cabecera Csm.h y posee el Service-ID 0x5d [SWS_Csm_00980]. El comportamiento de ejecución es sincrónico o asincrónico, lo que depende de la configuración respectiva del trabajo especificado mediante jobId [SWS_Csm_00980].

Los parámetros se desglosan de la siguiente manera [SWS_Csm_00980]:

  • jobId: Identificador unívoco del trabajo de CSM que utiliza el servicio criptográfico.
  • mode: Indica qué modo u operaciones de modo deben ejecutarse.
  • dataPtr y dataLength: Punteros a los datos de entrada a los que se aplicará el hash, así como el número de bytes que se procesarán.
  • resultPtr: Puntero al búfer en el que se almacena el valor hash calculado.
  • resultLengthPtr: Antes de la llamada, este puntero debe contener la capacidad provista del búfer resultPtr en bytes. Tras finalizar el procesamiento, este valor se sobrescribe con la longitud real en bytes del valor hash generado. Si el búfer provisto es menor que la longitud total del resultado, el valor hash se almacena truncado.

Tratamiento de errores y concurrencia

El valor de retorno de tipo Std_ReturnType señala con E_OK una solicitud correcta y con E_NOT_OK un error durante el procesamiento de la orden [SWS_Csm_00980]. En cuanto a la concurrencia, Csm_Hash está especificado como reentrante [SWS_Csm_00980].

Este texto fue generado automáticamente a partir de la especificación de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función Csm_MacGenerate [SWS_Csm_00982] 📄 PDF

Std_ReturnType Csm_MacGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* macPtr, uint32* macLengthPtr);

Service Csm_MacGenerate.

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

La función reentrante Csm_MacGenerate (Service-ID 0x60, cabecera Csm.h) calcula un Message Authentication Code (MAC) sobre los datos de entrada transferidos y almacena el resultado en la dirección de destino indicada [SWS_Csm_00982]. Si el procesamiento se realiza de forma sincrónica o asincrónica depende de la configuración del trabajo referenciado mediante jobId [SWS_Csm_00982].

El parámetro mode especifica los modos de operación que deben ejecutarse. Los datos de entrada se transfieren a través de dataPtr y su número de bytes a través de dataLength [SWS_Csm_00982]. El búfer macPtr aloja el resultado. A través del parámetro de entrada y salida macLengthPtr debe transferirse en la llamada el tamaño del búfer provisto; tras finalizar la solicitud, se almacena en él la longitud real del MAC calculado. Si el búfer es menor que el resultado total, el MAC se almacena truncado [SWS_Csm_00982].

Los posibles valores de retorno de tipo Std_ReturnType son [SWS_Csm_00982]:

  • E_OK: Solicitud ejecutada con éxito.
  • E_NOT_OK: solicitud fallida.
  • CRYPTO_E_BUSY: El servicio todavía está ocupado.
  • CRYPTO_E_KEY_NOT_VALID: El estado de la clave no es válido.
  • CRYPTO_E_KEY_SIZE_MISMATCH: Un elemento de clave presenta un tamaño incorrecto.
  • CRYPTO_E_KEY_EMPTY: el elemento de clave de origen no está inicializado.

Este texto se ha generado automáticamente a partir de la especificación.

Guía del implementador pendiente (complejidad I2)

función Csm_MacVerify [SWS_Csm_01050] 📄 PDF

Std_ReturnType Csm_MacVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* macPtr, const uint32 macLength, Crypto_VerifyResultType* verifyPtr);

Service Csm_MacVerify.

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

La función Csm_MacVerify sirve, conforme a [SWS_Csm_01050], para la verificación de un Message Authentication Code (MAC) comprobando si el MAC transferido coincide con los datos proporcionados. El resultado de la verificación se almacena en la posición de memoria a la que apunta verifyPtr. El servicio está disponible a través del archivo de cabecera Csm.h y está especificado como reentrante.

En la llamada deben tenerse en cuenta los siguientes parámetros y semánticas [SWS_Csm_01050]:

  • Comportamiento síncrono o asíncrono: la ejecución se realiza de forma síncrona o asíncrona en función de la configuración del trabajo referenciado mediante jobId.
  • Modo de operación: mediante mode (Crypto_OperationModeType) se determina qué modos de operación deben ejecutarse.
  • Indicaciones de longitud: mientras que dataLength indica la cantidad de bytes de datos para dataPtr, macLength requiere obligatoriamente la longitud del MAC a comprobar en bits.

Como valor de retorno, la función proporciona el estado de la solicitud como Std_ReturnType [SWS_Csm_01050]:

  • E_OK: La solicitud se realizó con éxito.
  • E_NOT_OK: La solicitud ha fallado.
  • CRYPTO_E_BUSY: El servicio todavía está ocupado.
  • CRYPTO_E_KEY_NOT_VALID: El estado de la clave no es válido.
  • CRYPTO_E_KEY_SIZE_MISMATCH: Un elemento de clave presenta un tamaño incorrecto.
  • CRYPTO_E_KEY_EMPTY: el elemento de clave de origen no está inicializado.

Este texto ha sido generado por una IA. Se basa exclusivamente en las especificaciones de la versión AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función Csm_Encrypt [SWS_Csm_00984] 📄 PDF

Std_ReturnType Csm_Encrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);

Service Csm_Encrypt.

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

La función Csm_Encrypt (Service-ID 0x5e, proporcionada a través de Csm.h) cifra los datos de entrada transferidos y almacena el criptograma en el búfer de resultados indicado [SWS_Csm_00984].

Uso y semántica

Para llevar a cabo la operación se transfieren los siguientes parámetros [SWS_Csm_00984]:

  • jobId: Identificador del trabajo de CSM que utiliza el servicio.
  • mode: Identifica el o los modos de operación a ejecutar (de tipo Crypto_OperationModeType).
  • dataPtr y dataLength: Puntero a los datos de origen a cifrar, así como el número de bytes que se procesarán.
  • resultPtr: Puntero al área de memoria en la que se almacenan los datos cifrados.
  • resultLengthPtr: Puntero a la información de longitud en bytes. Antes de la llamada, este parámetro debe contener la capacidad del búfer provista de resultPtr; tras finalizar la solicitud, se almacena allí la longitud de salida real [SWS_Csm_00984].

La semántica de ejecución no está fijada estáticamente: se realiza de forma sincrónica o asincrónica según la configuración del trabajo asignado [SWS_Csm_00984].

Concurrencia y restricciones

La función está especificada como reentrante [SWS_Csm_00984]. Los invocadores deben garantizar que el búfer resultPtr permanezca válido durante todo el procesamiento hasta la finalización de la operación y tenga al menos el tamaño indicado inicialmente a través de resultLengthPtr.

Tratamiento de errores y valores de retorno

El valor de retorno de tipo Std_ReturnType proporciona información sobre el estado de la solicitud [SWS_Csm_00984]:

  • E_OK: Solicitud realizada con éxito.
  • E_NOT_OK: solicitud fallida.
  • CRYPTO_E_BUSY: Solicitud rechazada porque el servicio todavía está ocupado actualmente.
  • CRYPTO_E_KEY_NOT_VALID: La clave indicada se encuentra en el estado «invalid».
  • CRYPTO_E_KEY_SIZE_MISMATCH: Un elemento de clave presenta un tamaño no válido.
  • CRYPTO_E_KEY_EMPTY: Se ha transferido un elemento de clave de origen no inicializado.

Este texto fue generado por un sistema de IA a partir de la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I2)

función Csm_Decrypt [SWS_Csm_00989] 📄 PDF

Std_ReturnType Csm_Decrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);

Service Csm_Decrypt.

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

La función Csm_Decrypt ([SWS_Csm_00989]) descifra datos cifrados transferidos y almacena el texto claro resultante en el área de memoria de destino. Se proporciona a través de la cabecera Csm.h y ejecuta operaciones criptográficas basadas en la configuración del trabajo transferido.

Uso y parámetros

A través del parámetro jobId se direcciona el trabajo de CSM a utilizar, mientras que mode (tipo Crypto_OperationModeType) especifica la(s) fase(s) de operación a ejecutar ([SWS_Csm_00989]). Los datos a descifrar se transfieren como puntero dataPtr con el número de bytes dataLength. El texto claro se escribe en el búfer referenciado por resultPtr.

El parámetro de entrada/salida resultLengthPtr controla la gestión del búfer: al momento de la llamada debe contener el tamaño de búfer proporcionado de resultPtr en bytes; tras finalizar la operación, se registra allí la longitud de salida realmente escrita ([SWS_Csm_00989]).

Ejecución y valores de retorno

El comportamiento de ejecución (síncrono o asíncrono) depende directamente de la configuración del trabajo subyacente ([SWS_Csm_00989]). La función está diseñada para ser reentrante y devuelve valores de retorno específicos de tipo Std_ReturnType:

  • E_OK: La solicitud se realizó con éxito ([SWS_Csm_00989]).
  • E_NOT_OK: la solicitud ha fallado ([SWS_Csm_00989]).
  • CRYPTO_E_BUSY: El servicio solicitado todavía está ocupado en este momento ([SWS_Csm_00989]).
  • CRYPTO_E_KEY_NOT_VALID: El estado de la clave utilizada no es válido ([SWS_Csm_00989]).
  • CRYPTO_E_KEY_SIZE_MISMATCH: Un elemento de clave posee un tamaño inadecuado ([SWS_Csm_00989]).
  • CRYPTO_E_KEY_EMPTY: El elemento de clave de origen no está inicializado ([SWS_Csm_00989]).

Este texto fue generado por una IA a partir de datos de especificación de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función Csm_AEADEncrypt [SWS_Csm_01023] 📄 PDF

Std_ReturnType Csm_AEADEncrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* plaintextPtr, uint32 plaintextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, uint8* ciphertextPtr, uint32* ciphertextLengthPtr, uint8* tagPtr, uint32* tagLengthPtr);

Service Csm_AEADEncrypt.

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

usar

La función Csm_AEADEncrypt lleva a cabo un cifrado autenticado con datos asociados (AEAD) y está disponible a través de la cabecera Csm.h [SWS_Csm_01023]. Procesa a través de plaintextPtr y plaintextLength el texto en claro a cifrar, así como datos asociados adicionales a través de associatedDataPtr y associatedDataLength [SWS_Csm_01023]. Los datos de salida se escriben en los búferes ciphertextPtr (texto cifrado) y tagPtr (etiqueta de autenticación o MAC) [SWS_Csm_01023]. En la llamada, ciphertextLengthPtr y tagLengthPtr deben contener la capacidad del búfer provista en bytes; tras la finalización, contienen la longitud real de los valores de salida [SWS_Csm_01023] (interpretación: es probable que el parámetro resultPtr mencionado en la especificación se refiera, por motivos de redacción, a ciphertextPtr o tagPtr). Pregunta Q-ea7e69875375c501 (abierta) A través de mode se selecciona el modo de operación a realizar [SWS_Csm_01023]. La ejecución se realiza de forma sincrónica o asincrónica en función de la configuración de trabajo del jobId transferido [SWS_Csm_01023].

Tratamiento de errores y valores de retorno

El servicio proporciona a través del tipo de retorno Std_ReturnType los siguientes valores de estado [SWS_Csm_01023]:

  • E_OK: La solicitud se realizó con éxito [SWS_Csm_01023].
  • E_NOT_OK: la solicitud ha fallado [SWS_Csm_01023].
  • CRYPTO_E_BUSY: La solicitud falló porque el servicio está ocupado [SWS_Csm_01023].
  • CRYPTO_E_KEY_NOT_VALID: La solicitud falló porque el estado de la clave no es válido [SWS_Csm_01023].
  • CRYPTO_E_KEY_SIZE_MISMATCH: La solicitud falló porque un elemento de clave presenta un tamaño incorrecto [SWS_Csm_01023].
  • CRYPTO_E_KEY_EMPTY: La solicitud falló debido a un elemento de clave de origen no inicializado [SWS_Csm_01023].

concurrencia

La interfaz está especificada como reentrante [SWS_Csm_01023].

Esta nota de uso se generó automáticamente a partir de la especificación AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I2)

función Csm_AEADDecryptManager [SWS_Csm_01026] 📄 PDF

Std_ReturnType Csm_AEADDecrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* ciphertextPtr, uint32 ciphertextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, const uint8* tagPtr, uint32 tagLength, uint8* plaintextPtr, uint32* plaintextLengthPtr, Crypto_VerifyResultType* verifyPtr);

Service Csm_AEADDecryptManager.

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

El servicio Csm_AEADDecrypt (Service-ID 0x63, proporcionado a través de Csm.h) lleva a cabo, según [SWS_Csm_01026], un descifrado AEAD (Authenticated Encryption with Associated Data). Interpretación: aunque la descripción en el texto de la especificación habla de un cifrado, en función de los parámetros de entrada y salida definidos la función sirve para el descifrado de texto cifrado así como para la verificación de la etiqueta de autenticación transferida. Pregunta Q-00e8fca03eb3b44d (abierta)

La ejecución se realiza de forma síncrona o asíncrona según la configuración del trabajo identificado a través de jobId ([SWS_Csm_01026]). En cuanto a la concurrencia, la función es reentrante ([SWS_Csm_01026]). A través del parámetro mode se especifica qué modos de operación deben procesarse.

Para la llamada son válidas las siguientes relaciones entre parámetros ([SWS_Csm_01026]):

  • Datos de entrada: punteros e indicaciones de longitud para texto cifrado (ciphertextPtr, ciphertextLength), datos asociados (associatedDataPtr, associatedDataLength) y la etiqueta a comprobar (tagPtr, tagLength).
  • Datos de salida: el búfer plaintextPtr aloja el texto claro descifrado. El puntero plaintextLengthPtr debe contener en la llamada la capacidad del búfer; tras la finalización, se registra allí la longitud de salida real.
  • Resultado de la verificación: el resultado de la comprobación de la etiqueta se notifica a través de verifyPtr.

Como valores de retorno de tipo Std_ReturnType se especifican según [SWS_Csm_01026]:

  • E_OK: La solicitud se realizó con éxito.
  • E_NOT_OK: La solicitud ha fallado.
  • CRYPTO_E_BUSY: El servicio está ocupado.
  • CRYPTO_E_KEY_NOT_VALID: El estado de la clave no es válido.
  • CRYPTO_E_KEY_SIZE_MISMATCH: El elemento de clave posee un tamaño incorrecto.
  • CRYPTO_E_KEY_EMPTY: El elemento de clave de origen no está inicializado.

Esta nota de uso se basa en la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I2)

función Csm_SignatureGenerate [SWS_Csm_00992] 📄 PDF

Std_ReturnType Csm_SignatureGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* signaturePtr, uint32* signatureLengthPtr);

Service Csm_SignatureGenerate.

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

La función Csm_SignatureGenerate sirve para el cálculo criptográfico de firmas sobre los datos útiles transmitidos conforme a [SWS_Csm_00992]. Si la llamada se procesa de forma síncrona o asíncrona depende de la configuración respectiva del trabajo transmitido (jobId) [SWS_Csm_00992]. La función está especificada como reentrante [SWS_Csm_00992].

Durante la llamada, el parámetro mode de tipo Crypto_OperationModeType controla los modos de operación a ejecutar [SWS_Csm_00992]. Los datos a firmar se transmiten mediante dataPtr junto con su longitud en bytes dataLength [SWS_Csm_00992]. La firma calculada se escribe en el área de memoria referenciada por signaturePtr [SWS_Csm_00992]. El parámetro de entrada/salida signatureLengthPtr debe contener antes de la llamada el tamaño de búfer provisto en bytes; tras finalizar la solicitud contiene la longitud real en bytes de la firma generada [SWS_Csm_00992].

El valor de retorno señaliza el estado de la solicitud de función [SWS_Csm_00992]:

  • E_OK: Solicitud ejecutada o iniciada con éxito [SWS_Csm_00992].
  • E_NOT_OK: Errores generales en la solicitud [SWS_Csm_00992].
  • CRYPTO_E_BUSY: el servicio solicitado está ocupado actualmente [SWS_Csm_00992].
  • CRYPTO_E_KEY_NOT_VALID: El estado de la clave utilizada no es válido [SWS_Csm_00992].
  • CRYPTO_E_KEY_SIZE_MISMATCH: Un elemento de clave presenta un tamaño inadecuado [SWS_Csm_00992].
  • CRYPTO_E_KEY_EMPTY: el elemento de clave de origen no está inicializado [SWS_Csm_00992].

Este texto fue creado por una IA y se basa exclusivamente en los datos de especificación de la versión R20-11 de AUTOSAR.

Guía del implementador pendiente (complejidad I2)

función Csm_SignatureVerify [SWS_Csm_00996] 📄 PDF

Std_ReturnType Csm_SignatureVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* signaturePtr, uint32 signatureLength, Crypto_VerifyResultType* verifyPtr);

Service Csm_SignatureVerify.

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

El servicio Csm_SignatureVerify (Service ID 0x64, declarado en Csm.h) sirve para la verificación de una firma criptográfica a partir de los datos transferidos [SWS_Csm_00996]. La especificación describe la funcionalidad comparativamente como la comprobación de si la firma (denominada también MAC en la descripción) se generó con los datos transferidos [SWS_Csm_00996].

Uso y parámetros: En la llamada, jobId identifica el trabajo CSM configurado, mientras que mode (tipo Crypto_OperationModeType) predetermina los modos de operación a ejecutar [SWS_Csm_00996]. Los datos útiles a comprobar se transfieren mediante el puntero dataPtr con la cantidad de bytes dataLength [SWS_Csm_00996]. La firma a validar se proporciona a través de signaturePtr junto con su longitud en bytes signatureLength [SWS_Csm_00996]. La función almacena el resultado de verificación en la posición de memoria referenciada por el parámetro de salida verifyPtr (tipo Crypto_VerifyResultType*) [SWS_Csm_00996]. El comportamiento de ejecución es síncrono o asíncrono, dependiendo de la configuración concreta del trabajo [SWS_Csm_00996].

Tratamiento de errores y valores de retorno: La función devuelve un estado de tipo Std_ReturnType que señala el éxito o estados de error específicos de la solicitud [SWS_Csm_00996]:

  • E_OK: La solicitud de servicio se ha realizado correctamente [SWS_Csm_00996].
  • E_NOT_OK: La solicitud de servicio ha fallado [SWS_Csm_00996].
  • CRYPTO_E_BUSY: La solicitud falló porque el servicio subyacente todavía está ocupado [SWS_Csm_00996].
  • CRYPTO_E_KEY_NOT_VALID: La solicitud falló porque el estado de la clave no es válido [SWS_Csm_00996].
  • CRYPTO_E_KEY_SIZE_MISMATCH: La solicitud falló porque un elemento de clave tiene un tamaño incorrecto [SWS_Csm_00996].
  • CRYPTO_E_KEY_EMPTY: La solicitud falló debido a un elemento de clave de origen no inicializado [SWS_Csm_00996].

Concurrencia: Según la especificación, la función está implementada como reentrante [SWS_Csm_00996].

Esta nota de uso ha sido generada por una IA sobre la base de la especificación.

Guía del implementador pendiente (complejidad I2)

función Csm_RandomGenerate [SWS_Csm_01543] 📄 PDF

Std_ReturnType Csm_RandomGenerate (uint32 jobId, uint8* resultPtr, uint32* resultLengthPtr);

Generate a random number and stores it in the memory location pointed by th e result pointer.

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

La función Csm_RandomGenerate sirve para la generación de números aleatorios y almacena el resultado en el área de memoria a la que apunta resultPtr [SWS_Csm_01543].

Uso y parámetros

A través del parámetro jobId se pasa el identificador del trabajo de CSM configurado que utiliza el servicio [SWS_Csm_01543]. La entidad invocadora controla la cantidad de datos deseada mediante el parámetro de entrada y salida resultLengthPtr: en el momento de la llamada, este puntero debe apuntar al número de bytes aleatorios a generar que se deben almacenar en el búfer resultPtr [SWS_Csm_01543]. Tras finalizar la solicitud, resultLengthPtr contiene la longitud real en bytes del valor generado [SWS_Csm_01543]. El procesamiento se lleva a cabo de forma síncrona o asíncrona, en función de la configuración del trabajo respectivo [SWS_Csm_01543].

Valores de retorno y tratamiento de errores

La función devuelve un estado de tipo Std_ReturnType [SWS_Csm_01543]:

  • E_OK: La solicitud se completó correctamente [SWS_Csm_01543].
  • E_NOT_OK: La solicitud ha fallado [SWS_Csm_01543].
  • CRYPTO_E_BUSY: la solicitud ha fallado porque el servicio todavía está ocupado [SWS_Csm_01543].
  • CRYPTO_E_ENTROPY_EXHAUSTED: la solicitud ha fallado porque la entropía del generador de números aleatorios se ha agotado [SWS_Csm_01543].

concurrencia

La función está diseñada como reentrante y está disponible a través de la cabecera Csm.h con el Service-ID 0x72 [SWS_Csm_01543].

Esta nota de uso se ha generado automáticamente. Solo son vinculantes las especificaciones del estándar AUTOSAR.

función Csm_KeyElementSet [SWS_Csm_00957] 📄 PDF

Std_ReturnType Csm_KeyElementSet (uint32 keyId, uint32 keyElementId, const uint8* keyElementPtr, uint32 keyElementLength);

Sets the given key element bytes to the key identified by key Id.

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

Uso y semántica

La función síncrona Csm_KeyElementSet establece los bytes de un elemento de clave especificado para una clave identificada mediante keyId [SWS_Csm_00957]. La función cuenta con el Service ID 0x78 y está disponible a través de la cabecera Csm.h [SWS_Csm_00957]. Para la llamada se pasan los siguientes parámetros de entrada [SWS_Csm_00957]:

  • keyId: identificador de la clave para la que se va a establecer nuevo material de clave [SWS_Csm_00957].
  • keyElementId: identificador del elemento de clave en el que se va a escribir [SWS_Csm_00957].
  • keyElementPtr: puntero a los bytes del elemento de clave que se van a procesar [SWS_Csm_00957].
  • keyElementLength: cantidad de bytes del elemento de clave que se van a establecer [SWS_Csm_00957].

Valores de retorno y tratamiento de errores

La ejecución devuelve un estado del tipo Std_ReturnType que indica el éxito o causas de error específicas [SWS_Csm_00957]:

  • E_OK: La solicitud se completó correctamente [SWS_Csm_00957].
  • E_NOT_OK: La solicitud ha fallado [SWS_Csm_00957].
  • CRYPTO_E_BUSY: el Crypto Driver Object responsable está ocupado [SWS_Csm_00957].
  • CRYPTO_E_KEY_WRITE_FAIL: se ha denegado el acceso de escritura al elemento de clave [SWS_Csm_00957].
  • CRYPTO_E_KEY_NOT_AVAILABLE: la clave direccionada no está disponible [SWS_Csm_00957].
  • CRYPTO_E_KEY_SIZE_MISMATCH: el tamaño del elemento de clave no coincide con el tamaño de los datos proporcionados [SWS_Csm_00957].

Concurrencia y restricciones

La función Csm_KeyElementSet está especificada como síncrona y no reentrante (Non Reentrant) [SWS_Csm_00957]. No posee parámetros de entrada/salida (inout) ni de salida (out) [SWS_Csm_00957].

Este texto fue generado por una IA; la corrección técnica se basa en los documentos de especificación.

Guía del implementador pendiente (complejidad I1)

función Csm_KeySetValid [SWS_Csm_00958] 📄 PDF

Std_ReturnType Csm_KeySetValid (uint32 keyId);

Sets the key state of the key identified by key Id to valid.

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

La función síncrona Csm_KeySetValid sirve para establecer como válido («valid») el estado de clave de una clave direccionada mediante el identificador keyId, después de que se haya proporcionado nuevo material de clave [SWS_Csm_00958]. El servicio se proporciona a través de la cabecera Csm.h y posee el Service-ID 0x67 [SWS_Csm_00958].

Para el uso y los valores de retorno se aplican las siguientes determinaciones según [SWS_Csm_00958]:

  • Parámetro de entrada: Mediante keyId se transfiere el identificador de la clave para la que se validará el nuevo material.
  • Valor de retorno E_OK: La solicitud para validar el estado de la clave se realizó con éxito.
  • Valor de retorno E_NOT_OK: La solicitud ha fallado.
  • Valor de retorno CRYPTO_E_BUSY: La solicitud falló porque el Crypto Driver Object subyacente está ocupado.

En cuanto a la concurrencia, Csm_KeySetValid está especificada como no reentrante («Non Reentrant») [SWS_Csm_00958]. Por lo tanto, los llamadores deberían tener que garantizar una sincronización adecuada si las llamadas se realizan potencialmente desde contextos concurrentes. Pregunta Q-1762a3bca77ab74e (abierta)

Este texto fue generado por una IA a partir de la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función Csm_KeySetInvalid [SWS_Csm_91075] 📄 PDF

Std_ReturnType Csm_KeySetInvalid (uint32 keyId);

Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.

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

La función síncrona Csm_KeySetInvalid establece el estado de una clave como no válido [SWS_Csm_91075]. Una clave declarada no válida ya no se puede utilizar para operaciones criptográficas hasta que se haya devuelto de nuevo a un estado válido [SWS_Csm_91075].

Uso y parámetros

La llamada está disponible a través del encabezado Csm.h y se ejecuta de forma síncrona [SWS_Csm_91075]. Mediante el parámetro de entrada keyId (tipo uint32) se transfiere el identificador de la clave que se va a invalidar [SWS_Csm_91075].

Valores de retorno y tratamiento de errores

La función devuelve un valor de estado de tipo Std_ReturnType [SWS_Csm_91075]:

  • E_OK: La solicitud de invalidación se realizó con éxito [SWS_Csm_91075].
  • E_NOT_OK: La solicitud ha fallado [SWS_Csm_91075].
  • CRYPTO_E_BUSY: La solicitud ha fallado porque el objeto del controlador criptográfico está ocupado [SWS_Csm_91075].

Concurrencia y restricciones

La función está especificada como no reentrante (Non Reentrant) [SWS_Csm_91075]. Por lo tanto, los llamadores deben asegurarse de que las llamadas no se realicen de forma interruptiva o en paralelo sin coordinar. Si el objeto del controlador criptográfico competente está ocupado en el momento de la llamada, la operación se rechaza con CRYPTO_E_BUSY [SWS_Csm_91075].

Este texto fue generado por una IA a partir de la especificación.

Guía del implementador pendiente (complejidad I1)

función Csm_KeyGetStatus [SWS_Csm_91047] 📄 PDF

Std_ReturnType Csm_KeyGetStatus (uint32 keyId, Crypto_KeyStatusType* keyStatusPtr);

Returns the key state of the key identified by key Id.

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

usar

La función sincrónica Csm_KeyGetStatus sirve para consultar el estado actual de una clave especificada a través de su identificador [SWS_Csm_91047]. La declaración está disponible a través de la cabecera Csm.h [SWS_Csm_91047].

En la llamada se transfieren los siguientes parámetros [SWS_Csm_91047]:

  • keyId (entrada): Identificador de la clave cuyo estado se debe determinar.
  • keyStatusPtr (salida): Puntero a una posición de memoria de tipo Crypto_KeyStatusType en la que el CSM almacena el estado de la clave determinado.

Como valor de retorno, la función proporciona Std_ReturnType [SWS_Csm_91047]:

  • E_OK: La consulta de estado fue exitosa y el resultado está disponible a través del puntero de salida.
  • E_NOT_OK: La solicitud ha fallado.

Concurrencia y comportamiento

La función de servicio posee el Service-ID 0x83 y está especificada como reentrante [SWS_Csm_91047]. Dado que el proceso se realiza de forma sincrónica, la llamada bloquea al invocador hasta que finaliza la determinación del estado [SWS_Csm_91047]. El invocador debe proporcionar un área de memoria válida para keyStatusPtr, ya que los punteros no válidos presumiblemente conducen al valor de retorno E_NOT_OK. Pregunta Q-a920a9a12b1374aa (abierta)

Esta nota de uso se generó automáticamente a partir de datos de especificación de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función Csm_KeyElementGet [SWS_Csm_00959] 📄 PDF

Std_ReturnType Csm_KeyElementGet (uint32 keyId, uint32 keyElementId, uint8* keyElementPtr, Manager uint32* keyElementLengthPtr);

Service Csm_KeyElementGet.

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

La función síncrona y reentrante Csm_KeyElementGet lee los datos de un elemento de clave específico de la clave identificada mediante keyId y los copia en el área de memoria transferida [SWS_Csm_00959]. El servicio se declara a través del archivo de cabecera Csm.h y posee el Service-ID 0x68 [SWS_Csm_00959].

Parámetros y gestión de búferes

Para identificar el elemento se transfieren los parámetros keyId (identificador de la clave) y keyElementId (identificador del elemento de clave deseado) [SWS_Csm_00959]. La lectura requiere la provisión de un búfer de salida, así como la gestión de su longitud:

  • keyElementPtr: Puntero a la ubicación de memoria en la que se copiarán los bytes extraídos del elemento de clave [SWS_Csm_00959].
  • keyElementLengthPtr: Un parámetro de entrada/salida (inout) que, al llamar a la función, debe contener el tamaño máximo de búfer disponible de keyElementPtr en bytes. Tras finalizar el procesamiento, la función almacena aquí la longitud en bytes realmente escrita [SWS_Csm_00959].

Valores de retorno y análisis de errores

La función devuelve códigos de estado específicos como Std_ReturnType para indicar el resultado de la operación [SWS_Csm_00959]:

  • E_OK: El proceso de copia del elemento de clave se realizó con éxito [SWS_Csm_00959].
  • E_NOT_OK: la solicitud ha fallado de forma general [SWS_Csm_00959].
  • CRYPTO_E_BUSY: La solicitud falló porque el Crypto Driver Object afectado está ocupado actualmente [SWS_Csm_00959].
  • CRYPTO_E_KEY_NOT_AVAILABLE: El elemento de clave solicitado a través de keyElementId no está disponible [SWS_Csm_00959].
  • CRYPTO_E_KEY_READ_FAIL: se denegó el acceso de lectura al elemento de clave [SWS_Csm_00959].
  • CRYPTO_E_KEY_EMPTY: El elemento de clave de origen solicitado no está inicializado [SWS_Csm_00959].

Esta nota de uso se generó automáticamente a partir de la especificación de AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función Csm_KeyElementCopyManager [SWS_Csm_00969] 📄 PDF

Std_ReturnType Csm_KeyElementCopy (const uint32 keyId, const uint32 keyElementId, const uint32 targetKeyId, const uint32 targetKeyElementId);

Service Csm_KeyElementCopyManager.

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

La función síncrona Csm_KeyElementCopyManager sirve para copiar un elemento de clave individual desde una clave de origen a un elemento de destino de una clave de destino [SWS_Csm_00969]. La llamada se proporciona a través del archivo de cabecera Csm.h con el Service ID 0x71 y requiere cuatro parámetros de entrada: keyId y keyElementId para la identificación del elemento de clave de origen, así como targetKeyId y targetKeyElementId para el destino [SWS_Csm_00969].

En cuanto a la concurrencia, el servicio está diseñado como reentrante, pero explícitamente no para el mismo keyId [SWS_Csm_00969]. Por tanto, los accesos paralelos a la misma clave de origen deben evitarse o sincronizarse por parte del llamante.

La función devuelve un estado de tipo Std_ReturnType. En caso de ejecución exitosa, devuelve E_OK [SWS_Csm_00969]. En caso de error, se dispone de valores de retorno específicos para el análisis de causas [SWS_Csm_00969]:

  • CRYPTO_E_BUSY: El Crypto Driver Object subyacente está ocupado [SWS_Csm_00969].
  • CRYPTO_E_KEY_NOT_AVAILABLE: el elemento de clave solicitado no está disponible [SWS_Csm_00969].
  • CRYPTO_E_KEY_READ_FAIL: No está permitida la lectura del elemento de origen [SWS_Csm_00969].
  • CRYPTO_E_KEY_WRITE_FAIL: No está permitida la escritura en el elemento de destino [SWS_Csm_00969].
  • CRYPTO_E_KEY_SIZE_MISMATCH: Los tamaños de ambos elementos de clave son incompatibles entre sí [SWS_Csm_00969].
  • CRYPTO_E_KEY_EMPTY: El elemento de clave de origen todavía no está inicializado [SWS_Csm_00969].
  • E_NOT_OK: Errores generales durante la ejecución de la solicitud [SWS_Csm_00969].

Este texto fue generado por una IA y sirve como guía orientativa. Únicamente las especificaciones oficiales de AUTOSAR son vinculantes.

Guía del implementador pendiente (complejidad I1)

función Csm_KeyCopy [SWS_Csm_01034] 📄 PDF

Std_ReturnType Csm_KeyCopy (const uint32 keyId, const uint32 targetKeyId);

This function shall copy all key elements from the source key to a target key. Ava ilable via Csm.h

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

usar

La función de servicio síncrona Csm_KeyCopy con el Service ID 0x73 sirve para copiar íntegramente todos los elementos de clave de una clave de origen a una clave de destino [SWS_Csm_01034]. La declaración se pone a disposición mediante el archivo de cabecera Csm.h [SWS_Csm_01034]. Como parámetros de entrada no modificables se transfieren keyId para el identificador de la clave de origen y targetKeyId para el identificador de la clave de destino [SWS_Csm_01034]. No se definen parámetros adicionales de entrada/salida o de salida en la signatura [SWS_Csm_01034].

Tratamiento de errores y valores de retorno

El valor de retorno de tipo Std_ReturnType informa a quien realiza la llamada sobre el resultado de la ejecución [SWS_Csm_01034]. Mientras que E_OK señala una ejecución correcta, E_NOT_OK identifica un fallo general de la solicitud [SWS_Csm_01034]. Determinadas causas de error específicas se indican mediante valores de retorno criptográficos independientes [SWS_Csm_01034]:

  • CRYPTO_E_BUSY: La operación falló porque el objeto de controlador criptográfico está ocupado.
  • CRYPTO_E_KEY_NOT_AVAILABLE: el elemento de clave solicitado no está disponible.
  • CRYPTO_E_KEY_READ_FAIL: No está permitida la lectura del elemento de clave desde el origen.
  • CRYPTO_E_KEY_WRITE_FAIL: No está permitida la escritura del elemento de clave en el destino.
  • CRYPTO_E_KEY_SIZE_MISMATCH: Los tamaños de los elementos de clave involucrados no son compatibles entre sí.
  • CRYPTO_E_KEY_EMPTY: el elemento de clave de la clave de origen no está inicializado.

Concurrencia y restricciones

En lo relativo al comportamiento de llamada, Csm_KeyCopy está diseñada como reentrante, aunque con la restricción vinculante de que esto no es aplicable para el mismo keyId [SWS_Csm_01034].

Esta nota de uso ha sido generada por una IA sobre la base de la especificación.

función Csm_KeyElementCopyPartial [SWS_Csm_91025] 📄 PDF

Std_ReturnType Csm_KeyElementCopyPartial (uint32 keyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetKeyId, uint32 targetKeyElementId);

Service Csm_KeyElementCopyPartial.

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

La función síncrona Csm_KeyElementCopyPartial copia un subrango definido de un elemento de clave en otro elemento de clave dentro del mismo controlador criptográfico [SWS_Csm_91025]. Mediante los parámetros keyElementSourceOffset y keyElementCopyLength se determina a partir de qué byte y con qué longitud se copia el elemento de origen (identificado mediante keyId y keyElementId). La posición inicial en el elemento de destino (targetKeyId, targetKeyElementId) se especifica a través de keyElementTargetOffset [SWS_Csm_91025].

El valor de retorno proporciona el estado de ejecución así como causas de error específicas [SWS_Csm_91025]:

  • E_OK: el proceso de copia se ejecutó con éxito.
  • CRYPTO_E_BUSY: El objeto del controlador criptográfico está ocupado.
  • CRYPTO_E_KEY_NOT_AVAILABLE: el elemento de clave solicitado no está disponible.
  • CRYPTO_E_KEY_READ_FAIL: La lectura del elemento de clave de origen no está permitida.
  • CRYPTO_E_KEY_WRITE_FAIL: La escritura en el elemento de clave de destino no está permitida.
  • CRYPTO_E_KEY_SIZE_MISMATCH: Los tamaños de los elementos de clave involucrados son incompatibles.
  • CRYPTO_E_KEY_EMPTY: el elemento de clave de origen no está inicializado.
  • E_NOT_OK: La solicitud ha fallado por razones generales.

La función está implementada como reentrante, pero no debe llamarse simultáneamente para el mismo keyId [SWS_Csm_91025]. Además, la interfaz presupone que el origen y el destino se gestionan en el mismo controlador criptográfico [SWS_Csm_91025]. La declaración está disponible a través del encabezado Csm.h [SWS_Csm_91025].

Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función Csm_RandomSeed [SWS_Csm_01051] 📄 PDF

Std_ReturnType Csm_RandomSeed (uint32 keyId, const uint8* seedPtr, uint32 seedLength);

Feeds the key element CRYPTO_ KE_ RANDOM_ SEED with a random seed. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager

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

Uso y contexto de llamada

La función síncrona Csm_RandomSeed sirve para rellenar el elemento de clave CRYPTO_KE_RANDOM_SEED de una clave con un valor aleatorio (seed) transferido [SWS_Csm_01051]. Al llamar a la función, se transfieren mediante keyId el identificador de la clave de destino, mediante seedPtr el puntero a la posición de memoria con los datos de seed y mediante seedLength la longitud del seed en bytes [SWS_Csm_01051].

Interacción

Si el CSM no detecta errores durante la ejecución, la función Csm_RandomSeed reenvía la llamada al servicio directamente a CryIf_RandomSeed de la Crypto Interface [SWS_Csm_01052].

Tratamiento de errores y valores de retorno

La función devuelve un valor de estado de tipo Std_ReturnType [SWS_Csm_01051]:

  • E_OK: La solicitud se completó correctamente [SWS_Csm_01051].
  • E_NOT_OK: La solicitud ha fallado [SWS_Csm_01051].
  • CRYPTO_E_BUSY: La ejecución falló porque el Crypto Driver Object correspondiente está ocupado actualmente [SWS_Csm_01051].
  • CRYPTO_E_KEY_NOT_VALID: La solicitud se rechazó porque el estado de la clave no es válido [SWS_Csm_01051].

Concurrencia y restricciones

En cuanto al comportamiento de concurrencia, Csm_RandomSeed está implementado de forma reentrante, aunque no se debe llamar al mismo tiempo para la misma keyId [SWS_Csm_01051].

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

Guía del implementador pendiente (complejidad I1)

función Csm_KeyGenerate [SWS_Csm_00955] 📄 PDF

Std_ReturnType Csm_KeyGenerate (uint32 keyId);

Generates new key material and store it in the key identified by key Id.

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

La función síncrona Csm_KeyGenerate sirve para la generación de nuevo material de clave criptográfica y lo almacena directamente en la clave determinada a través del parámetro keyId [SWS_Csm_00955]. La interfaz se proporciona a través del archivo de cabecera Csm.h y posee el Service-ID 0x6a [SWS_Csm_00955].

En la llamada, la aplicación transfiere el identificador keyId (tipo uint32) de la clave para la cual debe generarse el material; no existen parámetros de entrada/salida ni parámetros exclusivos de salida [SWS_Csm_00955]. El estado de la operación se notifica de forma síncrona a través del valor de retorno del tipo Std_ReturnType [SWS_Csm_00955]:

  • E_OK: La generación y el almacenamiento del material de clave se realizaron con éxito [SWS_Csm_00955].
  • E_NOT_OK: La solicitud ha fallado [SWS_Csm_00955].
  • CRYPTO_E_BUSY: La ejecución falló porque el objeto de controlador criptográfico responsable está actualmente ocupado [SWS_Csm_00955].
  • CRYPTO_E_KEY_NOT_VALID: La solicitud se rechazó porque la clave de destino se encuentra en el estado «invalid» [SWS_Csm_00955].
  • CRYPTO_E_KEY_EMPTY: La generación falló debido a un elemento de clave de origen no inicializado [SWS_Csm_00955].

En cuanto a la concurrencia, Csm_KeyGenerate está diseñada para ser reentrante, pero no debe llamarse de forma concurrente para la misma keyId [SWS_Csm_00955].

Este texto ha sido generado por una IA a partir de la especificación.

función Csm_KeyDerive [SWS_Csm_00956] 📄 PDF

Std_ReturnType Csm_KeyDerive (uint32 keyId, uint32 targetKeyId);

Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the k ey element with the id 1 of the key identified by target Crypto Key Id.

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

La función síncrona Csm_KeyDerive sirve para derivar una nueva clave criptográfica a partir de una clave de origen especificada [SWS_Csm_00956]. La función está declarada en el archivo de cabecera Csm.h y posee el Service-ID 0x6b [SWS_Csm_00956].

Uso y parámetros

La llamada síncrona procesa dos parámetros de entrada [SWS_Csm_00956]:

  • keyId: Identificador de la clave de origen que contiene los elementos de clave para contraseña y salt [SWS_Csm_00956].
  • targetKeyId: Identificador de la clave de destino; el material de clave derivado se deposita en el elemento de clave con el ID 1 [SWS_Csm_00956].

Valores de retorno y tratamiento de errores

Como valor de retorno, la función devuelve el estado Std_ReturnType [SWS_Csm_00956]. Además de E_OK en caso de ejecución correcta y E_NOT_OK en caso de errores generales, se definen errores criptográficos específicos [SWS_Csm_00956]:

  • CRYPTO_E_BUSY: El objeto de controlador criptográfico está sobrecargado [SWS_Csm_00956].
  • CRYPTO_E_KEY_READ_FAIL: La lectura del elemento de clave no está permitida [SWS_Csm_00956].
  • CRYPTO_E_KEY_WRITE_FAIL: La escritura en el elemento de clave de destino no está permitida [SWS_Csm_00956].
  • CRYPTO_E_KEY_NOT_VALID: El estado de la clave no es válido [SWS_Csm_00956].
  • CRYPTO_E_KEY_SIZE_MISMATCH: Los tamaños de los elementos de clave son incompatibles [SWS_Csm_00956].
  • CRYPTO_E_KEY_EMPTY: El elemento de clave de origen no está inicializado [SWS_Csm_00956].

Concurrencia e interacción

La función es reentrante, pero expresamente no para la misma keyId [SWS_Csm_00956]. Si no se detectan errores en el CSM, el servicio reenvía directamente la ejecución a CryIf_KeyDerive [SWS_Csm_01018].

Este texto ha sido generado por una IA a partir de las especificaciones AUTOSAR.

Guía del implementador pendiente (complejidad I1)

función Csm_KeyExchangeCalcPubVal [SWS_Csm_00966] 📄 PDF

Std_ReturnType Csm_KeyExchangeCalcPubVal (uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

Calculates the public value of the current user for the key exchange and stores the pub lic key in the memory location pointed by the public value pointer.

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

La interfaz síncrona Csm_KeyExchangeCalcPubVal (Service-ID 0x6c, disponible a través de Csm.h) calcula el valor público del usuario actual para el protocolo de intercambio de claves y almacena la clave pública en la dirección de memoria referenciada por el puntero publicValuePtr [SWS_Csm_00966].

Parámetros y gestión de búfer

La función procesa tres parámetros de transferencia [SWS_Csm_00966]:

  • keyId (entrada): Contiene el identificador de la clave que se utilizará para el protocolo de intercambio de claves [SWS_Csm_00966].
  • publicValuePtr (salida): Puntero al área de memoria en la que se deposita el valor de clave pública resultante [SWS_Csm_00966].
  • publicValueLengthPtr (entrada/salida): Puntero a la información de longitud. Al realizar la llamada, este parámetro debe contener el tamaño proporcionado del búfer publicValuePtr; tras finalizar la ejecución, se almacena allí la longitud real del valor calculado [SWS_Csm_00966].

Tratamiento de errores y valores de retorno

El estado de ejecución se notifica mediante Std_ReturnType [SWS_Csm_00966]:

  • E_OK: La solicitud se realizó con éxito [SWS_Csm_00966].
  • E_NOT_OK: la solicitud ha fallado [SWS_Csm_00966].
  • CRYPTO_E_BUSY: La solicitud ha fallado porque el objeto de controlador criptográfico está ocupado [SWS_Csm_00966].
  • CRYPTO_E_KEY_NOT_VALID: La solicitud falla porque el estado de la clave no es válido [SWS_Csm_00966].
  • CRYPTO_E_KEY_EMPTY: La solicitud falla debido a un elemento de clave de origen no inicializado [SWS_Csm_00966].

concurrencia

La función está diseñada como reentrante, pero no debe llamarse simultáneamente para el mismo keyId [SWS_Csm_00966].

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

función Csm_KeyExchangeCalcSecret [SWS_Csm_00967] 📄 PDF

Std_ReturnType Csm_KeyExchangeCalcSecret (uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.

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

La función síncrona Csm_KeyExchangeCalcSecret sirve en el Crypto Service Manager para calcular un secreto compartido (Shared Secret Key) en el marco de un protocolo de intercambio de claves [SWS_Csm_00967]. En este proceso, el material de clave de la clave referenciada mediante keyId se combina con el valor público del interlocutor de comunicación. La clave secreta calculada se deposita a continuación directamente como elemento de clave dentro de la misma clave [SWS_Csm_00967].

La interfaz se proporciona mediante el encabezado Csm.h y espera tres parámetros de entrada [SWS_Csm_00967]:

  • keyId: Identificador de la clave cuyo material de clave se utiliza para el protocolo.
  • partnerPublicValuePtr: puntero al área de memoria que contiene el valor público del interlocutor.
  • partnerPublicValueLength: Longitud en bytes del valor del interlocutor transferido.

La llamada devuelve como valor de retorno de tipo Std_ReturnType bien E_OK en caso de ejecución correcta o E_NOT_OK en caso de un error general [SWS_Csm_00967]. Los casos de error específicos se señalan mediante códigos de estado detallados: CRYPTO_E_BUSY indica que el objeto de controlador criptográfico subyacente está ocupado. Si el estado de la clave no es válido, se devuelve CRYPTO_E_KEY_NOT_VALID, mientras que CRYPTO_E_KEY_EMPTY advierte de un elemento de clave de origen no inicializado [SWS_Csm_00967].

En lo relativo a la concurrencia, la función está diseñada como reentrante, pero no debe llamarse simultáneamente para el mismo keyId [SWS_Csm_00967].

Nota de uso generada automáticamente a partir de la especificación AUTOSAR CP R20-11.

función Csm_JobKeySetValid [SWS_Csm_91027] 📄 PDF

Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId);

Stores the key if necessary and sets the key state of the key identified by key Id to valid.

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

usar

La función Csm_JobKeySetValid almacena la clave si es necesario y establece el estado de la clave identificada a través de keyId en válido [SWS_Csm_91027]. La interfaz se declara a través del archivo de cabecera Csm.h y posee el Service-ID 0x7a con la firma Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId) [SWS_Csm_91027].

En la llamada se transfieren dos parámetros de entrada de tipo uint32 [SWS_Csm_91027]:

  • jobId: Contiene el identificador del trabajo que utiliza el servicio de CSM [SWS_Csm_91027].
  • keyId: Contiene el identificador de la clave para la cual se debe validar el nuevo material de clave [SWS_Csm_91027].

Para esta función no se han definido parámetros adicionales de entrada/salida ni parámetros exclusivos de salida [SWS_Csm_91027].

Comportamiento sincrónico y asincrónico, así como concurrencia

La semántica de ejecución depende de la configuración respectiva del trabajo: la llamada se realiza de forma sincrónica o asincrónica [SWS_Csm_91027]. La función está especificada como reentrante [SWS_Csm_91027].

Valores de retorno y tratamiento de errores

El valor de retorno de tipo Std_ReturnType refleja el resultado de la solicitud de la función [SWS_Csm_91027]:

Esta nota de uso se generó automáticamente sobre la base de la especificación SWS_Csm_91027.

Guía del implementador pendiente (complejidad I1)

función Csm_JobKeySetInvalid [SWS_Csm_91002] 📄 PDF

Std_ReturnType Csm_JobKeySetInvalid (uint32 jobId, uint32 keyId);

Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.

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

usar

La función Csm_JobKeySetInvalid establece el estado de una clave criptográfica en no válido [SWS_Csm_91002]. Tras llamar a esta interfaz, la clave en cuestión ya no puede utilizarse para operaciones criptográficas hasta que haya vuelto a pasar a un estado válido [SWS_Csm_91002]. El servicio cuenta con el Service ID 0x84, está disponible a través del archivo de cabecera Csm.h y opera de forma síncrona o asíncrona en función de la configuración del trabajo [SWS_Csm_91002].

Para la llamada se transfieren los siguientes parámetros [SWS_Csm_91002]:

  • jobId: Identificador del trabajo CSM que utiliza este servicio [SWS_Csm_91002].
  • keyId: Identificador de la clave que se desea invalidar [SWS_Csm_91002].

Tratamiento de errores y valores de retorno

El valor de retorno de tipo Std_ReturnType notifica el resultado de la solicitud [SWS_Csm_91002]:

concurrencia

La interfaz está especificada como reentrante [SWS_Csm_91002]. No existen parámetros adicionales de entrada o de salida [SWS_Csm_91002].

Este texto ha sido generado por una IA a partir de la especificación.

Guía del implementador pendiente (complejidad I1)

función Csm_JobRandomSeed [SWS_Csm_91028] 📄 PDF

Std_ReturnType Csm_JobRandomSeed (uint32 jobId, uint32 keyId, const uint8* seedPtr, Manager uint32 seedLength);

Provides a new seed for the specified key that is used for an associated random number generator.

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

Uso y contexto de llamada

La función Csm_JobRandomSeed sirve para proporcionar una nueva semilla para una clave determinada, la cual se utiliza para un generador de números aleatorios asignado [SWS_Csm_91028]. La declaración está disponible en la cabecera Csm.h [SWS_Csm_91028]. La función posee el Service-ID 0x7b y procesa cuatro parámetros de entrada: mediante jobId se identifica el trabajo del CSM usuario, mientras que keyId determina la clave de destino para la cual se debe generar la semilla [SWS_Csm_91028]. A través del puntero seedPtr se transfieren los datos de inicialización y con seedLength se establece su longitud en bytes [SWS_Csm_91028]. El comportamiento de ejecución se rige por la configuración del trabajo respectivo y tiene lugar de forma síncrona o asíncrona [SWS_Csm_91028].

Tratamiento de errores y valores de retorno

La función devuelve un estado del tipo Std_ReturnType que indica el resultado de la solicitud [SWS_Csm_91028]:

  • E_OK: La solicitud se completó correctamente [SWS_Csm_91028].
  • E_NOT_OK: la solicitud ha fallado de forma general [SWS_Csm_91028].
  • CRYPTO_E_BUSY: la solicitud falló porque el servicio aún está ocupado en este momento [SWS_Csm_91028].
  • CRYPTO_E_KEY_NOT_VALID: la solicitud fue rechazada porque la clave especificada se encuentra en el estado invalid [SWS_Csm_91028].

Concurrencia y restricciones

La interfaz está especificada como reentrante [SWS_Csm_91028]. Si una aplicación invoca el servicio mientras otra operación aún está activa, el valor de retorno CRYPTO_E_BUSY señaliza este estado [SWS_Csm_91028]. Además, antes de la ejecución debe asegurarse de que la clave direccionada a través de keyId sea válida para evitar el error CRYPTO_E_KEY_NOT_VALID [SWS_Csm_91028].

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

función Csm_JobKeyGenerate [SWS_Csm_91029] 📄 PDF

Std_ReturnType Csm_JobKeyGenerate (uint32 jobId, uint32 keyId);

Generates new key material and stores it in the key identified by key Id.

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

usar

La función Csm_JobKeyGenerate genera nuevo material de clave y lo almacena en la clave identificada mediante keyId [SWS_Csm_91029]. A través del parámetro jobId se pasa el identificador del trabajo que utiliza el servicio CSM [SWS_Csm_91029]. La ejecución se realiza de forma síncrona o asíncrona según la configuración del trabajo correspondiente [SWS_Csm_91029]. El servicio está declarado a través del archivo de encabezado Csm.h con el ID de servicio 0x7c [SWS_Csm_91029].

Valores de retorno y tratamiento de errores

El valor de retorno de tipo Std_ReturnType proporciona información sobre el resultado de la solicitud [SWS_Csm_91029]:

  • E_OK: La solicitud se completó correctamente [SWS_Csm_91029].
  • E_NOT_OK: La solicitud ha fallado [SWS_Csm_91029].
  • CRYPTO_E_BUSY: El servicio todavía está ocupado en este momento [SWS_Csm_91029].
  • CRYPTO_E_KEY_NOT_VALID: El estado de la clave no es válido (invalid) [SWS_Csm_91029].
  • CRYPTO_E_KEY_EMPTY: La solicitud falló debido a un elemento de clave de origen no inicializado [SWS_Csm_91029].

Concurrencia y restricciones

La función está especificada como reentrante [SWS_Csm_91029]. Interpretación: Dado que la especificación no prescribe ningún contexto de ejecución específico, la llamada normalmente debería realizarse en el contexto de tarea. Pregunta Q-236d699ed655e285 (abierta)

Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR CP R20-11.

función Csm_JobKeyDerive [SWS_Csm_91030] 📄 PDF

Std_ReturnType Csm_JobKeyDerive (uint32 jobId, uint32 keyId, uint32 targetKeyId);

Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the key element with the id 1 of the key identified by target Crypto

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

Uso y semántica

La función Csm_JobKeyDerive deriva una nueva clave criptográfica utilizando los elementos de clave para la contraseña y la sal procedentes de la clave identificada mediante keyId [SWS_Csm_91030]. El resultado se almacena en el elemento de clave con el ID 1 de la clave de destino especificada mediante targetKeyId [SWS_Csm_91030]. La llamada se realiza a través del archivo de encabezado Csm.h con el ID de servicio 0x7d, pasando el trabajo correspondiente a través de jobId [SWS_Csm_91030].

El procesamiento se lleva a cabo de forma síncrona o asíncrona, según la configuración del trabajo transferido [SWS_Csm_91030]. La función está especificada como reentrante [SWS_Csm_91030].

Tratamiento de errores y valores de retorno

Como valor de retorno, la función proporciona el tipo Std_ReturnType. Una ejecución correcta de la solicitud se confirma mediante E_OK [SWS_Csm_91030]. En caso de error o de condiciones previas inadecuadas, se notifican valores de retorno específicos [SWS_Csm_91030]:

  • E_NOT_OK: la solicitud ha fallado [SWS_Csm_91030].
  • CRYPTO_E_BUSY: La solicitud falla porque el servicio todavía está ocupado en este momento [SWS_Csm_91030].
  • CRYPTO_E_KEY_READ_FAIL: La lectura del elemento de clave no está permitida [SWS_Csm_91030].
  • CRYPTO_E_KEY_WRITE_FAIL: La escritura en el elemento de clave de destino no está permitida [SWS_Csm_91030].
  • CRYPTO_E_KEY_NOT_VALID: El estado de la clave no es válido [SWS_Csm_91030].
  • CRYPTO_E_KEY_SIZE_MISMATCH: Los tamaños de los elementos de clave involucrados no son compatibles entre sí [SWS_Csm_91030].
  • CRYPTO_E_KEY_EMPTY: el elemento de clave de origen no está inicializado [SWS_Csm_91030].

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

función Csm_JobKeyExchangeCalcPubVal [SWS_Csm_91031] 📄 PDF

Std_ReturnType Csm_JobKeyExchangeCalcPubVal (uint32 jobId, uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

Calculates the public value of the current user for the key exchange and stores the

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

usar

La función Csm_JobKeyExchangeCalcPubVal calcula el valor público del participante actual para el protocolo de intercambio de claves y lo guarda en la memoria de destino indicada [SWS_Csm_91031]. En función de la configuración del trabajo asignado, el procesamiento se realiza de forma síncrona o asíncrona [SWS_Csm_91031].

La transferencia de los parámetros se realiza a través de los siguientes datos de interfaz [SWS_Csm_91031]:

  • jobId: identificador del trabajo del CSM que hace uso del servicio criptográfico.
  • keyId: identificador de la clave utilizada para el protocolo de intercambio de claves.
  • publicValuePtr: puntero al área de búfer en la que se almacena la clave pública calculada.
  • publicValueLengthPtr: puntero a la especificación de longitud. Al llamar a la función, este parámetro debe contener la capacidad del búfer publicValuePtr; tras finalizar la ejecución, se inscribe la longitud real del valor calculado.

Manejo de errores

El valor de retorno de tipo Std_ReturnType informa sobre el estado de ejecución de la solicitud [SWS_Csm_91031]:

  • E_OK: la solicitud se ejecutó con éxito.
  • E_NOT_OK: La solicitud ha fallado.
  • CRYPTO_E_BUSY: el servicio solicitado aún está ocupado en este momento.
  • CRYPTO_E_KEY_NOT_VALID: el estado de la clave no es válido.
  • CRYPTO_E_KEY_EMPTY: el elemento de clave de origen no está inicializado.

Concurrencia e integración

La interfaz está declarada como reentrante, posee el Service-ID 0x7e y se proporciona a través del archivo de cabecera Csm.h [SWS_Csm_91031].

Esta nota de uso se generó de forma automatizada sobre la base de la especificación AUTOSAR R20-11.

función Csm_JobKeyExchangeCalcSecret [SWS_Csm_91032] 📄 PDF

Std_ReturnType Csm_JobKeyExchangeCalcSecret (uint32 jobId, uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.

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

Uso y semántica

La función Csm_JobKeyExchangeCalcSecret calcula la clave secreta compartida (Shared Secret Key) para un intercambio de claves utilizando el material de clave de la clave identificada mediante keyId, así como la clave pública del interlocutor de comunicación [SWS_Csm_91032]. La dirección de memoria de la clave del interlocutor se pasa mediante partnerPublicValuePtr y su longitud en bytes se define a través de partnerPublicValueLength [SWS_Csm_91032]. El secreto compartido calculado se almacena directamente como elemento de clave dentro de la misma clave [SWS_Csm_91032].

A través del parámetro de entrada jobId se identifica el trabajo del CSM usuario. El comportamiento de ejecución es síncrono o asíncrono, según la configuración del trabajo respectivo [SWS_Csm_91032].

Tratamiento de errores y valores de retorno

El valor de retorno de tipo Std_ReturnType notifica el estado de la solicitud de servicio [SWS_Csm_91032]:

  • E_OK: La solicitud de servicio se ha realizado correctamente [SWS_Csm_91032].
  • E_NOT_OK: La solicitud de servicio ha fallado [SWS_Csm_91032].
  • CRYPTO_E_BUSY: la solicitud falla porque el servicio subyacente aún está ocupado [SWS_Csm_91032].
  • CRYPTO_E_KEY_NOT_VALID: la solicitud falla porque la clave referenciada se encuentra en el estado «invalid» [SWS_Csm_91032].
  • CRYPTO_E_KEY_EMPTY: el cálculo falla porque un elemento de clave de origen requerido no está inicializado [SWS_Csm_91032].

Concurrencia e integración

La función está diseñada como reentrante, posee el Service-ID 0x7f y se declara a través del archivo de cabecera Csm.h [SWS_Csm_91032].

Este texto ha sido generado por una IA. Lo determinante es exclusivamente la especificación.

función Csm_SaveContextJob [SWS_Csm_91063] 📄 PDF

Std_ReturnType Csm_SaveContextJob (uint32 jobId, uint8* contextBufferPtr, uint32* contextBufferLengthPtr);

The Crypto Driver stores the internal context of the respective crypto operation to the context Buffer.

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

La función Csm_SaveContextJob solicita al Crypto Driver que guarde el contexto interno de la operación criptográfica respectiva en un búfer del lado de la aplicación [SWS_Csm_91063]. El servicio está declarado en el archivo de cabecera Csm.h y tiene el Service-ID 0x86 [SWS_Csm_91063].

La interfaz espera los siguientes parámetros [SWS_Csm_91063]:

  • jobId (entrada): indica el identificador unívoco del trabajo que utiliza el servicio CSM.
  • contextBufferLengthPtr (entrada/salida): puntero al valor de longitud. En el momento de la llamada indica la capacidad máxima disponible en el búfer de destino; tras la ejecución contiene la longitud de datos realmente escrita o, en caso de error, el valor 0.
  • contextBufferPtr (salida): puntero al área de memoria de la aplicación en la que se deben escribir los datos de contexto.

La ejecución se realiza de forma síncrona o asíncrona en función de la configuración del trabajo [SWS_Csm_91063]. Además, la función está especificada como reentrante [SWS_Csm_91063].

Para notificar el estado de la operación se definen los siguientes valores de retorno [SWS_Csm_91063]:

  • E_OK: los datos de contexto se han almacenado correctamente en el búfer y se ha actualizado la indicación de longitud.
  • E_NOT_OK: no se han podido proporcionar los datos de contexto porque los valores son inválidos; la longitud notificada se establece en 0.
  • CRYPTO_E_BUSY: la solicitud ha fallado porque el servicio criptográfico subyacente todavía está ocupado.

Esta nota de uso se generó automáticamente a partir de los datos de especificación.

función Csm_RestoreContextJob [SWS_Csm_91064] 📄 PDF

Std_ReturnType Csm_RestoreContextJob (uint32 jobId, uint8* contextBufferPtr, uint32 contextBufferLength);

The Crypto Driver extracts the context data from the context Buffer and restores the internal state so that further crypto operation of this crypto service will continue at the exact point when the context was taken.

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

Uso y semántica

La función Csm_RestoreContextJob sirve para restaurar el estado interno de un trabajo criptográfico a partir de un búfer externo, de modo que las operaciones posteriores continúen en el punto exacto de la copia de seguridad previa [SWS_Csm_91064]. A través del parámetro jobId se direcciona el trabajo de destino, mientras que contextBufferPtr apunta a los datos útiles y contextBufferLength al tamaño de estos en bytes [SWS_Csm_91064]. La ejecución se realiza de forma síncrona o asíncrona según la configuración del trabajo correspondiente [SWS_Csm_91064].

Valores de retorno y tratamiento de errores

La función notifica el resultado de la operación mediante su valor de retorno de tipo Std_ReturnType [SWS_Csm_91064]:

  • E_OK: Los datos de contexto se leyeron correctamente y se restauró el estado interno del controlador [SWS_Csm_91064].
  • E_NOT_OK: La restauración del contexto falló [SWS_Csm_91064].
  • CRYPTO_E_BUSY: El servicio criptográfico subyacente está ocupado en este momento, por lo que la solicitud fue rechazada [SWS_Csm_91064].

Concurrencia y restricciones

La interfaz está especificada como reentrante y disponible a través de Csm.h (ID de servicio 0x87) [SWS_Csm_91064]. Interpretación: En caso de una configuración asíncrona del trabajo, el llamador probablemente deba asegurarse de que el búfer bajo contextBufferPtr permanezca inalterado y válido hasta la finalización efectiva de la restauración. Pregunta Q-8ab0cb179f807bd4 (abierta)

Este texto fue creado por una IA. No sustituye el examen de las especificaciones de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

función Csm_CancelJob [SWS_Csm_00968] 📄 PDF

Std_ReturnType Csm_CancelJob (uint32 job, Crypto_OperationModeType mode);

Cancels the job processing from asynchronous or streaming jobs .

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

Uso y contexto de llamada

La función Csm_CancelJob (Service ID 0x6f) sirve para la cancelación síncrona del procesamiento de trabajos asíncronos o de streaming dentro del módulo Csm [SWS_Csm_00968]. La interfaz se proporciona a través de la cabecera Csm.h [SWS_Csm_00968]. Como parámetros, la función toma el identificador del trabajo que se va a cancelar mediante job (del tipo uint32), así como el parámetro mode (del tipo Crypto_OperationModeType), el cual no se utiliza y sirve exclusivamente para la compatibilidad de interfaz [SWS_Csm_00968].

Valores de retorno y comportamiento de cancelación

El resultado de la llamada de cancelación se indica de forma síncrona a través del valor de retorno del tipo Std_ReturnType [SWS_Csm_00968]:

  • E_OK: la cancelación fue exitosa de inmediato; el trabajo se eliminó de todas las colas y potencialmente de manera directa del hardware del controlador criptográfico [SWS_Csm_00968].
  • E_NOT_OK: la solicitud de cancelación ha fallado [SWS_Csm_00968].
  • CRYPTO_E_JOB_CANCELED: no fue posible una cancelación inmediata; la cancelación se consumará en el siguiente paso de procesamiento adecuado y, a continuación, se notificará a través del callback de finalización negativo del trabajo [SWS_Csm_00968].

Concurrencia y restricciones

La especificación define Csm_CancelJob como síncrona y no reentrante (Non Reentrant) [SWS_Csm_00968]. Por lo tanto, los componentes emisores de la llamada deben asegurarse de que no se produzcan llamadas concurrentes a la función.

Esta nota de uso se generó de manera automatizada y se basa exclusivamente en los datos de especificación de AUTOSAR Classic Release R20-11.

Guía del implementador pendiente (complejidad I1)

función Csm_CallbackNotification [SWS_Csm_00970] 📄 PDF

void Csm_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);

Notifies the CSM that a job has finished. This function is used by the underlying layer (CRYIF).

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

La interfaz síncrona Csm_CallbackNotification se declara a través del archivo de cabecera Csm.h y sirve a la capa subyacente (CRYIF) como función de notificación para informar al Crypto Service Manager (CSM) sobre la finalización de una orden criptográfica [SWS_Csm_00970]. La función no posee valor de retorno y acepta dos parámetros de entrada: el puntero job a la orden finalizada de tipo Crypto_JobType*, así como result de tipo Crypto_ResultType, que transmite el resultado de ejecución de la operación criptográfica subyacente [SWS_Csm_00970].

Con respecto a la concurrencia, la ejecución de Csm_CallbackNotification está especificada como reentrante [SWS_Csm_00970]. En el elemento no se definen códigos de retorno específicos ni mensajes de error DET o DEM separados; en su lugar, los estados de error y los resultados de ejecución del procesamiento criptográfico se proporcionan directamente a través del argumento pasado result [SWS_Csm_00970].

En el marco de la interacción, la función comprueba el modo de procesamiento de la orden: si en el campo job->jobPrimitiveInputOutput.mode está establecido el bit CRYPTO_OPERATIONMODE_FINISH, la especificación Csm_CallbackNotification obliga a invocar la función de retrollamada configurada [SWS_Csm_01044]. Interpretación: Es de suponer que esta llamada sea la notificación a la capa de aplicación superior, ya que el flag FINISH señaliza la finalización definitiva de una secuencia de operaciones criptográficas. Pregunta Q-32da2433b15ba3a9 (abierta)

Esta nota de uso fue generada por una IA a partir de la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función Csm_MainFunction [SWS_Csm_00479] 📄 PDF

void Csm_MainFunction (void);

API to be called cyclically to process the requested jobs. The Csm_ Main Function shall check the queues for jobs to pass to the underlying CRYIF. Per configured Csm Main Function ins tance one Csm_ Main Function_ shall be implemented. Hereby is the short name of the Csm Main Function configuration container in the ECU configuration.

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

usar

La función Csm_MainFunction se invoca cíclicamente para procesar trabajos criptográficos solicitados [SWS_Csm_00479]. No tiene parámetros de paso (void) y no devuelve ningún valor de retorno [SWS_Csm_00479]. La declaración está disponible a través de la cabecera SchM_Csm.h [SWS_Csm_00479].

Tareas e interacción

En el marco de su ejecución periódica, la función comprueba las colas internas en busca de trabajos pendientes y los entrega a la capa subyacente CRYIF [SWS_Csm_00479].

Instanciación y contexto de llamada

Por cada instancia configurada se implementa una función dedicada con la forma Csm_MainFunction_<shortName>, donde <shortName> corresponde al nombre corto del contenedor de configuración en la configuración de la ECU [SWS_Csm_00479]. Es de suponer que la llamada cíclica se realice según lo previsto por el planificador de BSW (SchM) en una tarea periódica, ya que la interfaz se proporciona a través de SchM_Csm.h. Pregunta Q-ffb62942b1f517b3 (abierta)

Tratamiento de errores y condiciones límite

Los códigos de error específicos, las notificaciones de DET o DEM, así como las especificaciones explícitas de reentrancia no se describen en el presente extracto de la especificación [SWS_Csm_00479].

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

función <Csm_ApplicationCallbackNotification> [SWS_Csm_00971] 📄 PDF

void <Csm_ApplicationCallbackNotification> (uint32 jobId, Crypto_ResultType result);

CSM notifies the application that a job has finished. The function name is configurable. The function name itself is derived from "{Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func".

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

La función de retrollamada configurable <Csm_ Application Callback Notification> sirve para que el Crypto Service Manager (CSM) informe de forma síncrona a una aplicación sobre el fin de un trabajo de procesamiento [SWS_Csm_00971]. El identificador de la función no está prefijado de manera fija, sino que se define de forma específica para cada proyecto mediante el parámetro de configuración {Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func [SWS_Csm_00971]. La interfaz cuenta con el Service ID 0x82 y se proporciona a través del archivo de cabecera Csm.h [SWS_Csm_00971].

La signatura no posee valor de retorno (void) y transfiere dos parámetros de entrada a la aplicación para su evaluación [SWS_Csm_00971]:

  • jobId (uint32): Designa el ID unívoco del trabajo criptográfico cuya finalización ha desencadenado la retrollamada [SWS_Csm_00971].
  • result (Crypto_ResultType): Transmite el resultado o el estado de la operación criptográfica ejecutada [SWS_Csm_00971].

En relación con la concurrencia, la función de notificación está especificada como reentrante [SWS_Csm_00971]. No se definen códigos de error DET o DEM específicos para la retrollamada misma; los errores producidos durante la operación previa deben evaluarse directamente mediante result [SWS_Csm_00971]. Puesto que la interfaz está declarada como reentrante, cabe presumir que la implementación del lado de la aplicación deba diseñarse de modo que pueda procesar de forma segura entre hilos notificaciones simultáneas para diferentes trabajos. Pregunta Q-79504ea3461f8d61 (abierta)

Este texto ha sido generado automáticamente a partir de la especificación AUTOSAR.

tipo Crypto_AlgorithmModeType [SWS_Csm_01048] 📄 PDF

Type Crypto_AlgorithmModeType.

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

El tipo de enumeración Crypto_AlgorithmModeType especifica, según [SWS_Csm_01048], el modo de operación de un algoritmo criptográfico. Está disponible a través del archivo de cabecera Crypto_GeneralTypes.h y sirve para la configuración estandarizada así como para la selección en tiempo de ejecución de procedimientos criptográficos en el Crypto Service Manager.

Uso y rango de valores:

  • Modos clásicos de cifrado por bloques: se admiten, entre otros, CRYPTO_ALGOMODE_ECB, CRYPTO_ALGOMODE_CBC, CRYPTO_ALGOMODE_CFB, CRYPTO_ALGOMODE_OFB, CRYPTO_ALGOMODE_CTR, CRYPTO_ALGOMODE_GCM así como CRYPTO_ALGOMODE_XTS [SWS_Csm_01048].
  • Procedimientos asimétricos y relleno: se incluyen modos para cifrado y firmas como CRYPTO_ALGOMODE_RSAES_OAEP, CRYPTO_ALGOMODE_RSAES_PKCS1_v1_5, CRYPTO_ALGOMODE_RSASSA_PSS y CRYPTO_ALGOMODE_RSASSA_PKCS1_v1_5 [SWS_Csm_01048].
  • Otros modos de operación: el rango de valores abarca números de rondas (CRYPTO_ALGOMODE_8ROUNDS, CRYPTO_ALGOMODE_12ROUNDS, CRYPTO_ALGOMODE_20ROUNDS), procedimientos MAC (CRYPTO_ALGOMODE_HMAC, CRYPTO_ALGOMODE_CMAC, CRYPTO_ALGOMODE_GMAC), generadores de bits aleatorios (CRYPTO_ALGOMODE_CTRDRBG), variantes de SipHash así como definiciones de curvas como CRYPTO_ALGOMODE_PXXXR1 [SWS_Csm_01048].
  • Estados especiales: con CRYPTO_ALGOMODE_NOT_SET (0x00) se indica una clave de algoritmo no establecida, mientras que CRYPTO_ALGOMODE_CUSTOM (0xff) permite modos de operación específicos del fabricante [SWS_Csm_01048].

Interpretación: dado que Crypto_AlgorithmModeType es una enumeración pura, el tipo no posee un tratamiento de errores propio mediante DET o DEM y no está sujeto a requisitos de reentrancia. Pregunta Q-3d2e905dda6531ac (abierta) Las comprobaciones de errores y las restricciones relativas al contexto de llamada se derivan únicamente de las funciones del CSM a las que se transfieren valores de este tipo como parámetros.

Esta nota de uso fue generada de forma automatizada sobre la base de la especificación SWS_Csm_01048.

Guía del implementador pendiente (complejidad I1)

tipo Crypto_InputOutputRedirectionConfigType [SWS_Csm_91024] 📄 PDF

Defines which of the input/ output parameters are re - directed to a key element. The values can be combined to define a bit field.

tipo Crypto_JobType [SWS_Csm_01013] 📄 PDF

Structure which contains further information, which depends on the job and the crypto primitive.

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

Uso y estructura de Crypto_JobType

La estructura Crypto_JobType agrupa todos los datos relevantes de control, estado y búfer para llevar a cabo una orden criptográfica en el Crypto Service Manager y está disponible a través de Crypto_GeneralTypes.h [SWS_Csm_01013].

Entre los elementos centrales de la estructura se encuentran [SWS_Csm_01013]:

  • jobId: Identificador unívoco del trabajo.
  • jobState: Representa el estado de ejecución actual del trabajo.
  • jobPrimitiveInputOutput: Remite a los datos específicos de entrada y salida de la primitiva.
  • jobPrimitiveInfo: Puntero a información adicional constante sobre la primitiva criptográfica seleccionada.
  • jobPriority: Determina la prioridad de ejecución, donde un valor más alto identifica una mayor urgencia.
  • jobRedirectionInfoRef: Puntero a especificaciones opcionales para la redirección de claves como valores de entrada y salida.

Interacción y relaciones de interfaz

Los campos de estructura cryptoKeyId y targetCryptoKeyId referencian las claves que se utilizarán en el controlador criptográfico; según la especificación, estos identificadores son descritos por la Crypto Interface [SWS_Csm_01013]. Interpretación: a través de jobPriority probablemente se regule el orden en la planificación y el procesamiento de órdenes concurrentes en colas. Pregunta Q-439432c5631948fb (abierta)

Este texto fue generado por una IA. Todas las indicaciones se basan exclusivamente en la especificación de AUTOSAR R20-11.

tipo Crypto_JobStateType [SWS_Csm_01028] 📄 PDF

Enumeration of the current job state.

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

El tipo de enumeración Crypto_JobStateType define el estado de procesamiento actual de un trabajo criptográfico en el CSM [SWS_Csm_01028]. Se proporciona a través del archivo de cabecera Crypto_GeneralTypes.h y distingue entre dos estados principales del ciclo de vida del trabajo [SWS_Csm_01028]:

  • CRYPTO_JOBSTATE_IDLE (0x00): Identifica el estado de reposo del trabajo. Este estado se adopta de forma inicial tras la llamada a Csm_Init() o tan pronto como concluye una operación Finish (estado «Finish») [SWS_Csm_01028].
  • CRYPTO_JOBSTATE_ACTIVE (0x01): Indica que el trabajo se está procesando activamente y que ya se han procesado datos de entrada o existen resultados intermedios. Este estado se alcanza tan pronto como se completa con éxito una operación Start o Update [SWS_Csm_01028].

En lo relativo a su uso e interacción, el tipo refleja el progreso de operaciones criptográficas de streaming o multietapa [SWS_Csm_01028]. Una transición a CRYPTO_JOBSTATE_ACTIVE señala que el contexto criptográfico está inicializado o retiene continuamente resultados intermedios, mientras que la transición a CRYPTO_JOBSTATE_IDLE marca la finalización e indica que el trabajo está listo para nuevos procesos [SWS_Csm_01028].

Este texto ha sido elaborado por una IA. Se basa exclusivamente en los datos de especificación del módulo CSM (R20-11).

Guía del implementador pendiente (complejidad I1)

tipo Crypto_JobPrimitiveInfoType [SWS_Csm_01012] 📄 PDF

Structure which contains further information, which depends on the job and the crypto primitive.

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

La estructura de datos Crypto_JobPrimitiveInfoType agrupa información adicional sobre un trabajo criptográfico y sus primitivas subyacentes [SWS_Csm_01012]. Está disponible en el stack Classic AUTOSAR a través del archivo de cabecera Crypto_GeneralTypes.h [SWS_Csm_01012].

Componentes y uso

Según la especificación [SWS_Csm_01012], la estructura se compone de los siguientes campos:

  • callbackId (uint32): identificador interno de la función de callback a la que llama el módulo CSM tan pronto como finaliza la ejecución del servicio configurado [SWS_Csm_01012].
  • primitiveInfo (const Crypto_PrimitiveInfoType*): puntero a una estructura de datos con la configuración adicional de las primitivas criptográficas [SWS_Csm_01012].
  • cryIfKeyId (uint32): identificador de la clave para la interfaz criptográfica (CryIf) [SWS_Csm_01012].
  • processingType (Crypto_ProcessingType): define el comportamiento de ejecución y determina si el trabajo se procesa de forma síncrona o asíncrona [SWS_Csm_01012].

Contexto de ejecución y semántica

El campo processingType controla la semántica síncrona o asíncrona del procesamiento del trabajo [SWS_Csm_01012]. En este contexto, la función de callback registrada mediante callbackId probablemente sea relevante sobre todo en modo asíncrono para informar a la entidad invocadora sobre el fin del servicio, mientras que el puntero primitiveInfo debe apuntar a una configuración de primitiva válida [SWS_Csm_01012]. Pregunta Q-791dae4fb6a83f99 (abierta)

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

tipo Crypto_AlgorithmInfoType [SWS_Csm_01008] 📄 PDF

Structure which determines the exact algorithm. Note, not every algorithm needs to specify all fields. AUTOSAR shall only allow valid combinations.

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

usar

La estructura de datos Crypto_AlgorithmInfoType determina la configuración exacta de un algoritmo criptográfico y se proporciona a través del archivo de cabecera Crypto_GeneralTypes.h [SWS_Csm_01008]. Se compone de los siguientes elementos:

  • family (Crypto_AlgorithmFamilyType): La familia primaria del algoritmo.
  • secondaryFamily (Crypto_AlgorithmFamilyType): La familia secundaria del algoritmo.
  • keyLength (uint32): La longitud de clave a utilizar en bits.
  • mode (Crypto_AlgorithmModeType): El modo de operación previsto del algoritmo.

No todo algoritmo requiere la asignación completa de todos los elementos de la estructura [SWS_Csm_01008]. En función del tipo de operación criptográfica, algunos campos individuales como el modo de operación o una familia secundaria pueden permanecer sin utilizar.

Restricciones y tratamiento de errores

Según [SWS_Csm_01008], en AUTOSAR solo deben darse combinaciones válidas de los elementos de la estructura. No se permiten combinaciones no admisibles, por ejemplo, modos de operación incompatibles o longitudes de clave no admisibles para una familia de algoritmos específica. La comprobación de la validez de la combinación de parámetros presumiblemente deba llevarse a cabo mediante las herramientas de configuración o en las llamadas a servicios por parte del CSM. Pregunta Q-da4984170bba173c (abierta)

Este texto ha sido elaborado y supervisado por una IA.

tipo Crypto_PrimitiveInfoType [SWS_Csm_01011] 📄 PDF

Structure which contains basic information about the crypto primitive. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager

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

La estructura Crypto_PrimitiveInfoType sirve en el Crypto Service Manager (CSM) para proporcionar metadatos básicos sobre una primitiva criptográfica ([SWS_Csm_01011]). Se declara a través del archivo de cabecera Crypto_GeneralTypes.h y agrupa las características estáticas de la operación correspondiente ([SWS_Csm_01011]).

La estructura se compone de dos elementos ([SWS_Csm_01011]):

  • service (tipo: const Crypto_ServiceInfoType): Determina el servicio criptográfico utilizado mediante una enumeración, por ejemplo, un cifrado (Encrypt) ([SWS_Csm_01011]).
  • algorithm (tipo: const Crypto_AlgorithmInfoType): Contiene la información detallada sobre el algoritmo utilizado ([SWS_Csm_01011]).

Dado que ambos elementos están tipificados como const, es probable que se trate de metadatos o datos de configuración de solo lectura que se definen en el momento de la configuración y que los controladores o el CSM evalúan en tiempo de ejecución de manera puramente lectora ([SWS_Csm_01011]). Pregunta Q-6d53291f7fb8cfe6 (abierta) No se definen códigos de error específicos, rutinas de tratamiento de errores o restricciones de concurrencia para este tipo de estructura de datos.

Este texto ha sido elaborado por una IA. Compruebe los detalles críticos para la seguridad a partir de la especificación.

tipo Csm_ConfigIdType [SWS_Csm_00691] 📄 PDF

Identification of a CSM service configuration via a numeric identifier, that is unique within a service. The name of a CSM service configuration, i.e. the name of the container Csm_Config, shall serve as a symbolic name for this parameter Avail able via Csm.h

tipo Crypto_OperationModeType [SWS_Csm_01029] 📄 PDF

Enume ration which operation shall be performed. This enumeration is constructed from a bit mask, where the first bit indicates "Start", the second "Update" and the third "Finish".

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

El tipo de enumeración Crypto_OperationModeType define, conforme a [SWS_Csm_01029], la fase de procesamiento que se debe ejecutar en operaciones criptográficas. El tipo está estructurado como una máscara de bits, cuyos primeros tres bits representan los pasos fundamentales Start (bit 1 / 0x01), Update (bit 2 / 0x02) y Finish (bit 3 / 0x04).

A través de los valores de la enumeración se controlan las diferentes fases de ejecución y del ciclo de vida de un trabajo criptográfico [SWS_Csm_01029]:

  • CRYPTO_OPERATIONMODE_START (0x01): inicializa el trabajo; el estado se restablece, eliminando los datos de entrada anteriores y los resultados intermedios.
  • CRYPTO_OPERATIONMODE_UPDATE (0x02): procesa datos de entrada para el cálculo de resultados intermedios.
  • CRYPTO_OPERATIONMODE_FINISH (0x04): concluye de forma definitiva los cálculos de la operación criptográfica.
  • CRYPTO_OPERATIONMODE_STREAMSTART (0x03): combina Start y Update para escenarios de streaming.
  • CRYPTO_OPERATIONMODE_SINGLECALL (0x07): combina Start, Update y Finish para el procesamiento completo en una sola llamada.

Además, el tipo admite la gestión del workspace en secuencias interrumpibles: con CRYPTO_OPERATIONMODE_SAVE_CONTEXT (0x08), el controlador criptográfico proporciona el contexto de workspace actual a la aplicación, mientras que CRYPTO_OPERATIONMODE_RESTORE_CONTEXT (0x10) restaura un estado previamente guardado en el workspace interno del controlador [SWS_Csm_01029]. El tipo se proporciona a través de la cabecera Rte_Csm_Type.h.

Esta nota de uso se ha generado automáticamente y se basa exclusivamente en las indicaciones de [SWS_Csm_01029].

Guía del implementador pendiente (complejidad I1)

tipo Crypto_VerifyResultType [SWS_Csm_01024] 📄 PDF

Enumeration of the result type of verification operations.

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

El tipo de enumeración Crypto_VerifyResultType define el resultado funcional de operaciones de verificación en el módulo CSM [SWS_Csm_01024]. Se proporciona a través del archivo de cabecera Rte_Csm_Type.h y sirve para determinar si una comparación criptográfica ha concluido con éxito [SWS_Csm_01024].

Rango de valores y semántica

La enumeración comprende, según [SWS_Csm_01024], dos valores discretos para representar el estado de comparación:

  • CRYPTO_E_VER_OK (valor 0x00 o 0): El resultado de la verificación es «true», por lo que los dos elementos comparados son idénticos [SWS_Csm_01024].
  • CRYPTO_E_VER_NOT_OK (valor 0x01 o 1): El resultado de la verificación es «false», los elementos comparados no son idénticos [SWS_Csm_01024].

El tipo separa la información funcional acerca de la coincidencia de datos respecto del estado de ejecución general de una operación. A modo de interpretación, esto significa que incluso una rutina de comprobación ejecutada sin errores puede suministrar el valor de retorno CRYPTO_E_VER_NOT_OK si los datos discrepan entre sí [SWS_Csm_01024].

Uso y restricciones

Dado que el tipo de datos está declarado mediante Rte_Csm_Type.h, presumiblemente se utilice sobre todo como parámetro de salida para servicios de verificación del CSM [SWS_Csm_01024]. Pregunta Q-067a1d2b36ffe56b (abierta) No se han establecido en el propio tipo tratamientos de error específicos, como notificaciones DET o DEM, ni requisitos sobre reentrancia o concurrencia [SWS_Csm_01024].

Este texto ha sido generado por una IA y sirve como guía orientativa. El documento vinculante es la especificación oficial de AUTOSAR.

tipo Crypto_ResultType [SWS_Csm_91044] 📄 PDF

Return for Std_ Return Type for Cryptostack.

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

El tipo de enumeración Crypto_ResultType sirve como tipo de retorno específico para funciones de la pila criptográfica de AUTOSAR y está disponible a través del encabezado Rte_Csm_Type.h [SWS_Csm_91044]. Amplía el esquema de retorno clásico con notificaciones de error y de estado diferenciadas para operaciones criptográficas [SWS_Csm_91044].

Además del estado de éxito regular E_OK (0x00) y del error general E_NOT_OK (0x01), el tipo define los siguientes estados de error específicos [SWS_Csm_91044]:

  • Estados de flujo y de recursos: CRYPTO_E_BUSY (0x02) indica un servicio todavía ocupado, CRYPTO_E_JOB_CANCELED (0x0C) la cancelación de un trabajo y CRYPTO_E_ENTROPY_EXHAUSTED (0x04) una fuente de entropía agotada del generador de números aleatorios [SWS_Csm_91044].
  • Problemas de claves y de acceso: Se especifican denegaciones de acceso al leer (CRYPTO_E_KEY_READ_FAIL, 0x06) o escribir (CRYPTO_E_KEY_WRITE_FAIL, 0x07), claves faltantes (CRYPTO_E_KEY_NOT_AVAILABLE, 0x08), claves no válidas (CRYPTO_E_KEY_NOT_VALID, 0x09), tamaños de clave incorrectos (CRYPTO_E_KEY_SIZE_MISMATCH, 0x0A), así como elementos de clave de origen no inicializados (CRYPTO_E_KEY_EMPTY, 0x0D) [SWS_Csm_91044].

Interpretación: Los componentes llamadores probablemente evaluarán estos códigos de retorno para distinguir, en función de la situación, entre estados de espera temporales y errores de configuración permanentes. Pregunta Q-68cfedad7880908c (abierta)

Este texto fue generado por una IA a partir de la especificación AUTOSAR CP R20-11.

tipo Csm_HashDataType [SWS_Csm_01920] 📄 PDF

Array long enough to store the data which shall be hashed.

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

Uso y estructura de Csm_HashDataType

El tipo de datos Csm_HashDataType está definido, conforme a [SWS_Csm_01920], como un array con elementos del tipo base uint8. Sirve como búfer de datos para almacenar los datos de entrada que se van a someter a un cálculo de valor hash en el Crypto Service Manager. La longitud del campo está diseñada de tal manera que resulta suficiente para albergar por completo los datos que se van a procesar mediante hash [SWS_Csm_01920].

Configuración y formación de variantes

El dimensionamiento real del array se controla mediante el parámetro de configuración CsmHashDataMaxLength, definido bajo la ruta Csm/CsmPrimitives/CsmHash/CsmHashConfig [SWS_Csm_01920]. De este modo se garantiza que el área de memoria esté dimensionada adecuadamente para la cantidad máxima de datos prevista de la respectiva configuración de hash.

Además, existe una formación de variantes criptográficas conforme al patrón Csm_HashDataType_{Crypto}, resolviéndose el marcador de posición {Crypto} mediante el SHORT-NAME de la respectiva configuración de la primitiva bajo Csm/CsmPrimitives [SWS_Csm_01920]. Esto permite estructuras de búfer específicas de la primitiva en el sistema.

Integración y condiciones límite

El tipo se proporciona mediante la cabecera Rte_Csm_Type.h [SWS_Csm_01920]. Esto probablemente signifique que el tipo está previsto para la transferencia estandarizada de datos a través de interfaces RTE entre componentes de software y el CSM. Pregunta Q-4240a8394cdd746d (abierta) Al ocupar el búfer, los usuarios deben tener en cuenta que los datos no deben superar el límite superior configurado CsmHashDataMaxLength para evitar desbordamientos durante el cálculo del hash.

Este texto ha sido generado por una IA y se basa en el estado de la especificación R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Csm_HashResultType [SWS_Csm_00912] 📄 PDF

Array long enough to store the data of the hash.

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

Uso y estructura de Csm_HashResultType

El tipo de datos Csm_HashResultType representa una matriz de elementos uint8 y sirve como área de memoria suficientemente dimensionada para depositar los datos de un resultado de hash [SWS_Csm_00912].

La longitud concreta de búfer de la matriz es configurable y se define mediante el parámetro de configuración CsmHashResultLength en Csm/CsmPrimitives/CsmHash/CsmHashConfig/CsmHashResultLength [SWS_Csm_00912]. Así, el tamaño del tipo de datos se rige directamente por la longitud de salida del respectivo algoritmo criptográfico de hash.

La definición de tipo está sujeta a una variación de nombre conforme al patrón Csm_HashResultType_{Crypto}, donde el identificador {Crypto} se sustituye por el nombre corto de la primitiva configurada (ecuc/Csm/CsmPrimitives.SHORT-NAME) [SWS_Csm_00912].

El tipo de datos se pone a disposición a través de la cabecera Rte_Csm_Type.h [SWS_Csm_00912]. Interpretación: Debido a su provisión a través de Rte_Csm_Type.h, es probable que el tipo esté previsto sobre todo para utilizarse en componentes de software o en interfaces RTE como búfer de resultados tipificado para valores de retorno de hash. Pregunta Q-4ff10e08b6a5c8c0 (abierta)

Este texto ha sido generado por una IA a partir de los datos de la especificación.

Guía del implementador pendiente (complejidad I1)

tipo Csm_MacGenerateDataType [SWS_Csm_00935] 📄 PDF

Array long enough to store the data from which a MAC shall be generated.

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

El tipo de datos Csm_MacGenerateDataType sirve como array de bytes para almacenar los datos de entrada a partir de los cuales se calculará un Message Authentication Code (MAC) [SWS_Csm_00935].

Uso y estructura del tipo

El elemento está especificado conforme a [SWS_Csm_00935] como un array con elementos del tipo base uint8. El nombre del tipo está sujeto a una variación de nombre criptográfica según el esquema Csm_MacGenerateDataType_{Crypto}, donde el sufijo se corresponde con el nombre corto configurado de la primitiva respectiva [SWS_Csm_00935]. El dimensionamiento del campo se determina de forma estática mediante el parámetro de configuración CsmMacGenerateDataMaxLength, lo que asegura que el array ofrezca suficiente espacio de memoria para los datos a procesar [SWS_Csm_00935].

Integración e interfaces

El tipo se proporciona a través del archivo de cabecera Rte_Csm_Type.h y vincula las estructuras de datos a la AUTOSAR-RTE [SWS_Csm_00935]. Los componentes de software (SWCs) llamadores o los módulos de software básico pueden utilizar este tipo para declarar búferes de datos tipados para los servicios de generación de MAC del CSM.

restricciones

Dado que el tamaño del campo está configurado de manera fija a través de la longitud máxima, a nivel de aplicación probablemente deba garantizarse que los datos útiles no superen este límite, ya que el tipo estático no contempla una adaptación dinámica de la longitud [SWS_Csm_00935]. Pregunta Q-2010ffc7191f874a (abierta)

Esta nota de uso fue generada automáticamente y se basa exclusivamente en los datos de especificación de la versión AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Csm_MacGenerateResultType [SWS_Csm_00927] 📄 PDF

Array long enough to store the data of the MAC.

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

El tipo de datos Csm_MacGenerateResultType representa, según [SWS_Csm_00927], un array de bytes (tipo de elemento uint8) que sirve para alojar los datos de resultado de un Message Authentication Code (MAC) generado.

Uso y dimensionamiento

La especificación define el array como suficientemente largo para almacenar los datos del MAC ([SWS_Csm_00927]). El tamaño real del búfer se define mediante el parámetro de configuración CsmMacGenerateResultLength, el cual se configura bajo la ruta Csm/CsmPrimitives/CsmMacGenerate/CsmMacGenerateConfig ([SWS_Csm_00927]). Además, el tipo está sujeto a una variación criptográfica mediante el nombre corto de la primitiva ({Crypto} o ecuc/Csm/CsmPrimitives.SHORT-NAME) según [SWS_Csm_00927].

Disponibilidad e interfaz

El tipo se proporciona a través de la cabecera Rte_Csm_Type.h ([SWS_Csm_00927]). Esto muestra que está concebido primordialmente para la transferencia tipada de datos a través de la interfaz RTE para la provisión del valor MAC calculado.

restricciones

Al tratarse de una definición de tipo estática, la instanciación concreta depende de la preconfiguración de la longitud del MAC; para este tipo de datos en sí no se especifican otros parámetros, códigos de error o requisitos de concurrencia ([SWS_Csm_00927]).

Este texto ha sido generado por una IA y sirve como guía orientativa basada en las especificaciones de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

tipo Csm_MacVerifyDataType [SWS_Csm_00802] 📄 PDF

Array long enough to store the data for whichs MAC shall be verified.

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

El tipo de datos Csm_MacVerifyDataType está especificado como una matriz de elementos uint8 y sirve como búfer para almacenar los datos para los cuales se debe verificar un Message Authentication Code (MAC) [SWS_Csm_00802].

Para el uso y la configuración de este tipo se aplican las siguientes estipulaciones:

  • Tamaño del búfer: El tamaño de la matriz se rige por el parámetro de configuración CsmMacVerifyDataMaxLength en el contenedor Csm/CsmPrimitives/CsmMacVerify/CsmMacVerifyConfig. De este modo se garantiza que la matriz esté suficientemente dimensionada para albergar por completo los datos de entrada que se van a verificar [SWS_Csm_00802].
  • Variación y denominación: La definición contiene el criterio de variación Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}, con lo cual el identificador concreto del tipo C se genera de forma específica para el módulo con la forma Csm_MacVerifyDataType_{Crypto} [SWS_Csm_00802].
  • Integración de interfaces: El tipo se exporta a través del archivo de cabecera Rte_Csm_Type.h [SWS_Csm_00802]. Interpretación: La disponibilidad en esta cabecera permite deducir que el tipo estaría destinado principalmente a la comunicación de interfaces basada en RTE entre componentes de software y el CSM. Pregunta Q-c49670b3de0ba19c (abierta)

Los desarrolladores de aplicaciones deben tener en cuenta que la longitud máxima de los datos útiles verificables está limitada por la configuración estática de las primitivas y que los datos de entrada no deben superar esta capacidad de búfer [SWS_Csm_00802].

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

Guía del implementador pendiente (complejidad I1)

tipo Csm_MacVerifyCompareType [SWS_Csm_00803] 📄 PDF

Array long enough to store a MAC to be verified.

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

Uso y estructura

El tipo Csm_MacVerifyCompareType está definido según [SWS_Csm_00803] como una matriz de elementos uint8. Sirve para recibir el Message Authentication Code (MAC) que se va a verificar, el cual se comparará con el MAC calculado en el marco de una operación criptográfica.

La provisión del tipo se realiza a través de la cabecera Rte_Csm_Type.h para la interfaz RTE [SWS_Csm_00803]. La denominación concreta del tipo está sujeta a una variación de nombre a través del nombre de la primitiva según el patrón Csm_MacVerifyCompareType_{Crypto}, donde {Crypto} se sustituye por el nombre corto de la primitiva (ecuc/Csm/CsmPrimitives.SHORT-NAME).

Configuración y dimensionamiento

El tamaño de la matriz se mide según [SWS_Csm_00803] de acuerdo con la expresión CsmMacVerifyCompareLength/8 de la configuración (ecuc(Csm/CsmPrimitives/CsmMacVerify/CsmMacVerifyConfig/CsmMacVerifyCompareLength)). Esto refleja la longitud en bytes del valor de comparación del MAC.

Tratamiento de errores y condiciones límite

Como definición de tipo pura para una matriz de datos, Csm_MacVerifyCompareType no posee valores de retorno propios ni genera códigos de error directos ni eventos de DET/DEM. No obstante, se aplican las siguientes condiciones marco relativas a la aplicación:

  • Provisión del búfer: Los llamadores deberían ser responsables de inicializar completamente la matriz con el MAC de referencia recibido antes de transferirla a una función de verificación. Pregunta Q-94b98958fd778057 (abierta)
  • Concurrencia: Dado que se trata de una estructura de datos, el tipo en sí es reentrante. Sin embargo, un acceso concurrente de lectura y escritura de varias tareas a la misma instancia de la matriz probablemente provocaría corrupciones sin sincronización. Pregunta Q-148c0a523da7b402 (abierta)

Esta nota de uso se basa en la especificación AUTOSAR CP R20-11 y ha sido creada de forma automatizada.

Guía del implementador pendiente (complejidad I1)

tipo Csm_EncryptDataType [SWS_Csm_01921] 📄 PDF

Array long enough to store the data to be encrypted.

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

El tipo Csm_EncryptDataType define un array de bytes formado por elementos uint8 que sirve para albergar los datos a cifrar [SWS_Csm_01921]. Se proporciona a través del archivo de cabecera Rte_Csm_Type.h y permite a los componentes de software la transferencia tipada de datos a los servicios criptográficos del módulo [SWS_Csm_01921].

Estructura y configuración

  • Elementos del array: los elementos son del tipo base uint8 [SWS_Csm_01921].
  • Tamaño: la longitud del array se rige por el parámetro de configuración CsmEncryptDataMaxLength situado bajo la respectiva configuración de la primitiva CsmEncryptConfig [SWS_Csm_01921].
  • Variación de nombre: el nombre del tipo varía según la primitiva conforme al esquema Csm_EncryptDataType_{Crypto}, donde {Crypto} corresponde al nombre corto (SHORT-NAME) de la primitiva de CSM configurada [SWS_Csm_01921].

Uso y restricciones

Como mera definición de tipo, el elemento no posee reentrancia ni tratamiento de errores propios. Dado que el tamaño del array está vinculado de forma fija al tamaño máximo de búfer de la configuración, como interpretación, quien realiza la llamada probablemente deba ocuparse, al rellenarlo, de que los datos proporcionados no sobrepasen el límite del búfer CsmEncryptDataMaxLength [SWS_Csm_01921]. Pregunta Q-4bf70d603b5679d3 (abierta)

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

Guía del implementador pendiente (complejidad I1)

tipo Csm_EncryptResultType [SWS_Csm_01922] 📄 PDF

Array long enough to store the data of the cipher.

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

Uso y finalidad

El tipo de datos Csm_EncryptResultType está especificado como un array de bytes con el tipo de elemento uint8 y sirve para albergar los datos cifrados (resultado del cifrado) de un proceso de cifrado ([SWS_Csm_01922]). Según la especificación, el array debe dimensionarse de forma que sea lo suficientemente largo para albergar todos los datos del texto cifrado ([SWS_Csm_01922]).

Configuración y variantes

La definición del tipo de datos está sujeta a una formación de variantes basada en las primitivas criptográficas configuradas. Para cada primitiva se genera un identificador específico del tipo según el esquema Csm_EncryptResultType_{Crypto}, donde {Crypto} corresponde al nombre corto de la respectiva primitiva ([SWS_Csm_01922]). El tamaño de campo estático del array se determina mediante el parámetro de configuración CsmEncryptResultMaxLength bajo Csm/CsmPrimitives/CsmEncrypt/CsmEncryptConfig/ ([SWS_Csm_01922]).

Integración y condiciones límite

El tipo de datos se exporta a través del archivo de cabecera Rte_Csm_Type.h ([SWS_Csm_01922]). Interpretación: debido a la provisión a través de Rte_Csm_Type.h, el tipo probablemente esté concebido para la transferencia estandarizada de datos entre componentes de software de aplicación y el Crypto Service Manager a través de puertos de la RTE. Pregunta Q-6dc06520e3fd9dc6 (abierta) Quienes lo utilicen deben asegurarse, al suministrar el búfer, de que los resultados del cifrado no superen la longitud máxima configurada CsmEncryptResultMaxLength ([SWS_Csm_01922]).

Esta nota de uso fue creada de forma automatizada sobre la base de la especificación de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Csm_DecryptDataType [SWS_Csm_01923] 📄 PDF

Array long enough to store the data to be decrypted.

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

Uso y estructura de datos

El tipo Csm_DecryptDataType está definido en la especificación del Crypto Service Manager como un array con elementos del tipo base uint8 [SWS_Csm_01923]. Sirve como búfer de memoria dedicado para los datos de entrada a descifrar [SWS_Csm_01923]. El diseño del array se especifica de forma vinculante de tal modo que su capacidad siempre debe ser suficientemente larga para albergar por completo los datos correspondientes [SWS_Csm_01923].

Configuración y formación de variantes

El dimensionamiento del array se realiza de forma estática a través del parámetro de configuración ecuc(Csm/CsmPrimitives/CsmDecrypt/CsmDecryptConfig/CsmDecryptDataMaxLength) [SWS_Csm_01923]. Además, el tipo de datos está sujeto a una varianza criptográfica conforme a Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME} [SWS_Csm_01923]. Con ello, el identificador de tipo para la configuración concreta de la primitiva se instancia con el nombre corto correspondiente a Csm_DecryptDataType_{Crypto} [SWS_Csm_01923].

Integración y condiciones límite

La definición se pone a disposición para todo el sistema a través del archivo de cabecera Rte_Csm_Type.h [SWS_Csm_01923]. Interpretación: la inclusión en Rte_Csm_Type.h permite deducir que el tipo está destinado sobre todo a puertos tipados y al intercambio de datos entre componentes de software y el módulo CSM a través de la RTE. Pregunta Q-6dcc31d5d7258088 (abierta) Al tratarse de una estructura de datos y no de una función, en el alcance de la especificación no se definen semánticas de llamada síncronas o asíncronas, prescripciones de reentrancia ni mensajes de error DET específicos [SWS_Csm_01923].

Este texto ha sido generado por una IA. No sustituye el estudio de la especificación oficial de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

tipo Csm_DecryptResultType [SWS_Csm_01924] 📄 PDF

Array long enough to store the data of the decrypted plaintext.

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

El tipo de datos Csm_DecryptResultType está definido, conforme a [SWS_Csm_01924], en el módulo Csm como un array con elementos del tipo uint8. Sirve como búfer de datos para almacenar los datos resultantes de un texto en claro descifrado y debe estar suficientemente dimensionado para albergar el texto en claro completo.

Para la configuración, provisión y estructuración del tipo rigen las siguientes determinaciones según [SWS_Csm_01924]:

  • Disponibilidad de la cabecera: la definición del tipo de datos se pone a disposición a través del archivo de cabecera Rte_Csm_Type.h.
  • Dimensionamiento del búfer: el tamaño del array se especifica mediante el parámetro de configuración CsmDecryptResultMaxLength (ruta Csm/CsmPrimitives/CsmDecrypt/CsmDecryptConfig/CsmDecryptResultMaxLength), con lo que se fija estáticamente el espacio de memoria máximo para el resultado del descifrado.
  • Formación de variantes criptográficas: el nombre del tipo está sujeto a una formación de variantes de primitivas conforme al esquema Csm_DecryptResultType_{Crypto}, controlándose la manifestación a través del elemento de configuración Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}.

En cuanto al contexto de llamada, concurrencia y tratamiento de errores, [SWS_Csm_01924] contiene exclusivamente la definición del tipo sin lógica funcional propia. Interpretación: el tipo probablemente sirva sobre todo en los componentes de software usuarios como estructura de almacenamiento para albergar datos de salida de operaciones criptográficas de descifrado del CSM. Pregunta Q-54c836ed946ee1f2 (abierta) No se definen códigos de error DET o DEM específicos para este tipo de datos; no obstante, los responsables de la configuración deben garantizar que la longitud máxima configurada sea suficiente para todos los textos en claro que se vayan a procesar.

Esta nota de uso se generó de forma automatizada a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Csm_AEADEncryptPlaintextType [SWS_Csm_01925] 📄 PDF

Array long enough to store the plaintext to be encrypted with AEAD.

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

Uso y definición de tipo

El tipo de datos Csm_AEADEncryptPlaintextType sirve, conforme a [SWS_Csm_01925], como búfer de datos para el texto en claro que se va a procesar en el marco de una operación de cifrado AEAD (Authenticated Encryption with Associated Data). El tipo está definido como un array de bytes con el tipo de elemento uint8 y ofrece suficiente espacio de almacenamiento para albergar por completo el texto en claro que se va a cifrar.

Dimensionamiento y formación de variantes

El tamaño concreto del búfer no está predeterminado de manera rígida, sino que se rige por el parámetro de configuración CsmAEADEncryptPlaintextMaxLength procedente de la configuración de la respectiva primitiva ([SWS_Csm_01925]). Además, el tipo está sujeto a una variación de nombre y estructura: en función de la primitiva criptográfica configurada, el identificador se amplía con el nombre corto de la primitiva (Csm_AEADEncryptPlaintextType_{Crypto}).

Integración e interfaz

Conforme a [SWS_Csm_01925], el tipo se proporciona a través de la cabecera Rte_Csm_Type.h. Esto respalda la interpretación de que el tipo se pone a disposición principalmente en el contexto de la RTE de AUTOSAR para componentes de software de aplicación, con el fin de transferir datos de texto en claro tipados a servicios criptográficos del CSM. Dado que se trata de una mera declaración de tipo, la especificación no define códigos de error ni prescripciones de reentrancia propios a nivel de tipo de datos.

Esta nota de uso se ha creado de forma automatizada y se basa en las especificaciones de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Csm_AEADEncryptAssociatedDataType [SWS_Csm_01928] 📄 PDF

Array long enough to store the data of the header.

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

El tipo de datos Csm_AEADEncryptAssociatedDataType define un array de bytes compuesto por elementos del tipo base uint8, que sirve como búfer para albergar los datos de cabecera o datos adicionales asociados en operaciones de cifrado AEAD [SWS_Csm_01928]. El tipo se proporciona a través del archivo de cabecera Rte_Csm_Type.h y permite el intercambio de datos tipificados a través de la interfaz AUTOSAR-RTE del Crypto Service Manager [SWS_Csm_01928].

El dimensionamiento y la forma del tipo dependen de la configuración de la primitiva criptográfica [SWS_Csm_01928]:

  • Tamaño del array: el tamaño del búfer se dimensiona según el parámetro de configuración CsmAEADEncryptAssociatedDataMaxLength dentro de la configuración Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig, lo que garantiza que el array sea suficientemente largo para los datos de cabecera [SWS_Csm_01928].
  • Variación de nombre: el elemento está sujeto a una variación de nombre específica de la criptografía Csm_AEADEncryptAssociatedDataType_{Crypto}, donde el marcador de posición {Crypto} corresponde al nombre corto de la primitiva respectiva de CsmPrimitives.SHORT-NAME [SWS_Csm_01928].

Al asignar el array, los invocadores deben asegurarse de que la longitud real de los datos de cabecera a transferir no supere el tamaño máximo configurado [SWS_Csm_01928]. Interpretación: dado que los datos asociados permanecen sin cifrar en los procedimientos AEAD, pero son autenticados, es de suponer que el tipo de datos sirve principalmente para transferir metadatos específicos del protocolo de manera consistente entre la aplicación y el CSM. Pregunta Q-26b724044c51253f (abierta)

Este texto ha sido generado por una IA; no sustituye el estudio de la especificación oficial.

Guía del implementador pendiente (complejidad I1)

tipo Csm_AEADEncryptCiphertextType [SWS_Csm_01927] 📄 PDF

Array long enough to store the data of the cipher.

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

El tipo de datos Csm_AEADEncryptCiphertextType sirve, conforme a [SWS_Csm_01927], como array de bytes para almacenar los datos cifrados en operaciones criptográficas de cifrado AEAD en el módulo de Classic AUTOSAR Csm.

La especificación define el elemento de datos como un array compuesto por elementos del tipo base uint8 [SWS_Csm_01927]. El tamaño de búfer fijo se determina mediante el parámetro de configuración CsmAEADEncryptCiphertextMaxLength dentro de la ruta de configuración Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig [SWS_Csm_01927]. Conforme al requisito, el array debe estar dimensionado con la longitud suficiente para albergar los datos completos del cifrado [SWS_Csm_01927].

El identificador de tipo presenta una variación de nombre dependiente de la primitiva: mediante el atributo de configuración Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}, el nombre de tipo concreto se expande a Csm_AEADEncryptCiphertextType_{Crypto} [SWS_Csm_01927]. Esta definición se proporciona para componentes de software de aplicación y para el CSM a través del archivo de cabecera Rte_Csm_Type.h [SWS_Csm_01927].

En el uso práctico, es de prever que los componentes invocadores declaren búferes correspondientes para recibir los resultados de cifrado de una operación AEAD. Pregunta Q-af095525ea319451 (abierta) En las fuentes no se definen contextos de invocación específicos, tratamiento de errores (como DET o DEM), valores de retorno ni directrices de reentrancia para esta estructura de datos.

Este texto ha sido generado por una IA y se basa exclusivamente en los datos de especificación de la versión R20-11 de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

tipo Csm_AEADEncryptTagType [SWS_Csm_01926] 📄 PDF

Array long enough to store the data of the Tag.

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

El tipo de datos Csm_AEADEncryptTagType define, conforme a [SWS_Csm_01926], un array de bytes (tipo de elemento uint8) que sirve como búfer para los datos de la etiqueta de autenticación en operaciones de cifrado AEAD. El array está diseñado conforme a la especificación con una longitud suficiente para albergar por completo los datos de la etiqueta [SWS_Csm_01926].

En cuanto a estructura y configuración, se aplican las siguientes determinaciones de [SWS_Csm_01926]:

  • Tamaño del búfer: el dimensionamiento del array se establece a través del parámetro de configuración CsmAEADEncryptTagLength bajo Csm/CsmPrimitives/CsmAEADEncrypt/CsmAEADEncryptConfig [SWS_Csm_01926].
  • Variante de nombre: el nombre del tipo posee una varianza criptográfica y se forma según el esquema Csm_AEADEncryptTagType_{Crypto}, donde {Crypto} corresponde al nombre corto de la respectiva primitiva (SHORT-NAME) [SWS_Csm_01926].
  • Integración de cabecera: el tipo se proporciona a través de la cabecera Rte_Csm_Type.h [SWS_Csm_01926].

Debido a la disponibilidad en Rte_Csm_Type.h, el tipo de datos probablemente esté destinado a interfaces de software estandarizadas (interpretación: uso para la transferencia de búferes en puertos de componentes de software) [SWS_Csm_01926]. Pregunta Q-3cd2f6ae1229483e (abierta)

Esta nota de uso se generó automáticamente a partir de la versión R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Csm_AEADDecryptCiphertextType [SWS_Csm_00922] 📄 PDF

Array long enough to store the ciphertext to be decrypted with AEAD.

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

Uso y estructura

El tipo de datos Csm_AEADDecryptCiphertextType define, según [SWS_Csm_00922], un array de bytes basado en el tipo de elemento uint8. Sirve como búfer suficientemente dimensionado para alojar el texto cifrado que debe descifrarse en el marco de una operación AEAD (Authenticated Encryption with Associated Data) [SWS_Csm_00922]. La definición de tipo se proporciona a través del archivo de cabecera Rte_Csm_Type.h [SWS_Csm_00922].

Dimensionamiento y varianza

El dimensionamiento del campo se realiza de forma estática en función del parámetro de configuración CsmAEADDecryptCiphertextMaxLength dentro de la rama de configuración Csm/CsmAEADDecrypt/CsmAEADDecryptConfig [SWS_Csm_00922]. El array está diseñado de modo que pueda albergar todo el texto cifrado que se va a procesar. Además, el nombre del tipo está sujeto a una varianza criptográfica según el patrón Csm_AEADDecryptCiphertextType_{Crypto}, donde la parte del identificador {Crypto} está formada por el nombre corto de la primitiva respectiva (CsmPrimitives.SHORT-NAME) [SWS_Csm_00922].

Interacción y condiciones marco

Debido a la definición en Rte_Csm_Type.h, el tipo probablemente esté previsto de forma primordial para la conexión tipada de componentes de software (SW-Cs) a través de puertos RTE al Crypto Service Gateway o CSM [SWS_Csm_00922]. Pregunta Q-35738ff5fc96c699 (abierta) Dado que el tamaño del array se predetermina de forma fija en tiempo de configuración, los llamadores deben asegurarse de que los datos de texto cifrado no excedan la longitud máxima, con el fin de excluir desbordamientos de búfer en tiempo de ejecución.

Este texto ha sido creado por una IA y se basa en AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Csm_AEADDecryptAssociatedDataType [SWS_Csm_00923] 📄 PDF

Array long enough to store the data of the header.

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

El tipo de datos Csm_AEADDecryptAssociatedDataType está definido como un array de elementos del tipo uint8 y lleva el patrón de nombres dependiente de la conformación Csm_AEADDecryptAssociatedDataType_{Crypto} [SWS_Csm_00923]. El propósito de este tipo de datos es proporcionar un área de memoria suficientemente dimensionada para albergar los datos de cabecera o datos adicionales asociados (Associated Data) de un descifrado autenticado (AEAD Decrypt) [SWS_Csm_00923].

El tamaño del array se rige por el parámetro de configuración CsmAEADDecryptAssociatedDataMaxLength en la ruta de configuración Csm/CsmAEADDecrypt/CsmAEADDecryptConfig [SWS_Csm_00923]. Mediante la varianza Crypto={ecuc/Csm/CsmPrimitives.SHORT-NAME}, el identificador de tipo se especializa a través de su nombre corto para la primitiva respectiva configurada en el Crypto Service Manager [SWS_Csm_00923]. Gracias a ello, se puede declarar para cada primitiva criptográfica un búfer específico con la longitud máxima adecuada.

El tipo de datos se exporta a través del archivo de cabecera Rte_Csm_Type.h [SWS_Csm_00923]. Al tratarse de una definición de tipo pura, la entrada no especifica códigos de error, mensajes DET ni condiciones de reentrancia. Como interpretación, es de esperar que el array sirva como búfer de datos tipado para la transferencia de datos anexos no cifrados, pero que deben verificarse criptográficamente, entre componentes de software y el CSM a través de la RTE. Pregunta Q-2f32bbe9a4489b27 (abierta)

Este texto ha sido generado por una inteligencia artificial sobre la base de AUTOSAR R20-11 y sirve como guía orientativa.

Guía del implementador pendiente (complejidad I1)

tipo Csm_AEADDecryptTagType [SWS_Csm_01074] 📄 PDF

Array long enough to store the data of the Tag.

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

Uso y finalidad

El tipo de datos Csm_AEADDecryptTagType está definido como un array de bytes con el tipo de elemento uint8 y sirve como área de memoria dedicada para albergar los datos de la etiqueta en operaciones de descifrado AEAD [SWS_Csm_01074]. La provisión se realiza mediante el archivo de cabecera Rte_Csm_Type.h [SWS_Csm_01074].

Dimensionamiento y dependencia de la configuración

El dimensionamiento del array es configurable y se rige por la longitud de etiqueta configurada CsmAEADDecryptTagLength [SWS_Csm_01074]. El número de elementos se determina mediante la expresión (({ecuc(Csm/CsmPrimitives/CsmAEADDecrypt/CsmAEADDecryptConfig/CsmAEADDecryptTagLength)}+7)/8) [SWS_Csm_01074]. Mediante este cálculo, la longitud de la etiqueta especificada en bits se convierte a bytes completos, redondeando hacia el siguiente límite de byte aquellas longitudes en bits que no sean divisibles por ocho.

El tipo está sujeto a una variación de nombre conforme al esquema Csm_AEADDecryptTagType_{Crypto}, en el que {Crypto} se sustituye por el nombre corto (SHORT-NAME) de la respectiva configuración de la primitiva [SWS_Csm_01074]. De este modo, existe una estructura adecuadamente tipada para cada instancia de primitiva de descifrado AEAD configurada.

Integración y condiciones límite

La provisión a través de Rte_Csm_Type.h probablemente signifique que este tipo está previsto principalmente para componentes de software en puertos de la RTE de AUTOSAR, con el fin de transferir la etiqueta de autenticación al Crypto Service Manager [SWS_Csm_01074]. Pregunta Q-2a0bebbb8e1d6b76 (abierta) Dado que el tipo no aporta flujos de control ni mecanismos de sincronización propios, se asume que la consistencia de los datos en el búfer queda garantizada por completo por el contexto llamador durante el ciclo de descifrado.

Este texto fue generado por una IA y se basa exclusivamente en los datos de especificación de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

tipo Csm_AEADDecryptPlaintextType [SWS_Csm_01075] 📄 PDF

Array long enough to store the data of the plaintext.

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

Uso y estructura

El tipo de datos Csm_AEADDecryptPlaintextType o su variante específica de la primitiva Csm_AEADDecryptPlaintextType_{Crypto} está definido como un array de bytes con elementos del tipo uint8 [SWS_Csm_01075]. Sirve para proporcionar un búfer suficientemente dimensionado para almacenar los datos de texto en claro en un descifrado AEAD (Authenticated Encryption with Associated Data) [SWS_Csm_01075]. El tamaño fijo del campo se determina mediante el parámetro de configuración CsmAEADDecryptPlaintextMaxLength dentro de la configuración de la respectiva primitiva de descifrado AEAD [SWS_Csm_01075]. El tipo de datos se proporciona para los componentes de software a través de la cabecera Rte_Csm_Type.h, estando el nombre del tipo vinculado al nombre corto de la primitiva de CSM configurada mediante la variación Crypto [SWS_Csm_01075].

Tratamiento de errores y concurrencia

Dado que se trata de una mera definición de tipo, el elemento no define valores de retorno, códigos de error ni mensajes DET propios [SWS_Csm_01075]. La condición límite funcional esencial radica en la longitud máxima fijada estáticamente: los datos de texto en claro que superen el límite configurado no se pueden representar en este búfer [SWS_Csm_01075]. Interpretación: el tipo probablemente sirva de forma primordial para la transferencia tipada de datos a través de puertos de la RTE cuando los SWC reciben resultados de servicios de descifrado de manera asíncrona o síncrona. Pregunta Q-2de04243d7f996c8 (abierta) Quienes realizan la llamada probablemente deban asegurarse de manera autónoma de que se respeten los límites del búfer y de que los accesos simultáneos de lectura o escritura a través de varias tareas estén sincronizados de forma segura para hilos.

Esta nota de uso ha sido generada por una IA y se basa en las estipulaciones de la especificación de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

tipo Csm_SignatureGenerateDataType [SWS_Csm_01083] 📄 PDF

Array long enough to store the data from which the signature shall be generated.

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

El tipo Csm_SignatureGenerateDataType define, según [SWS_Csm_01083], un array de elementos uint8 que sirve como búfer para albergar los datos a partir de los cuales se va a generar una firma criptográfica. La denominación concreta en el código fuente es específica de la primitiva y sigue el patrón Csm_SignatureGenerateDataType_{Crypto}, variando el identificador a través del nombre corto de la primitiva criptográfica configurada [SWS_Csm_01083].

El dimensionamiento estático del campo de datos se determina a través del parámetro de configuración CsmSignatureGenerateDataMaxLength [SWS_Csm_01083]. El tipo de datos se proporciona mediante el archivo de cabecera Rte_Csm_Type.h [SWS_Csm_01083]. Interpretación: debido a la provisión a través de Rte_Csm_Type.h, el tipo de array probablemente esté previsto de forma primordial para la transferencia tipada de datos en puertos de la RTE entre componentes de software y el módulo CSM. Pregunta Q-dcc731a5b8961aef (abierta)

En la configuración y el uso debe tenerse en cuenta que CsmSignatureGenerateDataMaxLength establece el límite superior fijo del array [SWS_Csm_01083]. Los usuarios deben asegurarse por configuración de que el tamaño del búfer sea suficiente para todos los datos de entrada de la generación de firmas que se presenten en funcionamiento, ya que el array se asigna estáticamente.

Este texto ha sido generado por una IA. Todos los datos técnicos se basan exclusivamente en las fuentes de especificación.

Guía del implementador pendiente (complejidad I1)

tipo Csm_SignatureGenerateResultType [SWS_Csm_01077] 📄 PDF

Array long enough to store the signature and its length.

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

El tipo de datos Csm_SignatureGenerateResultType define, conforme a [SWS_Csm_01077], un array de bytes basado en uint8 que sirve para albergar una firma criptográfica generada así como su especificación de longitud. El tipo se declara a través de la cabecera Rte_Csm_Type.h y proporciona el búfer de salida estandarizado para operaciones de firma en el Crypto Service Manager.

La estructura y el dimensionamiento del tipo son configurables:

  • Tamaño del búfer: el número de elementos uint8 se especifica a través del parámetro de configuración CsmSignatureGenerateResultLength de la respectiva configuración de generación de firmas ([SWS_Csm_01077]).
  • Variante de nombre: el identificador contiene el sufijo _{Crypto}, que corresponde al nombre corto de la primitiva configurada ([SWS_Csm_01077]).

Dado que se trata de una mera definición de tipo, [SWS_Csm_01077] no contiene especificación de códigos de error, mensajes DET ni propiedades de reentrancia. La semántica de tiempo de ejecución y la transferencia del búfer probablemente se rijan por las convenciones de llamada síncronas o asíncronas de las interfaces de servicio de CSM. Pregunta Q-3304c06a29f069a2 (abierta) Quienes realizan la llamada deben asegurarse de que el tamaño de array configurado sea siempre suficiente para la firma que se va a albergar, incluido el valor de longitud.

Este texto ha sido generado por una IA y se basa en el extracto de la especificación de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

tipo Csm_SignatureVerifyDataType [SWS_Csm_01078] 📄 PDF

Array long enough to store the data for whichs signature shall be verified.

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

El tipo de datos Csm_SignatureVerifyDataType está definido, conforme a [SWS_Csm_01078], como un array de bytes con el tipo de elemento uint8 y sirve para el almacenamiento intermedio de datos cuya firma se debe verificar.

Para la configuración y el uso del tipo son de aplicación las siguientes estipulaciones conforme a [SWS_Csm_01078]:

  • Dimensionamiento del array: el tamaño del campo corresponde al valor de configuración CsmSignatureVerifyDataMaxLength de la ruta de configuración Csm/CsmPrimitives/CsmSignatureVerify/CsmSignatureVerifyConfig, de modo que el array está suficientemente dimensionado para albergar todos los datos a verificar.
  • Variación de nombre: el nombre del tipo varía en función de la respectiva primitiva criptográfica según el esquema Csm_SignatureVerifyDataType_{Crypto}, donde {Crypto} corresponde al nombre corto CsmPrimitives.SHORT-NAME.
  • Provisión de cabecera: la definición del tipo está disponible a través del archivo de cabecera Rte_Csm_Type.h.

Interpretación: debido a la provisión en Rte_Csm_Type.h, el tipo probablemente esté destinado sobre todo a componentes de software en la interfaz RTE, con el fin de transferir datos útiles al Crypto Service Manager para la verificación de firmas hasta la longitud máxima configurada [SWS_Csm_01078]. Pregunta Q-c1541703c2bcd199 (abierta)

Este texto fue generado por una IA y sirve como guía orientativa. El texto vinculante es la especificación AUTOSAR.

Guía del implementador pendiente (complejidad I1)

tipo Csm_SignatureVerifyCompareType [SWS_Csm_01079] 📄 PDF

Array long enough to store a signature to be verified.

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

El tipo Csm_SignatureVerifyCompareType define un array de bytes basado en uint8 que proporciona suficiente espacio de memoria para una firma criptográfica que se debe verificar ([SWS_Csm_01079]). Se pone a disposición a través de la cabecera Rte_Csm_Type.h y permite a los componentes de software el acceso tipado a los datos de comparación de firma ([SWS_Csm_01079]).

Configuración y varianza

El tamaño concreto del array no está predeterminado de forma fija, sino que se rige por el valor de configuración CsmSignatureVerifyCompareLength procedente de la configuración de verificación de firmas de la respectiva primitiva ([SWS_Csm_01079]). Además, el tipo está sujeto a una variación de nombre mediante el nombre corto de la primitiva criptográfica (Crypto = {ecuc/Csm/CsmPrimitives.SHORT-NAME}), de modo que el identificador tipado se forma como Csm_SignatureVerifyCompareType_{Crypto} ([SWS_Csm_01079]).

Aspectos de uso y condiciones límite

  • Contexto de llamada y semántica: como estructura de datos pura, el elemento no posee una semántica síncrona o asíncrona autónoma. La instanciación la realiza normalmente quien llama a los servicios de verificación del módulo ([SWS_Csm_01079]).
  • Tratamiento de errores: la definición del tipo no define códigos de error ni mensajes DET/DEM propios ([SWS_Csm_01079]). Interpretación: probablemente se realice una validación de la longitud del búfer o de la integridad de los punteros en las funciones usuarias de CSM. Pregunta Q-60454c8a7d8035cf (abierta)
  • Concurrencia: para las meras definiciones de tipo no existen restricciones de reentrancia; el acceso concurrente a las instancias de búfer debe ser coordinado por los módulos usuarios ([SWS_Csm_01079]).

Este texto ha sido generado por una IA. Se basa exclusivamente en las especificaciones del release R20-11 de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

tipo Csm_RandomGenerateResultType [SWS_Csm_00930] 📄 PDF

Array long enough to store the data of the random number.

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

Uso y finalidad

El tipo de datos Csm_RandomGenerateResultType está definido como array y sirve como área de memoria estructurada para depositar los datos de resultado de un número aleatorio generado [SWS_Csm_00930]. Los elementos individuales del array poseen el tipo base uint8, con lo cual el número aleatorio resultante se representa como una secuencia contigua de bytes [SWS_Csm_00930].

Configuración y formación de variantes

El tamaño del búfer no se transfiere de forma dinámica, sino que se define de forma estática a través de la configuración del módulo: la cantidad de elementos del array se rige por el parámetro de configuración CsmRandomGenerateResultLength bajo la ruta Csm/CsmPrimitives/CsmRandomGenerate/CsmRandomGenerateConfig [SWS_Csm_00930]. Además, el identificador está sujeto a una variación de nombre específica de la criptografía según el esquema Csm_RandomGenerateResultType_{Crypto}, donde el sufijo se corresponde con el nombre corto de la primitiva respectiva [SWS_Csm_00930]. De este modo, cada instancia configurada de la generación aleatoria recibe un búfer conforme al tipo y con la longitud adecuada.

Integración y condiciones límite

La declaración del tipo se proporciona a través del archivo de cabecera Rte_Csm_Type.h [SWS_Csm_00930]. Interpretación: dado que la provisión se realiza a través de la cabecera de la RTE, es de esperar que este tipo de datos esté previsto primordialmente para Application Software Components a fin de recibir valores aleatorios a través de puertos de manera segura respecto a tipos. Pregunta Q-ea993612037bec12 (abierta) Los contextos concretos de llamada a la API, los códigos de error o los aspectos de concurrencia no están anclados al tipo en sí, sino a los servicios CSM correspondientes, mientras que este tipo asegura el requisito de memoria estática [SWS_Csm_00930].

Esta nota de uso fue elaborada por una IA y se basa en la especificación AUTOSAR CP R20-11.

tipo Csm_LengthPtr [SWS_Csm_91045] 📄 PDF

Implementation Data Type of category DATA_ REFERENCE with the pointer target uint32 to be able to return asynchronously the length.

tipo Csm_VerifyResultPtr [SWS_Csm_91046] 📄 PDF

Implementation Data Type of category DATA_ REFERENCE with the pointer target Csm_ Verify Result Type to be able to return asynchronously the verify result.

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

Uso y semántica

El tipo Csm_VerifyResultPtr es un AUTOSAR-Implementation-Data-Type de la categoría DATA_REFERENCE, cuyo destino de puntero es Csm_VerifyResultType (formalmente Csm_VerifyResultType*) [SWS_Csm_91046]. La definición del tipo se proporciona a través del encabezado Rte_Csm_Type.h y, por lo tanto, está disponible para componentes de aplicación a través de la RTE, así como para módulos de software básico [SWS_Csm_91046].

La función de Csm_VerifyResultPtr consiste en devolver el resultado de verificación en operaciones criptográficas asíncronas [SWS_Csm_91046]. En la ejecución asíncrona, el puntero apunta a un búfer reservado por el llamador, en el que el módulo Csm introduce el resultado tras finalizar la comprobación [SWS_Csm_91046].

Concurrencia y restricciones

Dado que Csm_VerifyResultPtr está previsto explícitamente para la retroalimentación asíncrona [SWS_Csm_91046], los usuarios deben asegurarse de que la validez del objeto de destino referenciado se mantenga durante toda la duración de la operación. En este contexto, deben tenerse en cuenta los siguientes aspectos:

  • El área de memoria referenciada de tipo Csm_VerifyResultType probablemente deba permanecer válida y protegida durante todo el tiempo de ejecución asíncrona hasta la llegada de la retroalimentación (interpretación: evitar accesos de escritura a direcciones de memoria no válidas). Pregunta (abierta)
  • Los llamadores presumiblemente no deberían dirigir el puntero a variables volátiles de la pila si la función llamadora puede abandonarse antes de la finalización del trabajo asíncrono. Pregunta (abierta)

Esta nota de uso se ha generado automáticamente y se basa exclusivamente en los datos de especificación del módulo CSM.

tipo Crypto_KeyStatusType [SWS_Csm_91102] 📄 PDF

Enumeration for key status.

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

El tipo de enumeración Crypto_KeyStatusType define el estado de validez de claves criptográficas y se proporciona a través del archivo de encabezado Rte_Csm_Type.h [SWS_Csm_91102].

Rango de valores y semántica

El tipo comprende dos valores [SWS_Csm_91102]:

  • CRYPTO_KEYSTATUS_INVALID (0x00): El estado de la clave no es válido. Esto ocurre, por ejemplo, si tras establecer un elemento de clave mediante Csm_KeyElementSet aún no se ha ejecutado la función Csm_KeySetValid.
  • CRYPTO_KEYSTATUS_VALID (0x01): La clave es válida, después de que el estado se haya establecido, por ejemplo, mediante la llamada exitosa a Csm_KeySetValid.

Condiciones de secuencia e interacción

La lógica de estados vincula la validez directamente a los flujos de actualización de la gestión de claves: cada modificación de elementos de clave sitúa la clave en un estado intermedio no válido, que finaliza únicamente con la validación explícita mediante Csm_KeySetValid [SWS_Csm_91102]. Interpretación: Por lo tanto, los llamadores y los servicios criptográficos probablemente deban requerir el estado CRYPTO_KEYSTATUS_VALID antes de la ejecución de operaciones criptográficas para excluir fallos de funcionamiento causados por datos de clave incompletos. Pregunta Q-7ad50e0568814efa (abierta)

Este texto ha sido generado por una IA; se basa exclusivamente en los datos útiles de la especificación y no sustituye la revisión de la documentación de AUTOSAR.

Guía del implementador pendiente (complejidad I1)

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

Record
AUTOSAR/AP/record/CP_MOD_Csm
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Csm@rel:R20-11#f1a57cde
Content hash
f1a57cde
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CryptoServiceManager.pdf#nameddest=SWS_Csm_00646

Mapa de temas

Inicialización y estado

2

Callouts e interfaces esperadas

1

Vista de detalle

Selecciona una entrada en el índice.

Inicialización y estado

Returns the version information of this module.

void Csm_GetVersionInfo (Std_VersionInfoType* versioninfo);
Csm_Init función

Initializes the CSM module. In configurations, in which Csm is assigned to more than one partition (i.e. Csm_ Main Functions are mapped to partitions), Csm may provide one init function per partition.

void Csm_Init (const Csm_ConfigType* configPtr);

Servicios · Key…

Csm_KeyCopy función

This function shall copy all key elements from the source key to a target key. Ava ilable via Csm.h

Std_ReturnType Csm_KeyCopy (const uint32 keyId, const uint32 targetKeyId);
Csm_KeyDerive función

Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the k ey element with the id 1 of the key identified by target Crypto Key Id.

Std_ReturnType Csm_KeyDerive (uint32 keyId, uint32 targetKeyId);

Service Csm_KeyElementCopyManager.

Std_ReturnType Csm_KeyElementCopy (const uint32 keyId, const uint32 keyElementId, const uint32 targetKeyId, const uint32 targetKeyElementId);

Service Csm_KeyElementCopyPartial.

Std_ReturnType Csm_KeyElementCopyPartial (uint32 keyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetKeyId, uint32 targetKeyElementId);

Service Csm_KeyElementGet.

Std_ReturnType Csm_KeyElementGet (uint32 keyId, uint32 keyElementId, uint8* keyElementPtr, Manager uint32* keyElementLengthPtr);

Sets the given key element bytes to the key identified by key Id.

Std_ReturnType Csm_KeyElementSet (uint32 keyId, uint32 keyElementId, const uint8* keyElementPtr, uint32 keyElementLength);

Calculates the public value of the current user for the key exchange and stores the pub lic key in the memory location pointed by the public value pointer.

Std_ReturnType Csm_KeyExchangeCalcPubVal (uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.

Std_ReturnType Csm_KeyExchangeCalcSecret (uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

Generates new key material and store it in the key identified by key Id.

Std_ReturnType Csm_KeyGenerate (uint32 keyId);

Returns the key state of the key identified by key Id.

Std_ReturnType Csm_KeyGetStatus (uint32 keyId, Crypto_KeyStatusType* keyStatusPtr);

Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.

Std_ReturnType Csm_KeySetInvalid (uint32 keyId);

Sets the key state of the key identified by key Id to valid.

Std_ReturnType Csm_KeySetValid (uint32 keyId);

Servicios · Job…

Derives a new key by using the key elements in the given key identified by the key Id. The given key contains the key elements for the password and salt. The derived key is stored in the key element with the id 1 of the key identified by target Crypto

Std_ReturnType Csm_JobKeyDerive (uint32 jobId, uint32 keyId, uint32 targetKeyId);

Calculates the public value of the current user for the key exchange and stores the

Std_ReturnType Csm_JobKeyExchangeCalcPubVal (uint32 jobId, uint32 keyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

Calculates the shared secret key for the key exchange with the key material of the key identified by the key Id and the partner public key. The shared secret key is stored as a key element in the same key.

Std_ReturnType Csm_JobKeyExchangeCalcSecret (uint32 jobId, uint32 keyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);

Generates new key material and stores it in the key identified by key Id.

Std_ReturnType Csm_JobKeyGenerate (uint32 jobId, uint32 keyId);

Sets the key status to invalid. The key cannot be used any longer for cryptographic operations until it has been set to valid state again.

Std_ReturnType Csm_JobKeySetInvalid (uint32 jobId, uint32 keyId);

Stores the key if necessary and sets the key state of the key identified by key Id to valid.

Std_ReturnType Csm_JobKeySetValid (uint32 jobId, uint32 keyId);

Provides a new seed for the specified key that is used for an associated random number generator.

Std_ReturnType Csm_JobRandomSeed (uint32 jobId, uint32 keyId, const uint8* seedPtr, Manager uint32 seedLength);

Servicios · Otros

Service Csm_AEADDecryptManager.

Std_ReturnType Csm_AEADDecrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* ciphertextPtr, uint32 ciphertextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, const uint8* tagPtr, uint32 tagLength, uint8* plaintextPtr, uint32* plaintextLengthPtr, Crypto_VerifyResultType* verifyPtr);

Service Csm_AEADEncrypt.

Std_ReturnType Csm_AEADEncrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* plaintextPtr, uint32 plaintextLength, const uint8* associatedDataPtr, uint32 associatedDataLength, uint8* ciphertextPtr, uint32* ciphertextLengthPtr, uint8* tagPtr, uint32* tagLengthPtr);

Notifies the CSM that a job has finished. This function is used by the underlying layer (CRYIF).

void Csm_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);
Csm_CancelJob función

Cancels the job processing from asynchronous or streaming jobs .

Csm_Decrypt función

Service Csm_Decrypt.

Std_ReturnType Csm_Decrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);
Csm_Encrypt función

Service Csm_Encrypt.

Std_ReturnType Csm_Encrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);
Csm_Hash función

Uses the given data to perform the hash calculation and stores the hash.

Std_ReturnType Csm_Hash (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);

Service Csm_MacGenerate.

Std_ReturnType Csm_MacGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* macPtr, uint32* macLengthPtr);
Csm_MacVerify función

Service Csm_MacVerify.

Std_ReturnType Csm_MacVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* macPtr, const uint32 macLength, Crypto_VerifyResultType* verifyPtr);

Generate a random number and stores it in the memory location pointed by th e result pointer.

Std_ReturnType Csm_RandomGenerate (uint32 jobId, uint8* resultPtr, uint32* resultLengthPtr);

Feeds the key element CRYPTO_ KE_ RANDOM_ SEED with a random seed. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager

Std_ReturnType Csm_RandomSeed (uint32 keyId, const uint8* seedPtr, uint32 seedLength);

The Crypto Driver extracts the context data from the context Buffer and restores the internal state so that further crypto operation of this crypto service will continue at the exact point when the context was taken.

Std_ReturnType Csm_RestoreContextJob (uint32 jobId, uint8* contextBufferPtr, uint32 contextBufferLength);

The Crypto Driver stores the internal context of the respective crypto operation to the context Buffer.

Std_ReturnType Csm_SaveContextJob (uint32 jobId, uint8* contextBufferPtr, uint32* contextBufferLengthPtr);

Service Csm_SignatureGenerate.

Std_ReturnType Csm_SignatureGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* signaturePtr, uint32* signatureLengthPtr);

Service Csm_SignatureVerify.

Std_ReturnType Csm_SignatureVerify (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, const uint8* signaturePtr, uint32 signatureLength, Crypto_VerifyResultType* verifyPtr);

Callouts e interfaces esperadas

CSM notifies the application that a job has finished. The function name is configurable. The function name itself is derived from "{Csm Job/ Csm Job Primitive Callback Ref}/Csm Callback Func".

void <Csm_ApplicationCallbackNotification> (uint32 jobId, Crypto_ResultType result);

Cíclico

API to be called cyclically to process the requested jobs. The Csm_ Main Function shall check the queues for jobs to pass to the underlying CRYIF. Per configured Csm Main Function ins tance one Csm_ Main Function_ shall be implemented. Hereby is the short name of the Csm Main Function configuration container in the ECU configuration.

void Csm_MainFunction (void);

Tipos

Type Crypto_AlgorithmFamilyType.

Structure which determines the exact algorithm. Note, not every algorithm needs to specify all fields. AUTOSAR shall only allow valid combinations.

Type Crypto_AlgorithmModeType.

Defines which of the input/ output parameters are re - directed to a key element. The values can be combined to define a bit field.

Structure which contains further information, which depends on the job and the crypto primitive.

Type Crypto_JobPrimitiveInputOutputType.

Type Crypto_JobRedirectionInfoType.

Enumeration of the current job state.

Structure which contains further information, which depends on the job and the crypto primitive.

Enumeration for key status.

Enume ration which operation shall be performed. This enumeration is constructed from a bit mask, where the first bit indicates "Start", the second "Update" and the third "Finish".

Structure which contains basic information about the crypto primitive. Manager AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoServiceManager

Enumeration of the processing type.

Return for Std_ Return Type for Cryptostack.

Enumeration of the kind of the service.

Enumeration of the result type of verification operations.

Array long enough to store the data of the header.

Array long enough to store the ciphertext to be decrypted with AEAD.

Array long enough to store the data of the plaintext.

Array long enough to store the data of the Tag.

Array long enough to store the data of the header.

Array long enough to store the data of the cipher.

Array long enough to store the plaintext to be encrypted with AEAD.

Array long enough to store the data of the Tag.

Identification of a CSM service configuration via a numeric identifier, that is unique within a service. The name of a CSM service configuration, i.e. the name of the container Csm_Config, shall serve as a symbolic name for this parameter Avail able via Csm.h

Configuration data structure of Csm module

Array long enough to store the data to be decrypted.

Array long enough to store the data of the decrypted plaintext.

Array long enough to store the data to be encrypted.

Array long enough to store the data of the cipher.

Array long enough to store the data which shall be hashed.

Array long enough to store the data of the hash.

Array long enough to store any key element of the considered key

Implementation Data Type of category DATA_ REFERENCE with the pointer target uint32 to be able to return asynchronously the length.

Array long enough to store the data from which a MAC shall be generated.

Array long enough to store the data of the MAC.

Array long enough to store a MAC to be verified.

Array long enough to store the data for whichs MAC shall be verified.

Array long enough to store the data of the random number.

Array long enough to store the data from which the signature shall be generated.

Array long enough to store the signature and its length.

Array long enough to store a signature to be verified.

Array long enough to store the data for whichs signature shall be verified.

Implementation Data Type of category DATA_ REFERENCE with the pointer target Csm_ Verify Result Type to be able to return asynchronously the verify result.