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
fonction 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
Utilisation
La fonction synchrone CryIf_Init sert à l'initialisation complète du module Crypto Interface (CryIf) conformément à l'AUTOSAR Classic Platform [SWS_CryIf_91000]. La fonction est déclarée dans le fichier d'en-tête CryIf.h et possède le Service ID 0x00 [SWS_CryIf_91000]. Comme unique paramètre d'entrée, l'interface attend configPtr, un pointeur vers une structure de configuration sélectionnée de type CryIf_ConfigType [SWS_CryIf_91000]. La fonction ne renvoie aucune valeur de retour (void) et ne possède aucun paramètre inout ou out [SWS_CryIf_91000].
Sémantique et concurrence
L'appel de CryIf_Init est exécuté de manière synchrone [SWS_CryIf_91000]. Le module achève ainsi tous les travaux d'initialisation requis avant que l'exécution ne soit rendue à l'appelant. Concernant la concurrence, la fonction est classée comme non réentrante (Non Reentrant) [SWS_CryIf_91000]. Par conséquent, la routine ne doit à aucun moment être appelée de manière parallèle ou imbriquée.
Restrictions et intégration
Interprétation : l'appel de CryIf_Init devrait typiquement s'effectuer de manière centralisée lors du démarrage du système dans le cadre de la phase d'initialisation du logiciel de base, avant que les services de l'interface cryptographique situés en aval ne puissent être appelés. Comme la charge utile ne mentionne aucune gestion d'erreur spécifique, message DET ou événement DEM, l'appelant doit s'assurer au préalable de la validité du pointeur vers la configuration. Les exigences associées ne sont pas définies dans la charge utile. Question Q-31b82ca9b144c843 (ouverte)
Cette note d'utilisation a été générée de manière automatisée et repose exclusivement sur les données de spécification relatives à SWS_CryIf_91000.
Guide de l'implémenteur à venir (complexité I1)
fonction CryIf_GetVersionInfo [SWS_CryIf_91001] 📄 PDF
void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
fonction CryIf_ProcessJob [SWS_CryIf_91003] 📄 PDF
Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);
Service CryIf_ProcessJob.
La fonction CryIf_ProcessJob (ID de service 0x03), mise à disposition via l'en-tête CryIf.h, transmet les ordres de traitement cryptographique à l'objet Crypto Driver respectivement configuré [SWS_CryIf_91003]. Elle accepte comme paramètres l'identifiant du canal cryptographique (channelId) ainsi qu'un pointeur vers la configuration de l'ordre (job) [SWS_CryIf_91003]. La structure job contient alors toutes les informations pertinentes pour l'utilisateur ainsi que pour la primitive cryptographique spécifique [SWS_CryIf_91003]. Le traitement de l'ordre s'effectue de manière synchrone ou asynchrone selon la configuration ; de plus, l'interface est implémentée de manière réentrante [SWS_CryIf_91003].
En cas de prise en charge sans erreur, la fonction retourne E_OK [SWS_CryIf_91003]. Si la requête échoue, la valeur de retour signale soit E_NOT_OK, soit un état d'erreur spécifique du pilote : CRYPTO_E_BUSY (objet pilote occupé), CRYPTO_E_QUEUE_FULL (file d'attente pleine), des erreurs relatives aux états des clés telles que CRYPTO_E_KEY_NOT_VALID, CRYPTO_E_KEY_SIZE_MISMATCH, CRYPTO_E_KEY_NOT_AVAILABLE, CRYPTO_E_KEY_EMPTY, CRYPTO_E_KEY_READ_FAIL ou CRYPTO_E_KEY_WRITE_FAIL ainsi que CRYPTO_E_JOB_CANCELED en cas d'annulation d'un ordre synchrone et CRYPTO_E_ENTROPY_EXHAUSTED [SWS_CryIf_91003].
De plus, l'interface procède à des vérifications préalables des identifiants de clés :
- Si
job->jobPrimitiveInfo->primitiveInfo->serviceest défini surCRYPTO_KEYSETVALID,CRYPTO_KEYSETINVALID,CRYPTO_RANDOMSEED,CRYPTO_KEYGENERATE,CRYPTO_KEYDERIVE,CRYPTO_KEYEXCHANGECALCPUBVALouCRYPTO_KEYEXCHANGECALCSECRET,job->cryIfKeyIddoit se trouver dans la plage de valeurs valide [SWS_CryIf_00134]. Dans le cas contraire, la fonction signale l'erreurCRYPTO_E_PARAM_HANDLEau DET et s'interrompt avecE_NOT_OK[SWS_CryIf_00134]. - Si le service
CRYPTO_KEYDERIVEest demandé, l'identifiant de clé ciblejob->cryIfTargetKeyIddoit en outre se trouver dans la plage valide ; sinon,CRYPTO_E_PARAM_HANDLEest également signalé au DET etE_NOT_OKest retourné [SWS_CryIf_00135].
Ce texte a été généré par une IA et repose sur la spécification AUTOSAR CP R20-11.
fonction 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 fonction CryIf_CancelJob sert à transmettre une requête d'annulation d'un travail cryptographique à l'objet pilote de chiffrement configuré [SWS_CryIf_91014]. Elle fournit l'interface standardisée du Crypto Interface, est déclarée via l'en-tête CryIf.h et possède l'ID de service 0x0e [SWS_CryIf_91014].
Pour l'appel, l'identifiant du canal cible ainsi que la configuration du travail doivent être transmis [SWS_CryIf_91014] :
channelId(entrée,uint32) : contient l'identifiant du canal cryptographique respectif [SWS_CryIf_91014].job(entrée/sortie,Crypto_JobType*) : pointeur vers la configuration du travail, qui comprend des structures contenant des informations pertinentes pour l'utilisateur et la primitive [SWS_CryIf_91014].
L'exécution s'effectue de manière synchrone et renvoie un état de type Std_ReturnType à l'appelant [SWS_CryIf_91014] :
E_OK: la requête a réussi et le travail a été retiré du pilote [SWS_CryIf_91014].E_NOT_OK: la requête a échoué car le travail n'a pas pu être retiré [SWS_CryIf_91014].CRYPTO_E_JOB_CANCELED: valeur de retour cryptographique spécifiée pour confirmer l'annulation du travail [SWS_CryIf_91014].
En ce qui concerne le comportement face à la concurrence, CryIf_CancelJob est spécifié comme réentrant [SWS_CryIf_91014]. Cela autorise des appels parallèles pour l'annulation d'ordres, le traitement étant délégué de manière bloquante à l'objet pilote sous-jacent [SWS_CryIf_91014].
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
fonction 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 fonction synchrone CryIf_KeyElementSet (Service ID 0x04) transmet la demande de définition d'un élément de clé à l'objet pilote cryptographique configuré [SWS_CryIf_91004]. La déclaration de la fonction est fournie via le fichier d'en-tête CryIf.h [SWS_CryIf_91004].
L'appel s'effectue via quatre paramètres d'entrée [SWS_CryIf_91004] :
cryIfKeyId: désigne l'identifiant de la clé dont l'élément de clé doit être mis à jour.keyElementId: désigne l'identifiant de l'élément de clé concret à définir.keyPtr: pointeur vers le tampon contenant les données de clé à reprendre en tant qu'élément.keyLength: indique la longueur en octets de l'élément de clé à définir.
La fonction est spécifiée comme non réentrante (Non Reentrant) [SWS_CryIf_91004]. Les appelants doivent donc veiller à ce que les appels ne soient pas effectués de manière concurrente non coordonnée.
La valeur de retour de type Std_ReturnType signale le résultat de la transmission ou de l'exécution [SWS_CryIf_91004] :
E_OK: La requête a réussi.E_NOT_OK: la demande a échoué.CRYPTO_E_BUSY: l'objet pilote cryptographique associé est actuellement occupé.CRYPTO_E_KEY_WRITE_FAIL: l'accès en écriture à l'élément de clé a été refusé.CRYPTO_E_KEY_NOT_AVAILABLE: la clé demandée n'est pas disponible.CRYPTO_E_KEY_SIZE_MISMATCH: la taille de l'élément de clé ne correspond pas à la longueur des données fournies.
Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
Utilisation
L'interface synchrone CryIf_KeySetValid (Service ID 0x05) est mise à disposition via le fichier d'en-tête CryIf.h et transmet la demande de validation d'une clé à l'objet pilote cryptographique configuré respectif [SWS_CryIf_91005]. L'identifiant cryIfKeyId est transmis comme unique paramètre, déterminant la clé cible dont les éléments de clé doivent être marqués comme valides [SWS_CryIf_91005]. Il n'existe aucun paramètre d'entrée/sortie ou de sortie supplémentaire pour cette fonction [SWS_CryIf_91005].
Valeurs de retour et gestion des erreurs
La valeur de retour de type Std_ReturnType informe l'appelant du résultat de la transmission et du traitement dans le pilote [SWS_CryIf_91005] :
E_OK: l'opération a été transmise avec succès à l'objet pilote cryptographique et s'est achevée avec succès [SWS_CryIf_91005].E_NOT_OK: la transmission ou l'exécution de la demande a échoué [SWS_CryIf_91005].CRYPTO_E_BUSY: la demande n'a pas pu être exécutée car l'objet pilote cryptographique compétent est actuellement occupé [SWS_CryIf_91005].
Concurrence et restrictions
La fonction est expressément désignée comme non réentrante (Non Reentrant) dans la spécification [SWS_CryIf_91005]. Les instances appelantes doivent donc veiller à ce que les appels de CryIf_KeySetValid ne soient jamais exécutés de manière concurrente ou avec interruption, afin d'éviter de manière fiable tout conflit lors de la transmission à l'objet pilote.
Cette note d'utilisation a été générée automatiquement sur la base de la spécification.
fonction 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.
L'interface synchrone CryIf_KeySetInvalid (Service-ID 0x14) définit l'état de la clé identifiée par le paramètre cryIfKeyId sur non valide [SWS_CryIf_91021]. La déclaration de la fonction est fournie via le fichier d'en-tête CryIf.h [SWS_CryIf_91021].
Les paramètres ainsi que les valeurs de retour suivants s'appliquent à l'utilisation de la fonction [SWS_CryIf_91021] :
- Paramètre transmis : l'identifiant de la clé dont la validité doit être révoquée est transmis via le paramètre d'entrée
cryIfKeyIdde typeuint32. Il n'existe pas de paramètres d'entrée/sortie. - Valeur de retour (
Std_ReturnType) :E_OK: la demande de modification d'état a réussi.E_NOT_OK: la demande a échoué.CRYPTO_E_BUSY: l'exécution a échoué, car le Crypto Driver Object concerné est occupé.
Concernant la concurrence et le contexte d'exécution, CryIf_KeySetInvalid est spécifié comme non réentrant (Non Reentrant) [SWS_CryIf_91021]. Les instances appelantes doivent donc s'assurer que les appels se déroulent de manière séquentielle et ne se chevauchent pas mutuellement. Si la valeur de retour CRYPTO_E_BUSY se produit, le Crypto Driver Object est temporairement bloqué [SWS_CryIf_91021] ; l'appelant devrait dans ce cas être responsable d'une répétition ultérieure de l'invalidation d'état. Question Q-4377065d4d4eecab (ouverte)
Ce texte a été généré par une IA et se base exclusivement sur les données de spécification d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
Utilisation et contexte d'appel
La fonction CryIf_KeyGetStatus sert à interroger de manière synchrone l'état d'une clé cryptographique au sein du Crypto Interface [SWS_CryIf_91012]. Elle est disponible via l'en-tête CryIf.h avec l'ID de service 0x13 [SWS_CryIf_91012]. Les paramètres suivants sont transmis lors de l'appel :
cryIfKeyId(entrée) : identificateur unique de la clé dont l'état doit être déterminé [SWS_CryIf_91012].keyStatusPtr(sortie) : pointeur vers une variable de typeCrypto_KeyStatusTypedans laquelle l'état de la clé est écrit [SWS_CryIf_91012].
Gestion des erreurs et valeurs de retour
La valeur de retour de type Std_ReturnType signale le résultat de l'exécution [SWS_CryIf_91012] :
E_OK: l'interrogation d'état a réussi et l'état a été enregistré dans la mémoire cible [SWS_CryIf_91012].E_NOT_OK: la demande a échoué [SWS_CryIf_91012].
Aucun code d'erreur spécifique, message DET ou événement DEM n'est indiqué dans la spécification de l'élément ; le traitement des erreurs côté appelant repose principalement sur l'évaluation de la valeur de retour.
Concurrence et restrictions
La fonction est spécifiée comme non réentrante (Non Reentrant) [SWS_CryIf_91012]. Les appelants doivent par conséquent s'assurer qu'aucun appel simultané ou interruptif n'ait lieu pour la même instance de clé ou pour des instances différentes. De plus, l'appelant doit vraisemblablement fournir une zone mémoire valide pour le pointeur de sortie keyStatusPtr, étant donné que la fonction écrit directement dans celui-ci. Question Q-da3a034d4f2e9442 (ouverte)
Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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 fonction synchrone CryIf_KeyElementGet transmet l'interrogation d'un élément de clé au Crypto Driver Object configuré [SWS_CryIf_91006]. Elle est déclarée via le fichier d'en-tête CryIf.h et est spécifiée comme réentrante [SWS_CryIf_91006].
Utilisation et paramètres
Lors de l'appel, cryIfKeyId identifie la clé concernée et keyElementId l'élément de clé à récupérer [SWS_CryIf_91006]. Les données utiles sont déposées dans le tampon resultPtr [SWS_CryIf_91006]. Le pointeur resultLengthPtr sert de paramètre combiné d'entrée et de sortie pour la gestion de la longueur [SWS_CryIf_91006] :
- Avant l'exécution, l'appelant y transmet la taille de tampon disponible de
resultPtr[SWS_CryIf_91006]. - Si l'élément de clé autorise un accès partiel, la valeur définit à la place la quantité de données à récupérer, qui ne correspond pas nécessairement à la taille du tampon [SWS_CryIf_91006].
- À la fin de l'opération, la fonction enregistre la quantité de données effectivement écrites à cet emplacement mémoire [SWS_CryIf_91006].
Gestion des erreurs et valeurs de retour
La valeur de retour de type Std_ReturnType signale le statut de succès ou d'erreur [SWS_CryIf_91006] :
E_OK: la demande s'est achevée avec succès [SWS_CryIf_91006].E_NOT_OK: l'exécution a échoué [SWS_CryIf_91006].CRYPTO_E_BUSY: le Crypto Driver Object est occupé [SWS_CryIf_91006].CRYPTO_E_KEY_NOT_AVAILABLE: l'élément de clé demandé n'est pas disponible [SWS_CryIf_91006].CRYPTO_E_KEY_READ_FAIL: l'accès en lecture à l'élément de clé a été refusé [SWS_CryIf_91006].CRYPTO_E_KEY_EMPTY: l'élément de clé source n'est pas initialisé [SWS_CryIf_91006].
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction CryIf_KeyElementCopy [SWS_CryIf_91015] 📄 PDF
Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);
Service CryIf_KeyElementCopy.
La fonction synchrone CryIf_KeyElementCopy sert à copier un élément de clé d'une clé source vers une clé cible conformément à [SWS_CryIf_91015]. Le service est disponible via le fichier d'en-tête CryIf.h.
Pour l'appel, la clé source (cryIfKeyId), l'élément source à copier (keyElementId) ainsi que la clé cible (targetCryIfKeyId) et l'élément cible (targetKeyElementId) sont transmis via les paramètres d'entrée [SWS_CryIf_91015]. La fonction est conçue pour être réentrante, mais explicitement pas pour la même cryIfKeyId [SWS_CryIf_91015]. Il paraît plausible d'interpréter que, pour éviter les conflits de données, les accès concurrents en écriture sur la même clé cible (targetCryIfKeyId) devraient également être synchronisés par l'appelant. Question Q-cba3554c537dd498 (ouverte)
La valeur de retour de type Std_ReturnType signale le résultat de l'opération [SWS_CryIf_91015] :
E_OK: l'opération de copie a réussi.E_NOT_OK: la requête a échoué.CRYPTO_E_BUSY: le Crypto Driver Object associé est occupé.CRYPTO_E_KEY_NOT_AVAILABLE: l'élément de clé demandé n'est pas disponible.CRYPTO_E_KEY_READ_FAIL: la lecture de l'élément de clé source n'est pas autorisée.CRYPTO_E_KEY_WRITE_FAIL: l'écriture de l'élément de clé cible n'est pas autorisée.CRYPTO_E_KEY_SIZE_MISMATCH: les tailles des éléments de clé impliqués ne sont pas compatibles.CRYPTO_E_KEY_EMPTY: l'élément de clé source n'est pas initialisé.
Cette note d'utilisation a été générée automatiquement sur la base d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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 fonction synchrone CryIf_KeyElementCopyPartial fournie via l'en-tête CryIf.h copie des sous-parties d'un élément de clé dans un autre élément de clé [SWS_CryIf_91018]. Les clés source et cible ainsi que les éléments respectifs sont spécifiés via les paramètres cryIfKeyId, keyElementId, targetCryIfKeyId et targetKeyElementId [SWS_CryIf_91018]. Les positions de départ au sein des deux éléments sont définies par keyElementSourceOffset et keyElementTargetOffset, tandis que keyElementCopyLength détermine le nombre exact d'octets à transférer [SWS_CryIf_91018].
En ce qui concerne la concurrence, la routine est conçue pour être réentrante, mais expressément pas pour la même clé source (cryIfKeyId) [SWS_CryIf_91018]. Les appels parallèles avec un identifiant de clé source identique doivent donc être synchronisés ou évités par l'appelant.
La valeur de retour signale l'état d'exécution détaillé de la requête synchrone [SWS_CryIf_91018] :
E_OK: l'opération de copie s'est déroulée avec succès.E_NOT_OK: la requête a échoué.CRYPTO_E_BUSY: le Crypto Driver Object concerné est occupé.CRYPTO_E_KEY_NOT_AVAILABLE: l'élément de clé source ou cible demandé n'est pas disponible.CRYPTO_E_KEY_READ_FAIL: la lecture de l'élément de clé source n'est pas autorisée.CRYPTO_E_KEY_WRITE_FAIL: l'écriture dans l'élément de clé cible n'est pas autorisée.CRYPTO_E_KEY_SIZE_MISMATCH: les tailles des éléments ou les indications d'offset et de longueur sont incompatibles.CRYPTO_E_KEY_EMPTY: l'élément de clé source n'est pas initialisé.
Cette note d'utilisation a été générée automatiquement sur la base de la spécification d'AUTOSAR R20-11.
Guide de l'implémenteur à venir (complexité I1)
fonction 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.
Utilisation
La fonction synchrone CryIf_KeyCopy copie tous les éléments de clé d'une clé source vers une clé cible indiquée ([SWS_CryIf_91016]). Elle est mise à disposition via le fichier d'en-tête CryIf.h et possède le Service ID 0x10 ([SWS_CryIf_91016]).
La fonction attend deux paramètres d'entrée ([SWS_CryIf_91016]) :
cryIfKeyId: identifiant de la clé dont les éléments de clé servent de source.targetCryIfKeyId: identifiant de la clé qui reçoit les éléments de clé en tant que cible.
Concurrence et restrictions
L'interface est spécifiée comme réentrante, mais ne doit pas être appelée simultanément pour le même identifiant de clé source (cryIfKeyId) ([SWS_CryIf_91016]).
Gestion des erreurs
La valeur de retour du type Std_ReturnType signale le résultat de l'opération ([SWS_CryIf_91016]) :
E_OK: opération de copie achevée avec succès.E_NOT_OK: La demande a échoué.CRYPTO_E_BUSY: échec car l'objet Crypto Driver sous-jacent est occupé.CRYPTO_E_KEY_NOT_AVAILABLE: l'élément de clé demandé n'est pas disponible.CRYPTO_E_KEY_READ_FAIL: la lecture de l'élément de clé n'est pas autorisée.CRYPTO_E_KEY_WRITE_FAIL: l'écriture de l'élément de clé cible n'est pas autorisée.CRYPTO_E_KEY_SIZE_MISMATCH: Les tailles des éléments de clé ne sont pas compatibles entre elles.CRYPTO_E_KEY_EMPTY: l'élément de clé source n'est pas initialisé.
Cette note d'utilisation a été générée automatiquement sur la base de la spécification.
fonction 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 fonction CryIf_RandomSeed sert à transmettre la génération ou l'injection d'une graine aléatoire (Random Seed) à l'objet pilote crypto configuré [SWS_CryIf_91007]. Elle est disponible via le fichier d'en-tête CryIf.h et possède le Service-ID 0x07 [SWS_CryIf_91007].
L'interface attend trois paramètres d'entrée [SWS_CryIf_91007] :
cryIfKeyId: identifiant de la clé pour laquelle une nouvelle graine doit être générée.seedPtr: pointeur vers la zone mémoire contenant les données pour l'injection de la graine.seedLength: longueur de la graine en octets.
Le comportement d'exécution (synchrone ou asynchrone) n'est pas prédéfini de manière fixe, mais dépend de la configuration respective [SWS_CryIf_91007]. Concernant la concurrence, la fonction est spécifiée comme réentrante [SWS_CryIf_91007].
Comme valeur de retour, la fonction fournit un Std_ReturnType avec les valeurs d'état suivantes [SWS_CryIf_91007] :
E_OK: la requête a réussi.E_NOT_OK: la requête a échoué.CRYPTO_E_KEY_NOT_VALID: la demande a échoué car l'état de clé de la clé est « invalid ».
Interprétation : lors du retour de CRYPTO_E_KEY_NOT_VALID, la vérification devrait se référer à la clé cryIfKeyId transmise, bien que le texte de spécification mentionne cryptoKeyId de manière divergente [SWS_CryIf_91007]. Question Q-22b20256f21f131b (ouverte)
Ce texte a été généré par une IA et est basé sur la spécification AUTOSAR CP R20-11.
fonction 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.
Utilisation
La fonction CryIf_KeyGenerate transmet l'appel de fonction pour la génération de clé à l'objet Crypto Driver configuré [SWS_CryIf_91008]. Le paramètre d'entrée cryIfKeyId transmet l'identifiant unique de la clé qui doit être mise à jour avec la valeur de clé nouvellement générée [SWS_CryIf_91008]. La déclaration de cette interface est mise à disposition via l'en-tête CryIf.h [SWS_CryIf_91008].
Comportement de synchronisation et concurrence
L'exécution s'effectue de manière synchrone ou asynchrone selon la configuration sous-jacente [SWS_CryIf_91008]. Concernant le contexte d'appel et la concurrence, la fonction est spécifiée comme réentrante [SWS_CryIf_91008].
Valeurs de retour et gestion des erreurs
L'appel renvoie une valeur d'état de type Std_ReturnType [SWS_CryIf_91008] :
E_OK: la demande de génération de clé a été exécutée avec succès [SWS_CryIf_91008].E_NOT_OK: la requête a échoué [SWS_CryIf_91008].CRYPTO_E_BUSY: la demande a échoué car l'objet Crypto Driver sollicité est actuellement occupé [SWS_CryIf_91008].CRYPTO_E_KEY_EMPTY: la demande a échoué car un élément de clé source requis n'est pas initialisé [SWS_CryIf_91008].CRYPTO_E_KEY_NOT_VALID: la demande a échoué car l'état de la clé référencée par l'identifiant de clé est invalide [SWS_CryIf_91008].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification de la version AUTOSAR R20-11.
fonction 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.
Utilisation
La fonction CryIf_KeyDerive sert à transmettre de manière synchrone une requête de dérivation de clé au Crypto Driver Object respectivement configuré [SWS_CryIf_91009]. L'interface est déclarée via le fichier d'en-tête CryIf.h avec l'ID de service 0x09 [SWS_CryIf_91009].
Deux identifiants de clé sont transmis lors de l'appel [SWS_CryIf_91009] :
cryIfKeyId: identifiant de la clé utilisée comme base pour la dérivation.targetCryIfKeyId: identifiant de la clé dans laquelle la clé dérivée est enregistrée.
Gestion des erreurs et valeurs de retour
Le résultat de l'opération est transmis via le type de retour Std_ReturnType [SWS_CryIf_91009] :
E_OK: la requête a été exécutée avec succès [SWS_CryIf_91009].E_NOT_OK: l'exécution a échoué [SWS_CryIf_91009].CRYPTO_E_KEY_EMPTY: l'élément de clé source n'est pas initialisé [SWS_CryIf_91009].CRYPTO_E_KEY_NOT_VALID: l'état de la clé référencée est invalide [SWS_CryIf_91009].CRYPTO_E_BUSY: le Crypto Driver Object sous-jacent a signaléCRYPTO_E_BUSY[SWS_CryIf_91009].
Concurrence et contraintes
L'interface est spécifiée comme réentrante [SWS_CryIf_91009]. Le déroulement étant synchrone, les appelants devraient devoir prendre en compte le temps d'exécution du pilote dans le contexte d'appel respectif. Question Q-2b2fd50249878177 (ouverte)
Cette note d'utilisation a été générée automatiquement à partir de la spécification AUTOSAR R20-11.
fonction 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 fonction synchrone et réentrante CryIf_KeyExchangeCalcPubVal transmet le calcul de la valeur publique d'échange de clés à l'objet Crypto Driver configuré [SWS_CryIf_91010]. Le service est disponible via l'en-tête CryIf.h [SWS_CryIf_91010].
Lors de l'appel de la fonction, les paramètres suivants sont traités [SWS_CryIf_91010] :
cryIfKeyId: identifiant de la clé à utiliser pour le protocole d'échange de clés.publicValuePtr: pointeur vers la zone mémoire dans laquelle la valeur publique calculée est déposée.publicValueLengthPtr: pointeur vers l'information de longueur. Lors de l'appel, ce paramètre doit contenir la taille de tampon fournie ; une fois l'opération terminée, il enregistre la longueur réelle de la valeur calculée.
La fonction renvoie un statut de type Std_ReturnType [SWS_CryIf_91010] :
E_OK: La requête a réussi.E_NOT_OK: la demande a échoué.CRYPTO_E_BUSY: erreur car l'objet Crypto Driver compétent est occupé.CRYPTO_E_KEY_EMPTY: erreur due à un élément de clé source non initialisé.CRYPTO_E_KEY_NOT_VALID: erreur car la clé adressée se trouve dans un état invalide.
Ce texte a été généré par un système assisté par IA et repose exclusivement sur les données de spécification issues d'AUTOSAR R20-11.
fonction 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 fonction synchrone CryIf_KeyExchangeCalcSecret transmet le calcul du secret partagé lors de l'échange de clés à l'objet Crypto Driver configuré [SWS_CryIf_91011]. L'identifiant de la clé (cryIfKeyId), un pointeur vers la valeur de clé publique du partenaire de communication (partnerPublicValuePtr) ainsi que sa longueur en octets (partnerPublicValueLength) sont transmis au service [SWS_CryIf_91011].
Gestion des erreurs : la fonction renvoie le résultat via Std_ReturnType [SWS_CryIf_91011] :
E_OK: le calcul a été exécuté avec succès [SWS_CryIf_91011].CRYPTO_E_BUSY: l'objet Crypto Driver est saturé [SWS_CryIf_91011].CRYPTO_E_KEY_EMPTY: l'élément de clé source n'est pas initialisé [SWS_CryIf_91011].CRYPTO_E_KEY_NOT_VALID: l'état de clé de la clé indiquée est invalide [SWS_CryIf_91011].E_NOT_OK: la demande a échoué [SWS_CryIf_91011].
Concurrence : l'interface est spécifiée comme réentrante [SWS_CryIf_91011]. Le déroulement étant exécuté de manière synchrone, l'appel devrait typiquement avoir lieu dans le contexte de tâche. Question Q-b3bca3645b0ef468 (ouverte) Le service est mis à disposition via le fichier d'en-tête CryIf.h [SWS_CryIf_91011].
Cette note d'utilisation a été générée automatiquement sur la base de la spécification d'AUTOSAR R20-11.
fonction 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 fonction CryIf_CallbackNotification sert, conformément à [SWS_CryIf_91013], à informer le Crypto Interface (CryIf) de l'achèvement d'une opération cryptographique ainsi que de son résultat. La déclaration est disponible via l'en-tête CryIf.h et possède l'ID de service 0x0d [SWS_CryIf_91013].
L'appel s'effectue de manière synchrone et traite deux paramètres d'entrée obligatoires [SWS_CryIf_91013] :
job(entrée,Crypto_JobType*) : pointe vers la structure d'informations de l'ordre terminé et contient un ID de callback pour l'attribution du travail achevé [SWS_CryIf_91013].result(entrée,Crypto_ResultType) : transmet le résultat de l'opération cryptographique exécutée [SWS_CryIf_91013].
Aucun code d'erreur ni message d'erreur spécifique (DET/DEM) n'est défini pour ce service ; le contrôle fonctionnel des erreurs s'effectue via le paramètre result, qui reflète le succès ou l'état d'erreur de l'opération [SWS_CryIf_91013].
Concernant la concurrence, la fonction est spécifiée selon [SWS_CryIf_91013] comme non réentrante (Non Reentrant) et ne possède pas de valeur de retour (void). Les appelants doivent donc s'assurer que les appels se déroulent de manière séquentielle et qu'aucune exécution imbriquée ou parallèle ne survienne. Interprétation : la notification devrait typiquement être appelée par les pilotes cryptographiques sous-jacents pour renvoyer au Crypto Interface le résultat d'ordres cryptographiques traités de manière asynchrone. Question Q-ae17af188a970e00 (ouverte)
Cette note d'utilisation a été générée de manière automatisée sur la base de la spécification d'AUTOSAR R20-11.
type 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#a060c261- Content hash
a060c261- 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 allemand