Crypto Service Manager (CSM)
Provides standardized cryptographic services (encryption, hashing, digital signatures, key management) to applications and BSW.
Funktionen — Übersicht
void Csm_Init (const Csm_ConfigType* configPtr);Initializes the CSM module.void Csm_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.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.Std_ReturnType Csm_MacGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* macPtr, uint32* macLengthPtr);Service Csm_MacGenerate.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.Std_ReturnType Csm_Encrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);Service Csm_Encrypt.Std_ReturnType Csm_Decrypt (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* resultPtr, uint32* resultLengthPtr);Service Csm_Decrypt.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.Std_ReturnType Csm_AEADDecryptManager (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.Std_ReturnType Csm_SignatureGenerate (uint32 jobId, Crypto_OperationModeType mode, const uint8* dataPtr, uint32 DataLength, uint8* signaturePtr, uint32* signatureLengthPtr);Service Csm_SignatureGenerate.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.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.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.Std_ReturnType Csm_KeySetValid (uint32 keyId);Sets the key state of the key identified by key Id to valid.Std_ReturnType Csm_KeySetInvalid (uint32 keyId);Sets the key status to invalid.Std_ReturnType Csm_KeyGetStatus (uint32 keyId, Crypto_KeyStatusType* keyStatusPtr);Returns the key state of the key identified by key Id.Std_ReturnType Csm_KeyElementGet (uint32 keyId, uint32 keyElementId, uint8* keyElementPtr, Manager uint32* keyElementLengthPtr);Service Csm_KeyElementGet.Std_ReturnType Csm_KeyElement Csm_KeyElementCopyManager (const uint32 keyId, const uint32 keyElementId, const uint32 targetKeyId, const uint32 targetKeyElementId); ⚠️Service Csm_KeyElementCopyManager.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.Std_ReturnType Csm_KeyElementCopyPartial (uint32 keyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetKeyId, uint32 targetKeyElementId);Service Csm_KeyElementCopyPartial.Std_ReturnType Csm_RandomSeed (uint32 keyId, const uint8* seedPtr, uint32 seedLength);Feeds the key element CRYPTO_ KE_ RANDOM_ SEED with a random seed.Std_ReturnType Csm_KeyGenerate (uint32 keyId);Generates new key material and store it in the key identified by key Id.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.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...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...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.Std_ReturnType Csm_JobKeySetInvalid (uint32 jobId, uint32 keyId);Sets the key status to invalid.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.Std_ReturnType Csm_JobKeyGenerate (uint32 jobId, uint32 keyId);Generates new key material and stores it in the key identified by key Id.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.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 theStd_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...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.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...Std_ReturnType Csm_CancelJob (uint32 job, Crypto_OperationModeType mode);Cancels the job processing from asynchronous or streaming jobs.void Csm_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);Notifies the CSM that a job has finished.void Csm_MainFunction (void);API to be called cyclically to process the requested jobs.void <Csm_ApplicationCallbackNotification> (uint32 jobId, Crypto_ResultType result);CSM notifies the application that a job has finished.
Typen — Übersicht
struct Csm_ConfigTypeConfiguration data structure of Csm moduleCrypto_AlgorithmFamilyTypeType Crypto_AlgorithmFamilyType.enum Crypto_AlgorithmModeTypeType Crypto_AlgorithmModeType.struct Crypto_InputOutputRedirectionConfigTypeDefines which of the input/ output parameters are re - directed to a key element.struct Crypto_JobTypeStructure which contains further information, which depends on the job and the crypto primitive.enum Crypto_JobStateTypeEnumeration of the current job state.Crypto_JobPrimitiveInputOutputTypeType Crypto_JobPrimitiveInputOutputType.struct Crypto_JobPrimitiveInfoTypeStructure which contains further information, which depends on the job and the crypto primitive.enum Crypto_ServiceInfoTypeEnumeration of the kind of the service.Crypto_JobRedirectionInfoTypeType Crypto_JobRedirectionInfoType.struct Crypto_AlgorithmInfoTypeStructure which determines the exact algorithm.enum Crypto_ProcessingTypeEnumeration of the processing type.struct Crypto_PrimitiveInfoTypeStructure which contains basic information about the crypto primitive.Csm_ConfigIdTypeIdentification of a CSM service configuration via a numeric identifier, that is unique within a service.enum Crypto_OperationModeTypeEnume ration which operation shall be performed.enum Crypto_VerifyResultTypeEnumeration of the result type of verification operations.Csm_KeyDataTypeArray long enough to store any key element of the considered keyenum Crypto_ResultTypeReturn for Std_ Return Type for Cryptostack.Csm_HashDataTypeArray long enough to store the data which shall be hashed.enum Csm_HashResultTypeArray long enough to store the data of the hash.Csm_MacGenerateDataTypeArray long enough to store the data from which a MAC shall be generated.enum Csm_MacGenerateResultTypeArray long enough to store the data of the MAC.Csm_MacVerifyDataTypeArray long enough to store the data for whichs MAC shall be verified.Csm_MacVerifyCompareTypeArray long enough to store a MAC to be verified.Csm_EncryptDataTypeArray long enough to store the data to be encrypted.enum Csm_EncryptResultTypeArray long enough to store the data of the cipher.Csm_DecryptDataTypeArray long enough to store the data to be decrypted.enum Csm_DecryptResultTypeArray long enough to store the data of the decrypted plaintext.Csm_AEADEncryptPlaintextTypeArray long enough to store the plaintext to be encrypted with AEAD.Csm_AEADEncryptAssociatedDataTypeArray long enough to store the data of the header.Csm_AEADEncryptCiphertextTypeArray long enough to store the data of the cipher.Csm_AEADEncryptTagTypeArray long enough to store the data of the Tag.Csm_AEADDecryptCiphertextTypeArray long enough to store the ciphertext to be decrypted with AEAD.Csm_AEADDecryptAssociatedDataTypeArray long enough to store the data of the header.Csm_AEADDecryptTagTypeArray long enough to store the data of the Tag.Csm_AEADDecryptPlaintextTypeArray long enough to store the data of the plaintext.Csm_SignatureGenerateDataTypeArray long enough to store the data from which the signature shall be generated.enum Csm_SignatureGenerateResultTypeArray long enough to store the signature and its length.Csm_SignatureVerifyDataTypeArray long enough to store the data for whichs signature shall be verified.Csm_SignatureVerifyCompareTypeArray long enough to store a signature to be verified.enum Csm_RandomGenerateResultTypeArray long enough to store the data of the random number.Csm_LengthPtrImplementation Data Type of category DATA_ REFERENCE with the pointer target uint32 to be able to return asynchronously the...Csm_VerifyResultPtrImplementation Data Type of category DATA_ REFERENCE with the pointer target Csm_ Verify Result Type to be able to return...enum Crypto_KeyStatusTypeEnumeration for key status.
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.
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 tipoconst 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_MainFunctionestá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_GetVersionInfo [SWS_Csm_00705] 📄 PDF
void Csm_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
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.
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.dataPtrydataLength: 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úferresultPtren 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.
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.
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
dataLengthindica la cantidad de bytes de datos paradataPtr,macLengthrequiere 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.
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 tipoCrypto_OperationModeType).dataPtrydataLength: 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 deresultPtr; 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.
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.
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.
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
plaintextPtraloja el texto claro descifrado. El punteroplaintextLengthPtrdebe 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.
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.
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.
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.
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.
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
keyIdse 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.
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.
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 tipoCrypto_KeyStatusTypeen 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.
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 dekeyElementPtren 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 dekeyElementIdno 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.
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
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.
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
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.
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.
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.
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úferpublicValuePtr; 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.
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.
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]:
E_OK: La solicitud se realizó con éxito [SWS_Csm_91027].E_NOT_OK: la solicitud ha fallado [SWS_Csm_91027].CRYPTO_E_BUSY: La solicitud ha fallado porque el Crypto Driver Object responsable está ocupado [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.
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]:
E_OK: La solicitud se completó correctamente [SWS_Csm_91002].E_NOT_OK: La solicitud ha fallado [SWS_Csm_91002].CRYPTO_E_BUSY: La solicitud falló porque el Crypto Driver Object responsable está ocupado [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.
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.
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
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
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úferpublicValuePtr; 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.
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.
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 valor0.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 en0.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.
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 .
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).
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_
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".
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 Csm_ConfigType [SWS_Csm_01085] 📄 PDF
Configuration data structure of Csm module
tipo Crypto_AlgorithmFamilyType [SWS_Csm_01047] 📄 PDF
Type Crypto_AlgorithmFamilyType.
tipo Crypto_AlgorithmModeType [SWS_Csm_01048] 📄 PDF
Type Crypto_AlgorithmModeType.
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_GCMasí comoCRYPTO_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_PSSyCRYPTO_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 comoCRYPTO_ALGOMODE_PXXXR1[SWS_Csm_01048]. - Estados especiales: con
CRYPTO_ALGOMODE_NOT_SET(0x00) se indica una clave de algoritmo no establecida, mientras queCRYPTO_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.
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.
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 aCsm_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_JobPrimitiveInputOutputType [SWS_Csm_01009] 📄 PDF
Type Crypto_JobPrimitiveInputOutputType.
tipo Crypto_JobPrimitiveInfoType [SWS_Csm_01012] 📄 PDF
Structure which contains further information, which depends on the job and the crypto primitive.
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_ServiceInfoType [SWS_Csm_01031] 📄 PDF
Enumeration of the kind of the service.
tipo Crypto_JobRedirectionInfoType [SWS_Csm_91026] 📄 PDF
Type Crypto_JobRedirectionInfoType.
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.
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_ProcessingType [SWS_Csm_01049] 📄 PDF
Enumeration of the processing type.
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
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_
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".
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.
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(valor0x00o0): 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(valor0x01o1): 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 Csm_KeyDataType [SWS_Csm_00828] 📄 PDF
Array long enough to store any key element of the considered key
tipo Crypto_ResultType [SWS_Csm_91044] 📄 PDF
Return for Std_ Return Type for Cryptostack.
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 yCRYPTO_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.
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.
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.
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.
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.
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
CsmMacVerifyDataMaxLengthen el contenedorCsm/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 formaCsm_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.
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.
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
CsmEncryptDataMaxLengthsituado bajo la respectiva configuración de la primitivaCsmEncryptConfig[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.
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.
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.
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(rutaCsm/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ónCrypto={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.
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.
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
CsmAEADEncryptAssociatedDataMaxLengthdentro de la configuraciónCsm/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 deCsmPrimitives.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.
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.
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
CsmAEADEncryptTagLengthbajoCsm/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.
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.
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.
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.
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.
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.
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
uint8se especifica a través del parámetro de configuraciónCsmSignatureGenerateResultLengthde 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.
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
CsmSignatureVerifyDataMaxLengthde la ruta de configuraciónCsm/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 cortoCsmPrimitives.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.
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.
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.
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_VerifyResultTypeprobablemente 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.
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 medianteCsm_KeyElementSetaún no se ha ejecutado la funciónCsm_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 aCsm_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
gemini-3.8-flash-low· 2026-10-13 · Original en alemán