Crypto Interface (CryIf)
Abstracts cryptographic hardware and software acceleration engines.
Funktionen — Übersicht
void CryIf_Init (const CryIf_ConfigType* configPtr);Initializes the CRYIF module.void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);Returns the version information of this module.Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);Service CryIf_ProcessJob.Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);This interface dispatches the job cancellation function to the configured crypto driver object.Std_ReturnType CryIf_KeyElementSet (uint32 cryIfKeyId, uint32 keyElementId, const uint8* keyPtr, uint32 keyLength);This function shall dispatch the set key element function to the configured crypto driver object.Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);This function shall dispatch the set key valid function to the configured crypto driver object.Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);Sets invalid for the status of the key identifi ed by cry If Key Id.Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);Returns the key state of the key identified by cry If Key Id.Std_ReturnType CryIf_KeyElementGet (uint32 cryIfKeyId, uint32 keyElementId, uint8* resultPtr, uint32* resultLengthPtr);This function shall dispatch the get key ele ment function to the configured crypto driver object.Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);Service CryIf_KeyElementCopy.Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);Service CryIf_KeyElementCopyPartial.Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);This function shall co py all key elements from the source key to a target key.Std_ReturnType CryIf_RandomSeed (uint32 cryIfKeyId, const uint8* seedPtr, uint32 seedLength);This function shall dispatch the random seed function to the configured crypto driver object.Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);This function shall dispatch the key generate function to the configured crypto driver object.Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);This function shall dispatch th e key derive function to the configured crypto driver object.Std_ReturnType CryIf_KeyExchangeCalcPubVal (uint32 cryIfKeyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);This function shall dispatch the key exchange public value calculation function to the configured crypto driver object.Std_ReturnType CryIf_KeyExchangeCalcSecret (uint32 cryIfKeyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);This function shall dispatch the key exchange common shared secret calculation function to the configured crypto driver object.void CryIf_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);Notifies the CRYIF about the completion of the request with the result of the cryptographic operation.
Typen — Übersicht
struct CryIf_ConfigTypeConfiguration data structure of Cry If module
Funktionen & Typen — Detailansicht
función CryIf_Init [SWS_CryIf_91000] 📄 PDF
void CryIf_Init (const CryIf_ConfigType* configPtr);
Initializes the CRYIF module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoInterface
usar
La función síncrona CryIf_Init sirve para la inicialización completa del módulo Crypto Interface (CryIf) según AUTOSAR Classic Platform [SWS_CryIf_91000]. La función está declarada en el archivo de cabecera CryIf.h y tiene el ID de servicio 0x00 [SWS_CryIf_91000]. Como único parámetro de entrada, la interfaz espera configPtr, un puntero a una estructura de configuración seleccionada del tipo CryIf_ConfigType [SWS_CryIf_91000]. La función no devuelve ningún valor de retorno (void) y no posee parámetros de entrada/salida ni de salida [SWS_CryIf_91000].
Semántica y concurrencia
La llamada a CryIf_Init se ejecuta de forma síncrona [SWS_CryIf_91000]. De este modo, el módulo completa todas las tareas de inicialización necesarias antes de que la ejecución se devuelva al llamador. En cuanto a la concurrencia, la función está clasificada como no reentrante (Non Reentrant) [SWS_CryIf_91000]. Por lo tanto, la rutina no debe invocarse en ningún momento de forma paralela o anidada.
Restricciones e integración
Interpretación: la llamada a CryIf_Init normalmente debería tener lugar de forma centralizada durante el arranque del sistema en el marco de la fase de inicialización del software básico, antes de que se puedan invocar servicios posteriores de la interfaz criptográfica. Pregunta Q-31b82ca9b144c843 (abierta) Dado que el payload no menciona tratamientos de errores específicos, notificaciones DET ni eventos DEM, el llamador debe garantizar previamente un puntero válido a la configuración. En el payload no se definen requisitos relacionados.
Esta nota de uso se generó de forma automatizada y se basa exclusivamente en los datos de especificación de SWS_CryIf_91000.
Guía del implementador pendiente (complejidad I1)
función CryIf_GetVersionInfo [SWS_CryIf_91001] 📄 PDF
void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
función CryIf_ProcessJob [SWS_CryIf_91003] 📄 PDF
Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);
Service CryIf_ProcessJob.
La función CryIf_ProcessJob (Service ID 0x03), proporcionada a través de la cabecera CryIf.h, reenvía órdenes de procesamiento criptográfico al correspondiente Crypto Driver Object configurado [SWS_CryIf_91003]. Como parámetros toma el identificador del canal criptográfico (channelId), así como un puntero a la configuración de la orden (job) [SWS_CryIf_91003]. La estructura job contiene toda la información relevante tanto para el usuario como para la primitiva criptográfica específica [SWS_CryIf_91003]. El procesamiento de la orden se efectúa de forma síncrona o asíncrona en función de la configuración; además, la interfaz está implementada como reentrante [SWS_CryIf_91003].
En caso de una aceptación sin errores, la función devuelve E_OK [SWS_CryIf_91003]. Si la solicitud falla, el valor de retorno indica E_NOT_OK o un estado de error específico del controlador: CRYPTO_E_BUSY (objeto de controlador ocupado), CRYPTO_E_QUEUE_FULL (cola llena), errores relativos a los estados de clave tales como CRYPTO_E_KEY_NOT_VALID, CRYPTO_E_KEY_SIZE_MISMATCH, CRYPTO_E_KEY_NOT_AVAILABLE, CRYPTO_E_KEY_EMPTY, CRYPTO_E_KEY_READ_FAIL o CRYPTO_E_KEY_WRITE_FAIL, así como CRYPTO_E_JOB_CANCELED en caso de cancelación de una orden síncrona y CRYPTO_E_ENTROPY_EXHAUSTED [SWS_CryIf_91003].
Además, la interfaz realiza comprobaciones previas de los identificadores de clave:
- Si
job->jobPrimitiveInfo->primitiveInfo->serviceestá ajustado aCRYPTO_KEYSETVALID,CRYPTO_KEYSETINVALID,CRYPTO_RANDOMSEED,CRYPTO_KEYGENERATE,CRYPTO_KEYDERIVE,CRYPTO_KEYEXCHANGECALCPUBVALoCRYPTO_KEYEXCHANGECALCSECRET,job->cryIfKeyIddebe encontrarse en el rango de valores válido [SWS_CryIf_00134]. En caso contrario, la función notifica el errorCRYPTO_E_PARAM_HANDLEal DET y cancela conE_NOT_OK[SWS_CryIf_00134]. - Si se solicita el servicio
CRYPTO_KEYDERIVE, además el identificador de clave de destinojob->cryIfTargetKeyIddebe encontrarse dentro del rango válido; de lo contrario, también se notificaCRYPTO_E_PARAM_HANDLEal DET y se devuelveE_NOT_OK[SWS_CryIf_00135].
Este texto fue generado por una IA y se basa en la especificación AUTOSAR CP R20-11.
función CryIf_CancelJob [SWS_CryIf_91014] 📄 PDF
Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);
This interface dispatches the job cancellation function to the configured crypto driver object.
La función CryIf_CancelJob sirve para el reenvío de una solicitud de cancelación de un trabajo criptográfico al objeto de controlador criptográfico configurado [SWS_CryIf_91014]. Proporciona la interfaz estandarizada del Crypto Interface, está declarada a través de la cabecera CryIf.h y posee el Service ID 0x0e [SWS_CryIf_91014].
Para la llamada deben pasarse el identificador del canal de destino, así como la configuración del trabajo [SWS_CryIf_91014]:
channelId(entrada,uint32): contiene el identificador del canal criptográfico correspondiente [SWS_CryIf_91014].job(entrada/salida,Crypto_JobType*): puntero a la configuración del trabajo, la cual incluye estructuras con información relevante para el usuario y la primitiva [SWS_CryIf_91014].
La ejecución se realiza de forma síncrona y devuelve un estado del tipo Std_ReturnType al emisor de la llamada [SWS_CryIf_91014]:
E_OK: la solicitud fue exitosa y el trabajo se eliminó del controlador [SWS_CryIf_91014].E_NOT_OK: la solicitud ha fallado, ya que el trabajo no se pudo eliminar [SWS_CryIf_91014].CRYPTO_E_JOB_CANCELED: valor de retorno criptográfico especificado para la confirmación de la cancelación del trabajo [SWS_CryIf_91014].
En cuanto al comportamiento de concurrencia, CryIf_CancelJob está especificada como reentrante [SWS_CryIf_91014]. Esto permite llamadas paralelas para la cancelación de órdenes, delegándose la gestión de forma bloqueante al objeto de controlador subyacente [SWS_CryIf_91014].
Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.
función CryIf_KeyElementSet [SWS_CryIf_91004] 📄 PDF
Std_ReturnType CryIf_KeyElementSet (uint32 cryIfKeyId, uint32 keyElementId, const uint8* keyPtr, uint32 keyLength);
This function shall dispatch the set key element function to the configured crypto driver object.
La función síncrona CryIf_KeyElementSet (ID de servicio 0x04) reenvía la solicitud para establecer un elemento de clave al objeto controlador criptográfico configurado [SWS_CryIf_91004]. La declaración de la función se proporciona a través del archivo de cabecera CryIf.h [SWS_CryIf_91004].
La llamada se realiza a través de cuatro parámetros de entrada [SWS_CryIf_91004]:
cryIfKeyId: designa el identificador de la clave cuyo elemento de clave se va a actualizar.keyElementId: designa el identificador del elemento de clave concreto que se debe establecer.keyPtr: puntero al búfer con los datos de clave que se van a incorporar como elemento.keyLength: indica la longitud del elemento de clave que se va a establecer en bytes.
La función está especificada como no reentrante (Non Reentrant) [SWS_CryIf_91004]. Por lo tanto, los llamadores deben asegurarse de que las llamadas no se produzcan de forma concurrente no coordinada.
El valor de retorno del tipo Std_ReturnType señaliza el resultado del reenvío o de la ejecución [SWS_CryIf_91004]:
E_OK: La solicitud se realizó con éxito.E_NOT_OK: La solicitud ha fallado.CRYPTO_E_BUSY: El objeto de controlador criptográfico asignado está ocupado actualmente.CRYPTO_E_KEY_WRITE_FAIL: Se denegó el acceso de escritura al elemento de clave.CRYPTO_E_KEY_NOT_AVAILABLE: La clave solicitada no está disponible.CRYPTO_E_KEY_SIZE_MISMATCH: El tamaño del elemento de clave no coincide con la longitud de los datos proporcionados.
Esta nota de uso ha sido generada por una IA a partir de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función CryIf_KeySetValid [SWS_CryIf_91005] 📄 PDF
Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);
This function shall dispatch the set key valid function to the configured crypto driver object.
usar
La interfaz síncrona CryIf_KeySetValid (Service-ID 0x05) se proporciona a través del archivo de cabecera CryIf.h y reenvía la solicitud para validar una clave al Crypto Driver Object configurado en cada caso [SWS_CryIf_91005]. Como único parámetro se pasa el identificador cryIfKeyId, el cual determina la clave de destino cuyos elementos de clave se deben marcar como válidos [SWS_CryIf_91005]. Para esta función no existen parámetros adicionales de entrada/salida ni de salida [SWS_CryIf_91005].
Valores de retorno y tratamiento de errores
El valor de retorno de tipo Std_ReturnType informa al llamador sobre el resultado del reenvío y del procesamiento en el controlador [SWS_CryIf_91005]:
E_OK: La operación se reenvió correctamente al Crypto Driver Object y finalizó con éxito [SWS_CryIf_91005].E_NOT_OK: Falló el reenvío o la ejecución de la solicitud [SWS_CryIf_91005].CRYPTO_E_BUSY: La solicitud no se pudo ejecutar porque el Crypto Driver Object competente está ocupado actualmente [SWS_CryIf_91005].
Concurrencia y restricciones
En la especificación, la función se designa expresamente como no reentrante (Non Reentrant) [SWS_CryIf_91005]. Por lo tanto, las entidades llamadoras deben garantizar que las llamadas a CryIf_KeySetValid nunca se ejecuten de forma concurrente o interrumpiéndose entre sí, con el fin de evitar de manera fiable conflictos durante el reenvío al objeto de controlador.
Esta nota de uso se generó de forma automatizada sobre la base de la especificación.
función CryIf_KeySetInvalid [SWS_CryIf_91021] 📄 PDF
Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);
Sets invalid for the status of the key identifi ed by cry If Key Id.
La interfaz síncrona CryIf_KeySetInvalid (Service-ID 0x14) establece como no válido el estado de la clave identificada a través del parámetro cryIfKeyId [SWS_CryIf_91021]. La declaración de la función se proporciona a través del archivo de cabecera CryIf.h [SWS_CryIf_91021].
Para el uso de la función se aplican los siguientes parámetros y valores de retorno [SWS_CryIf_91021]:
- Parámetros de transferencia: A través del parámetro de entrada
cryIfKeyIdde tipouint32se pasa el identificador de la clave cuya validez se debe revocar. No existen parámetros de entrada y salida. - Valor de retorno (
Std_ReturnType):E_OK: La solicitud de cambio de estado se realizó con éxito.E_NOT_OK: La solicitud ha fallado.CRYPTO_E_BUSY: La ejecución ha fallado porque el Crypto Driver Object competente está ocupado.
En relación con la concurrencia y el contexto de ejecución, CryIf_KeySetInvalid está especificada como no reentrante (Non Reentrant) [SWS_CryIf_91021]. Por lo tanto, las entidades llamadoras deben asegurarse de que las llamadas se realicen secuencialmente y no se solapen entre sí. Si se produce el valor de retorno CRYPTO_E_BUSY, el Crypto Driver Object está bloqueado temporalmente [SWS_CryIf_91021]; en tal caso, el llamador probablemente sea responsable de reintentar más adelante la invalidación de estado. Pregunta Q-4377065d4d4eecab (abierta)
Este texto ha sido elaborado por una IA y se basa exclusivamente en los datos de especificación de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función CryIf_KeyGetStatus [SWS_CryIf_91012] 📄 PDF
Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);
Returns the key state of the key identified by cry If Key Id.
Uso y contexto de llamada
La función CryIf_KeyGetStatus sirve para la consulta síncrona del estado de una clave criptográfica dentro del Crypto Interface [SWS_CryIf_91012]. Está disponible a través de la cabecera CryIf.h con el Service ID 0x13 [SWS_CryIf_91012]. En la llamada se pasan los siguientes parámetros:
cryIfKeyId(entrada): identificador unívoco de la clave cuyo estado se va a determinar [SWS_CryIf_91012].keyStatusPtr(salida): puntero a una variable del tipoCrypto_KeyStatusTypeen la que se escribe el estado de la clave [SWS_CryIf_91012].
Tratamiento de errores y valores de retorno
El valor de retorno del tipo Std_ReturnType indica el resultado de la ejecución [SWS_CryIf_91012]:
E_OK: la consulta de estado fue exitosa y el estado se almacenó en la memoria de destino [SWS_CryIf_91012].E_NOT_OK: la solicitud ha fallado [SWS_CryIf_91012].
En la especificación del elemento no se indican códigos de error específicos, notificaciones de DET ni eventos de DEM; el tratamiento de errores por parte del emisor de la llamada se basa principalmente en la evaluación del valor de retorno.
Concurrencia y restricciones
La función está especificada como no reentrante (Non Reentrant) [SWS_CryIf_91012]. Por lo tanto, los emisores de la llamada deben asegurarse de que no se produzcan llamadas simultáneas o de interrupción para la misma o diferentes instancias de clave. Además, el emisor de la llamada probablemente debe proporcionar un área de memoria válida para el puntero de salida keyStatusPtr, ya que la función escribe directamente en él. Pregunta Q-da3a034d4f2e9442 (abierta)
Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función CryIf_KeyElementGet [SWS_CryIf_91006] 📄 PDF
Std_ReturnType CryIf_KeyElementGet (uint32 cryIfKeyId, uint32 keyElementId, uint8* resultPtr, uint32* resultLengthPtr);
This function shall dispatch the get key ele ment function to the configured crypto driver object.
La función síncrona CryIf_KeyElementGet reenvía la consulta de un elemento de clave al Crypto Driver Object configurado [SWS_CryIf_91006]. Está declarada a través del archivo de cabecera CryIf.h y especificada como reentrante [SWS_CryIf_91006].
Uso y parámetros
Durante la llamada, cryIfKeyId identifica la clave afectada y keyElementId el elemento de clave que se va a recuperar [SWS_CryIf_91006]. Los datos útiles se almacenan en el búfer resultPtr [SWS_CryIf_91006]. El puntero resultLengthPtr sirve como parámetro combinado de entrada y salida para el control de la longitud [SWS_CryIf_91006]:
- Antes de la ejecución, el llamador pasa en él el tamaño de búfer disponible de
resultPtr[SWS_CryIf_91006]. - Si el elemento de clave permite el acceso parcial, el valor define en su lugar la cantidad de datos que se va a recuperar, la cual no tiene por qué coincidir con el tamaño del búfer [SWS_CryIf_91006].
- Tras finalizar la operación, la función almacena en esta ubicación de memoria la cantidad de datos realmente escrita [SWS_CryIf_91006].
Tratamiento de errores y valores de retorno
El valor de retorno de tipo Std_ReturnType señala el estado de éxito o de error [SWS_CryIf_91006]:
E_OK: La solicitud finalizó con éxito [SWS_CryIf_91006].E_NOT_OK: la ejecución ha fallado [SWS_CryIf_91006].CRYPTO_E_BUSY: El Crypto Driver Object está ocupado [SWS_CryIf_91006].CRYPTO_E_KEY_NOT_AVAILABLE: el elemento de clave solicitado no está disponible [SWS_CryIf_91006].CRYPTO_E_KEY_READ_FAIL: se denegó el acceso de lectura al elemento de clave [SWS_CryIf_91006].CRYPTO_E_KEY_EMPTY: el elemento de clave de origen no está inicializado [SWS_CryIf_91006].
Esta nota de uso se ha generado automáticamente a partir de la especificación de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función CryIf_KeyElementCopy [SWS_CryIf_91015] 📄 PDF
Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);
Service CryIf_KeyElementCopy.
La función síncrona CryIf_KeyElementCopy sirve para copiar un elemento de clave de una clave de origen a una clave de destino según [SWS_CryIf_91015]. El servicio está disponible a través del archivo de cabecera CryIf.h.
Para la llamada se pasan a través de los parámetros de entrada la clave de origen (cryIfKeyId), el elemento de origen que se va a copiar (keyElementId), así como la clave de destino (targetCryIfKeyId) y el elemento de destino (targetKeyElementId) [SWS_CryIf_91015]. La función está diseñada como reentrante, pero explícitamente no para la misma cryIfKeyId [SWS_CryIf_91015]. Como interpretación, parece obvio que, para evitar conflictos de datos, los accesos simultáneos de escritura a la misma clave de destino (targetCryIfKeyId) también deberían ser sincronizados por el emisor de la llamada. Pregunta Q-cba3554c537dd498 (abierta)
El valor de retorno de tipo Std_ReturnType indica el resultado de la operación [SWS_CryIf_91015]:
E_OK: el proceso de copia fue exitoso.E_NOT_OK: La solicitud ha fallado.CRYPTO_E_BUSY: el Crypto Driver Object correspondiente 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 del elemento de clave de destino no está permitida.CRYPTO_E_KEY_SIZE_MISMATCH: los tamaños de los elementos de clave involucrados no son compatibles.CRYPTO_E_KEY_EMPTY: el elemento de clave de origen no está inicializado.
Esta nota de uso se generó automáticamente a partir de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función CryIf_KeyElementCopyPartial [SWS_CryIf_91018] 📄 PDF
Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);
Service CryIf_KeyElementCopyPartial.
La función síncrona CryIf_KeyElementCopyPartial, proporcionada a través de la cabecera CryIf.h, copia subáreas de un elemento de clave en otro elemento de clave [SWS_CryIf_91018]. Las claves de origen y destino, así como los elementos respectivos, se especifican mediante los parámetros cryIfKeyId, keyElementId, targetCryIfKeyId y targetKeyElementId [SWS_CryIf_91018]. Las posiciones de inicio dentro de ambos elementos se determinan mediante keyElementSourceOffset y keyElementTargetOffset, mientras que keyElementCopyLength define la cantidad exacta de bytes que se van a transferir [SWS_CryIf_91018].
En cuanto a la concurrencia, la rutina está diseñada como reentrante, aunque expresamente no para la misma clave de origen (cryIfKeyId) [SWS_CryIf_91018]. Por lo tanto, las llamadas paralelas con un ID de clave de origen idéntico deben sincronizarse o evitarse por parte del llamador.
El valor de retorno comunica el estado de ejecución detallado de la solicitud síncrona [SWS_CryIf_91018]:
E_OK: El proceso de copia se realizó con éxito.E_NOT_OK: La solicitud ha fallado.CRYPTO_E_BUSY: El Crypto Driver Object competente está ocupado.CRYPTO_E_KEY_NOT_AVAILABLE: El elemento de clave de origen o destino 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: No está permitida la escritura del elemento de clave de destino.CRYPTO_E_KEY_SIZE_MISMATCH: Los tamaños de elemento o las indicaciones de offset y longitud son incompatibles.CRYPTO_E_KEY_EMPTY: el elemento de clave de origen no está inicializado.
Esta nota de uso se ha generado automáticamente a partir de la especificación de AUTOSAR R20-11.
Guía del implementador pendiente (complejidad I1)
función CryIf_KeyCopy [SWS_CryIf_91016] 📄 PDF
Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);
This function shall co py all key elements from the source key to a target key.
usar
La función síncrona CryIf_KeyCopy copia todos los elementos de clave desde una clave de origen a una clave de destino indicada ([SWS_CryIf_91016]). Se proporciona a través del archivo de cabecera CryIf.h y posee el Service-ID 0x10 ([SWS_CryIf_91016]).
La función espera dos parámetros de entrada ([SWS_CryIf_91016]):
cryIfKeyId: Identificador de la clave cuyos elementos de clave sirven como origen.targetCryIfKeyId: Identificador de la clave que recibe los elementos de clave como destino.
Concurrencia y restricciones
La interfaz está especificada como reentrante, pero no debe llamarse simultáneamente para el mismo identificador de clave de origen (cryIfKeyId) ([SWS_CryIf_91016]).
Manejo de errores
El valor de retorno de tipo Std_ReturnType indica el resultado de la operación ([SWS_CryIf_91016]):
E_OK: Proceso de copia finalizado con éxito.E_NOT_OK: solicitud fallida.CRYPTO_E_BUSY: Falló debido a que el Crypto Driver Object subyacente 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.CRYPTO_E_KEY_WRITE_FAIL: la escritura del elemento de clave de destino no está permitida.CRYPTO_E_KEY_SIZE_MISMATCH: los tamaños de los elementos de clave no son compatibles entre sí.CRYPTO_E_KEY_EMPTY: el elemento de clave de origen no está inicializado.
Esta nota de uso se generó de forma automatizada sobre la base de la especificación.
función CryIf_RandomSeed [SWS_CryIf_91007] 📄 PDF
Std_ReturnType CryIf_RandomSeed (uint32 cryIfKeyId, const uint8* seedPtr, uint32 seedLength);
This function shall dispatch the random seed function to the configured crypto driver object.
La función CryIf_RandomSeed sirve para reenviar la generación o alimentación de una semilla aleatoria (Random Seed) al Crypto Driver Object configurado [SWS_CryIf_91007]. Está disponible a través del archivo de cabecera CryIf.h y posee el Service ID 0x07 [SWS_CryIf_91007].
La interfaz espera tres parámetros de entrada [SWS_CryIf_91007]:
cryIfKeyId: Identificador de la clave para la cual se debe generar una nueva semilla.seedPtr: Puntero al área de memoria con los datos para la alimentación de la semilla.seedLength: Longitud de la semilla en bytes.
El comportamiento de ejecución (síncrono o asíncrono) no está predefinido de forma fija, sino que depende de la configuración respectiva [SWS_CryIf_91007]. En cuanto a la concurrencia, la función está especificada como reentrante [SWS_CryIf_91007].
Como valor de retorno, la función devuelve un Std_ReturnType con los siguientes valores de estado [SWS_CryIf_91007]:
E_OK: la solicitud fue exitosa.E_NOT_OK: La solicitud ha fallado.CRYPTO_E_KEY_NOT_VALID: La solicitud falló debido a que el estado de la clave es «invalid».
Interpretación: Al devolver CRYPTO_E_KEY_NOT_VALID, es de suponer que la comprobación se refiere a la clave pasada cryIfKeyId, aunque en el texto de la especificación se mencione divergentemente cryptoKeyId [SWS_CryIf_91007]. Pregunta Q-22b20256f21f131b (abierta)
Este texto fue generado por una IA y se basa en la especificación AUTOSAR CP R20-11.
función CryIf_KeyGenerate [SWS_CryIf_91008] 📄 PDF
Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);
This function shall dispatch the key generate function to the configured crypto driver object.
usar
La función CryIf_KeyGenerate reenvía la llamada a la función para la generación de claves al Crypto Driver Object configurado [SWS_CryIf_91008]. A través del parámetro de entrada cryIfKeyId se pasa el identificador unívoco de la clave que se debe actualizar con el valor de clave recién generado [SWS_CryIf_91008]. La declaración de esta interfaz se proporciona a través de la cabecera CryIf.h [SWS_CryIf_91008].
Comportamiento de sincronización y concurrencia
La ejecución se realiza de forma síncrona o asíncrona en función de la configuración subyacente [SWS_CryIf_91008]. En cuanto al contexto de llamada y la concurrencia, la función está especificada como reentrante [SWS_CryIf_91008].
Valores de retorno y tratamiento de errores
La llamada devuelve un valor de estado del tipo Std_ReturnType [SWS_CryIf_91008]:
E_OK: La solicitud de generación de clave se ejecutó con éxito [SWS_CryIf_91008].E_NOT_OK: La solicitud ha fallado [SWS_CryIf_91008].CRYPTO_E_BUSY: La solicitud falló porque el Crypto Driver Object invocado está ocupado actualmente [SWS_CryIf_91008].CRYPTO_E_KEY_EMPTY: La solicitud falló porque un elemento de clave de origen necesario no está inicializado [SWS_CryIf_91008].CRYPTO_E_KEY_NOT_VALID: La solicitud falló porque el estado de la clave referenciada por el identificador de clave no es válido [SWS_CryIf_91008].
Esta nota de uso se generó automáticamente a partir de la especificación de AUTOSAR Release R20-11.
función CryIf_KeyDerive [SWS_CryIf_91009] 📄 PDF
Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);
This function shall dispatch th e key derive function to the configured crypto driver object.
usar
La función CryIf_KeyDerive sirve para reenviar de forma síncrona una solicitud de derivación de claves al Crypto Driver Object configurado en cada caso [SWS_CryIf_91009]. La interfaz se declara a través del archivo de cabecera CryIf.h con el Service ID 0x09 [SWS_CryIf_91009].
En la llamada se pasan dos identificadores de clave [SWS_CryIf_91009]:
cryIfKeyId: identificador de la clave que se utiliza como base para la derivación.targetCryIfKeyId: identificador de la clave en la que se almacena la clave derivada.
Tratamiento de errores y valores de retorno
El resultado de la operación se transmite a través del tipo de retorno Std_ReturnType [SWS_CryIf_91009]:
E_OK: la solicitud se ejecutó con éxito [SWS_CryIf_91009].E_NOT_OK: la ejecución ha fallado [SWS_CryIf_91009].CRYPTO_E_KEY_EMPTY: el elemento de clave de origen no está inicializado [SWS_CryIf_91009].CRYPTO_E_KEY_NOT_VALID: el estado de clave de la clave referenciada es inválido [SWS_CryIf_91009].CRYPTO_E_BUSY: el Crypto Driver Object subyacente ha notificadoCRYPTO_E_BUSY[SWS_CryIf_91009].
Concurrencia y condiciones de contorno
La interfaz está especificada como reentrante [SWS_CryIf_91009]. Dado que el flujo es síncrono, es probable que los emisores de la llamada deban tener en cuenta el tiempo de ejecución del controlador en el contexto de llamada correspondiente. Pregunta Q-2b2fd50249878177 (abierta)
Esta nota de uso se generó de forma automatizada a partir de la especificación AUTOSAR R20-11.
función CryIf_KeyExchangeCalcPubVal [SWS_CryIf_91010] 📄 PDF
Std_ReturnType CryIf_KeyExchangeCalcPubVal (uint32 cryIfKeyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);
This function shall dispatch the key exchange public value calculation function to the configured crypto driver object. Available
La función síncrona y reentrante CryIf_KeyExchangeCalcPubVal reenvía el cálculo del valor público de intercambio de claves al Crypto Driver Object configurado [SWS_CryIf_91010]. El servicio está disponible a través de la cabecera CryIf.h [SWS_CryIf_91010].
Durante la llamada a la función se procesan los siguientes parámetros [SWS_CryIf_91010]:
cryIfKeyId: Identificador de la clave que se va a utilizar para el protocolo de intercambio de claves.publicValuePtr: Puntero al área de memoria en la que se almacena el valor público calculado.publicValueLengthPtr: Puntero a la información de longitud. En el momento de la llamada, este parámetro debe contener el tamaño del búfer proporcionado; tras finalizar, almacena la longitud real del valor calculado.
La función devuelve un estado de tipo Std_ReturnType [SWS_CryIf_91010]:
E_OK: La solicitud se realizó con éxito.E_NOT_OK: La solicitud ha fallado.CRYPTO_E_BUSY: Error debido a que el Crypto Driver Object competente está ocupado.CRYPTO_E_KEY_EMPTY: Error debido a un elemento de clave de origen no inicializado.CRYPTO_E_KEY_NOT_VALID: Error debido a que la clave direccionada se encuentra en un estado no válido.
Este texto ha sido generado por un sistema basado en IA y se fundamenta exclusivamente en los datos de especificación de AUTOSAR R20-11.
función CryIf_KeyExchangeCalcSecret [SWS_CryIf_91011] 📄 PDF
Std_ReturnType CryIf_KeyExchangeCalcSecret (uint32 cryIfKeyId, const uint8* partnerPublicValuePtr, uint32 partnerPublicValueLength);
This function shall dispatch the key exchange common shared secret calculation function to the configured crypto driver object.
La función síncrona CryIf_KeyExchangeCalcSecret reenvía el cálculo del secreto compartido en el intercambio de claves al Crypto Driver Object configurado [SWS_CryIf_91011]. Al servicio se le pasan el identificador de la clave (cryIfKeyId), un puntero al valor de clave pública del interlocutor de comunicación (partnerPublicValuePtr), así como su longitud en bytes (partnerPublicValueLength) [SWS_CryIf_91011].
Tratamiento de errores: La función devuelve el resultado a través de Std_ReturnType [SWS_CryIf_91011]:
E_OK: El cálculo se ejecutó con éxito [SWS_CryIf_91011].CRYPTO_E_BUSY: El Crypto Driver Object está ocupado [SWS_CryIf_91011].CRYPTO_E_KEY_EMPTY: El elemento de clave de origen no está inicializado [SWS_CryIf_91011].CRYPTO_E_KEY_NOT_VALID: El estado de clave de la clave indicada no es válido [SWS_CryIf_91011].E_NOT_OK: la solicitud ha fallado [SWS_CryIf_91011].
Concurrencia: La interfaz está especificada como reentrante [SWS_CryIf_91011]. Dado que el flujo se ejecuta de forma síncrona, la llamada probablemente se realiza en el contexto de tarea. Pregunta Q-b3bca3645b0ef468 (abierta) El servicio se proporciona a través del archivo de cabecera CryIf.h [SWS_CryIf_91011].
Esta nota de uso se generó automáticamente sobre la base de la especificación de AUTOSAR R20-11.
función CryIf_CallbackNotification [SWS_CryIf_91013] 📄 PDF
void CryIf_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);
Notifies the CRYIF about the completion of the request with the result of the cryptographic operation.
La función CryIf_CallbackNotification sirve, según [SWS_CryIf_91013], para informar al Crypto Interface (CryIf) acerca de la finalización de una operación criptográfica, así como de su resultado. La declaración está disponible a través de la cabecera CryIf.h y cuenta con el Service ID 0x0d [SWS_CryIf_91013].
La llamada se realiza de forma síncrona y procesa dos parámetros de entrada obligatorios [SWS_CryIf_91013]:
job(entrada,Crypto_JobType*): apunta a la estructura de información de la orden finalizada y contiene un ID de callback para la asignación del trabajo terminado [SWS_CryIf_91013].result(entrada,Crypto_ResultType): transmite el resultado de la operación criptográfica ejecutada [SWS_CryIf_91013].
No hay códigos de error ni notificaciones de error específicos (DET/DEM) definidos para este servicio; la comprobación funcional de errores se realiza a través del parámetro result, que refleja el estado de éxito o de error de la operación [SWS_CryIf_91013].
En cuanto a la concurrencia, la función está especificada según [SWS_CryIf_91013] como no reentrante (Non Reentrant) y no posee valor de retorno (void). Por lo tanto, los emisores de la llamada deben asegurarse de que las llamadas se ejecuten secuencialmente y de que no se produzcan ejecuciones anidadas o paralelas. Interpretación: la notificación probablemente es llamada típicamente por controladores criptográficos subyacentes para devolver el resultado de órdenes criptográficas procesadas de forma asíncrona al Crypto Interface. Pregunta Q-ae17af188a970e00 (abierta)
Esta nota de uso se ha generado automáticamente a partir de la especificación de AUTOSAR R20-11.
tipo CryIf_ConfigType [SWS_CryIf_91118] 📄 PDF
Configuration data structure of Cry If module
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_CryIf- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_CryIf@rel:R20-11#69b4e5f2- Content hash
69b4e5f2- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CryptoInterface.pdf#nameddest=SWS_CryIf_91000
gemini-3.8-flash-low· 2026-10-13 · Original en alemán