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
functie 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
Gebruik
De synchrone functie CryIf_Init dient voor de volledige initialisatie van de module Crypto Interface (CryIf) conform AUTOSAR Classic Platform [SWS_CryIf_91000]. De functie is gedeclareerd in het headerbestand CryIf.h en heeft de service-ID 0x00 [SWS_CryIf_91000]. Als enige ingangsparameter verwacht de interface configPtr, een pointer naar een geselecteerde configuratiestructuur van het type CryIf_ConfigType [SWS_CryIf_91000]. De functie levert geen retourwaarde (void) terug en heeft inout- noch out-parameters [SWS_CryIf_91000].
Semantiek en gelijktijdigheid
De aanroep van CryIf_Init wordt synchroon uitgevoerd [SWS_CryIf_91000]. De module rondt zodoende alle vereiste initialisatiewerkzaamheden af voordat de uitvoering aan de aanroeper wordt teruggegeven. Wat betreft de concurrency is de functie geclassificeerd als niet re-entrant (Non Reentrant) [SWS_CryIf_91000]. Daarom mag de routine op geen enkel moment parallel of genest worden aangeroepen.
Beperkingen en integratie
Interpretatie: De aanroep van CryIf_Init vindt vermoedelijk typisch centraal plaats tijdens de systeemstart in het kader van de initialisatiefase van de basissoftware, voordat onderliggende crypto-interfacediensten mogen worden aangeroepen. Vraag Q-31b82ca9b144c843 (open) Aangezien de payload geen specifieke foutafhandelingen, DET-meldingen of DEM-gebeurtenissen noemt, moet de aanroeper vooraf een geldige pointer naar de configuratie waarborgen. Verwante requirements zijn in de payload niet gedefinieerd.
Deze gebruiksinstructie is geautomatiseerd gegenereerd en is uitsluitend gebaseerd op de specificatiegegevens over SWS_CryIf_91000.
Implementer's Guide volgt (complexiteit I1)
functie CryIf_GetVersionInfo [SWS_CryIf_91001] 📄 PDF
void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
functie CryIf_ProcessJob [SWS_CryIf_91003] 📄 PDF
Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);
Service CryIf_ProcessJob.
De via de header CryIf.h beschikbaar gestelde functie CryIf_ProcessJob (service-ID 0x03) leidt cryptografische verwerkingsopdrachten door naar het telkens geconfigureerde Crypto Driver Object [SWS_CryIf_91003]. Als parameters accepteert zij de identifier van het cryptokanaal (channelId) en een pointer naar de opdrachtconfiguratie (job) [SWS_CryIf_91003]. De structuur job bevat daarbij alle informatie die relevant is voor de gebruiker alsook voor de specifieke cryptoprimitief [SWS_CryIf_91003]. De opdrachtafhandeling geschiedt afhankelijk van de configuratie synchroon of asynchroon; bovendien is de interface re-entrant geïmplementeerd [SWS_CryIf_91003].
Bij foutloze overname retourneert de functie E_OK [SWS_CryIf_91003]. Mislukt het verzoek, dan signaleert de retourwaarde ofwel E_NOT_OK ofwel een specifieke fouttoestand van de driver: CRYPTO_E_BUSY (driverobject overbelast), CRYPTO_E_QUEUE_FULL (wachtrij vol), fouten met betrekking tot de sleuteltoestanden zoals CRYPTO_E_KEY_NOT_VALID, CRYPTO_E_KEY_SIZE_MISMATCH, CRYPTO_E_KEY_NOT_AVAILABLE, CRYPTO_E_KEY_EMPTY, CRYPTO_E_KEY_READ_FAIL of CRYPTO_E_KEY_WRITE_FAIL evenals CRYPTO_E_JOB_CANCELED bij afbreken van een synchrone opdracht en CRYPTO_E_ENTROPY_EXHAUSTED [SWS_CryIf_91003].
Daarnaast voert de interface voorafgaande controles van de sleutel-identifiers uit:
- Indien
job->jobPrimitiveInfo->primitiveInfo->serviceis ingesteld opCRYPTO_KEYSETVALID,CRYPTO_KEYSETINVALID,CRYPTO_RANDOMSEED,CRYPTO_KEYGENERATE,CRYPTO_KEYDERIVE,CRYPTO_KEYEXCHANGECALCPUBVALofCRYPTO_KEYEXCHANGECALCSECRET, moetjob->cryIfKeyIdbinnen het geldige waardebereik liggen [SWS_CryIf_00134]. Anders meldt de functie de foutCRYPTO_E_PARAM_HANDLEaan de DET en breekt af metE_NOT_OK[SWS_CryIf_00134]. - Wordt de service
CRYPTO_KEYDERIVEaangevraagd, dan moet aanvullend de doelsleutel-identifierjob->cryIfTargetKeyIdbinnen het geldige bereik liggen; anders wordt eveneensCRYPTO_E_PARAM_HANDLEaan de DET gemeld enE_NOT_OKgeretourneerd [SWS_CryIf_00135].
Deze tekst is opgesteld door een AI en is gebaseerd op de specificatie AUTOSAR CP R20-11.
functie 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.
De functie CryIf_CancelJob dient voor het doorsturen van een afbreekverzoek voor een crypto-job naar het geconfigureerde crypto-driver-object [SWS_CryIf_91014]. Zij stelt de gestandaardiseerde interface van het Crypto Interface beschikbaar, is gedeclareerd via de header CryIf.h en heeft het service-ID 0x0e [SWS_CryIf_91014].
Voor de oproep moeten de identifier van het doelkanaal en de configuratie van de job worden doorgegeven [SWS_CryIf_91014]:
channelId(invoer,uint32): bevat de identificatie van het betreffende crypto-kanaal [SWS_CryIf_91014].job(in-/uitvoer,Crypto_JobType*): pointer naar de jobconfiguratie, die structuren met gebruikers- en primitiefrelevante informatie omvat [SWS_CryIf_91014].
De uitvoering verloopt synchroon en levert een status van het type Std_ReturnType terug aan de oproeper [SWS_CryIf_91014]:
E_OK: het verzoek was succesvol en de job is uit de driver verwijderd [SWS_CryIf_91014].E_NOT_OK: het verzoek is mislukt, omdat de job niet kon worden verwijderd [SWS_CryIf_91014].CRYPTO_E_JOB_CANCELED: gespecificeerde crypto-retourwaarde ter bevestiging van het afbreken van de job [SWS_CryIf_91014].
Wat betreft het gedrag bij gelijktijdigheid is CryIf_CancelJob gespecificeerd als reentrant [SWS_CryIf_91014]. Dit staat parallelle oproepen voor het annuleren van opdrachten toe, waarbij de afhandeling blokkerend aan het onderliggende driver-object wordt gedelegeerd [SWS_CryIf_91014].
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
functie 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.
De synchrone functie CryIf_KeyElementSet (service-ID 0x04) stuurt het verzoek voor het instellen van een sleutelelement door naar het geconfigureerde cryptodriver-object [SWS_CryIf_91004]. De functiedeclaratie wordt beschikbaar gesteld via het headerbestand CryIf.h [SWS_CryIf_91004].
De aanroep vindt plaats via vier ingangsparameters [SWS_CryIf_91004]:
cryIfKeyId: Duidt de identifier aan van de sleutel waarvan het sleutelelement moet worden bijgewerkt.keyElementId: Duidt de identifier aan van het concrete sleutelelement dat moet worden ingesteld.keyPtr: Pointer naar de buffer met de sleutelgegevens die als element moeten worden overgenomen.keyLength: Geeft de lengte van het in te stellen sleutelelement in bytes aan.
De functie is gespecificeerd als niet re-entrant (Non Reentrant) [SWS_CryIf_91004]. Daarom moeten aanroepers waarborgen dat aanroepen niet ongecoördineerd gelijktijdig plaatsvinden.
De retourwaarde van het type Std_ReturnType signaleert het resultaat van het doorsturen respectievelijk de uitvoering [SWS_CryIf_91004]:
E_OK: het verzoek was succesvol.E_NOT_OK: Het verzoek is mislukt.CRYPTO_E_BUSY: Het toegewezen cryptodriver-object is momenteel bezet.CRYPTO_E_KEY_WRITE_FAIL: De schrijftoegang tot het sleutelelement is geweigerd.CRYPTO_E_KEY_NOT_AVAILABLE: De opgevraagde sleutel is niet beschikbaar.CRYPTO_E_KEY_SIZE_MISMATCH: De grootte van het sleutelelement komt niet overeen met de lengte van de geleverde gegevens.
Deze gebruiksinstructie is gegenereerd door een AI op basis van de specificatie AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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.
Gebruik
De synchrone interface CryIf_KeySetValid (service-ID 0x05) wordt beschikbaar gesteld via het headerbestand CryIf.h en stuurt het verzoek om een sleutel geldig te maken door naar het telkens geconfigureerde cryptodriver-object [SWS_CryIf_91005]. Als enige parameter wordt de identifier cryIfKeyId doorgegeven, die de doelsleutel bepaalt waarvan de sleutelelementen als geldig moeten worden gemarkeerd [SWS_CryIf_91005]. Aanvullende in-/uitgangs- of uitgangsparameters bestaan voor deze functie niet [SWS_CryIf_91005].
Retourwaarden en foutafhandeling
De retourwaarde van het type Std_ReturnType informeert de aanroeper over het resultaat van het doorsturen en verwerken in de driver [SWS_CryIf_91005]:
E_OK: De bewerking is met succes doorgestuurd naar het cryptodriver-object en succesvol voltooid [SWS_CryIf_91005].E_NOT_OK: Het doorsturen of de uitvoering van het verzoek is mislukt [SWS_CryIf_91005].CRYPTO_E_BUSY: Het verzoek kon niet worden uitgevoerd, omdat het verantwoordelijke cryptodriver-object momenteel bezet is [SWS_CryIf_91005].
Gelijktijdigheid en beperkingen
De functie is in de specificatie uitdrukkelijk aangeduid als niet re-entrant (Non Reentrant) [SWS_CryIf_91005]. Aanroepende instanties moeten daarom waarborgen dat aanroepen van CryIf_KeySetValid nooit gelijktijdig of onderbrekend worden uitgevoerd, om conflicten bij het doorsturen naar het driverobject betrouwbaar te voorkomen.
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie.
functie 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.
De synchrone interface CryIf_KeySetInvalid (service-ID 0x14) stelt de status van de via de parameter cryIfKeyId geïdentificeerde sleutel in op ongeldig [SWS_CryIf_91021]. De declaratie van de functie wordt via het headerbestand CryIf.h ter beschikking gesteld [SWS_CryIf_91021].
Voor het gebruik van de functie gelden de volgende parameters en retourwaarden [SWS_CryIf_91021]:
- Invoerparameter: Via de invoerparameter
cryIfKeyIdvan het typeuint32wordt de identifier van de sleutel doorgegeven waarvan de geldigheid moet worden ingetrokken. In- en uitvoerparameters bestaan niet. - Retourwaarde (
Std_ReturnType):E_OK: Het verzoek tot statuswijziging was succesvol.E_NOT_OK: Het verzoek is mislukt.CRYPTO_E_BUSY: De uitvoering is mislukt, omdat het verantwoordelijke Crypto Driver Object bezet is.
Met betrekking tot concurrency en de uitvoeringscontext is CryIf_KeySetInvalid gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_CryIf_91021]. Aanroepende instanties moeten er daarom voor zorgen dat aanroepen sequentieel verlopen en elkaar niet overlappen. Als de retourwaarde CRYPTO_E_BUSY optreedt, is het Crypto Driver Object tijdelijk geblokkeerd [SWS_CryIf_91021]; de aanroeper is in dat geval vermoedelijk verantwoordelijk voor een latere herhaling van de statusinvalidatie. Vraag Q-4377065d4d4eecab (open)
Deze tekst is opgesteld door een AI en is uitsluitend gebaseerd op de specificatiegegevens van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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.
Gebruik en aanroepcontext
De functie CryIf_KeyGetStatus dient voor het synchroon opvragen van de status van een cryptografische sleutel binnen het Crypto Interface [SWS_CryIf_91012]. Deze is beschikbaar via de header CryIf.h met de service-ID 0x13 [SWS_CryIf_91012]. Bij de aanroep worden de volgende parameters overgedragen:
cryIfKeyId(invoer): Eenduidige identificator van de sleutel waarvan de status moet worden bepaald [SWS_CryIf_91012].keyStatusPtr(uitvoer): Pointer naar een variabele van het typeCrypto_KeyStatusTypewaarin de sleutelstatus wordt geschreven [SWS_CryIf_91012].
Foutafhandeling en retourwaarden
De retourwaarde van het type Std_ReturnType signaleert het resultaat van de uitvoering [SWS_CryIf_91012]:
E_OK: Het opvragen van de status was succesvol en de status is in het doelgeheugen opgeslagen [SWS_CryIf_91012].E_NOT_OK: Het verzoek is mislukt [SWS_CryIf_91012].
Specifieke foutcodes, DET-meldingen of DEM-gebeurtenissen zijn in de elementspecificatie niet vermeld; de foutafhandeling aan de zijde van de oproeper steunt primair op de evaluatie van de retourwaarde.
Gelijktijdigheid en beperkingen
De functie is gespecificeerd als niet-re-entrant (Non Reentrant) [SWS_CryIf_91012]. Oproepers moeten daarom waarborgen dat er geen gelijktijdige of onderbrekende aanroepen voor dezelfde of verschillende sleutelinstanties plaatsvinden. Bovendien moet de oproeper vermoedelijk een geldig geheugengebied voor de uitvoerpointer keyStatusPtr beschikbaar stellen, aangezien deze direct door de functie wordt beschreven. Vraag Q-da3a034d4f2e9442 (open)
Deze tekst is door een AI gegenereerd op basis van de AUTOSAR-specificatie R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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.
De synchrone functie CryIf_KeyElementGet stuurt het opvragen van een sleutelelement door naar het geconfigureerde Crypto Driver Object [SWS_CryIf_91006]. Zij is gedeclareerd via het headerbestand CryIf.h en gespecificeerd als re-entrant [SWS_CryIf_91006].
Gebruik en parameters
Bij de aanroep identificeert cryIfKeyId de desbetreffende sleutel en keyElementId het op te halen sleutelelement [SWS_CryIf_91006]. De payloadgegevens worden opgeslagen in de buffer resultPtr [SWS_CryIf_91006]. De pointer resultLengthPtr dient als gecombineerde in- en uitgangsparameter voor de lengtebesturing [SWS_CryIf_91006]:
- Voorafgaand aan de uitvoering geeft de aanroeper daarin de beschikbare buffergrootte van
resultPtrdoor [SWS_CryIf_91006]. - Staat het sleutelelement partiële toegang toe, dan definieert de waarde in plaats daarvan de op te halen hoeveelheid gegevens, die niet overeen hoeft te komen met de buffergrootte [SWS_CryIf_91006].
- Na beëindiging van de bewerking slaat de functie de daadwerkelijk geschreven hoeveelheid gegevens op deze geheugenlocatie op [SWS_CryIf_91006].
Foutafhandeling en retourwaarden
De retourwaarde van het type Std_ReturnType signaleert de succes- of foutstatus [SWS_CryIf_91006]:
E_OK: Het verzoek is met succes voltooid [SWS_CryIf_91006].E_NOT_OK: De uitvoering is mislukt [SWS_CryIf_91006].CRYPTO_E_BUSY: Het Crypto Driver Object is bezet [SWS_CryIf_91006].CRYPTO_E_KEY_NOT_AVAILABLE: Het opgevraagde sleutelelement is niet beschikbaar [SWS_CryIf_91006].CRYPTO_E_KEY_READ_FAIL: De leestoegang tot het sleutelelement is geweigerd [SWS_CryIf_91006].CRYPTO_E_KEY_EMPTY: Het bronsleutelelement is niet geïnitialiseerd [SWS_CryIf_91006].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I1)
functie CryIf_KeyElementCopy [SWS_CryIf_91015] 📄 PDF
Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);
Service CryIf_KeyElementCopy.
De synchrone functie CryIf_KeyElementCopy dient voor het kopiëren van een sleutelelement van een bronsleutel naar een doelsleutel conform [SWS_CryIf_91015]. De service is beschikbaar via het headerbestand CryIf.h.
Voor de oproep worden via de invoerparameters de bronsleutel (cryIfKeyId), het te kopiëren bronelement (keyElementId), evenals de doelsleutel (targetCryIfKeyId) en het doelelement (targetKeyElementId) doorgegeven [SWS_CryIf_91015]. De functie is ontworpen als reentrant, echter expliciet niet voor dezelfde cryIfKeyId [SWS_CryIf_91015]. Als interpretatie ligt het voor de hand dat ter voorkoming van dataconflicten ook gelijktijdige schrijfacties naar dezelfde doelsleutel (targetCryIfKeyId) door de oproeper gesynchroniseerd zouden moeten worden. Vraag Q-cba3554c537dd498 (open)
De retourwaarde van het type Std_ReturnType signaleert het resultaat van de operatie [SWS_CryIf_91015]:
E_OK: De kopieerbewerking was succesvol.E_NOT_OK: Het verzoek is mislukt.CRYPTO_E_BUSY: het bijbehorende Crypto Driver Object is bezet.CRYPTO_E_KEY_NOT_AVAILABLE: Het opgevraagde sleutelelement is niet beschikbaar.CRYPTO_E_KEY_READ_FAIL: Het uitlezen van het bronsleutelelement is niet toegestaan.CRYPTO_E_KEY_WRITE_FAIL: het schrijven van het doelsleutelelement is niet toegestaan.CRYPTO_E_KEY_SIZE_MISMATCH: De groottes van de betrokken sleutelelementen zijn niet compatibel.CRYPTO_E_KEY_EMPTY: Het bronsleutelelement is niet-geïnitialiseerd.
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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.
De via de header CryIf.h beschikbaar gestelde synchrone functie CryIf_KeyElementCopyPartial kopieert deelbereiken van een sleutelelement naar een ander sleutelelement [SWS_CryIf_91018]. De bron- en doelsleutels alsmede de respectievelijke elementen worden gespecificeerd via de parameters cryIfKeyId, keyElementId, targetCryIfKeyId en targetKeyElementId [SWS_CryIf_91018]. De startposities binnen beide elementen worden vastgelegd door keyElementSourceOffset en keyElementTargetOffset, terwijl keyElementCopyLength het exacte aantal over te dragen bytes bepaalt [SWS_CryIf_91018].
Wat betreft de concurrency is de routine ontworpen als re-entrant, echter uitdrukkelijk niet voor dezelfde bronsleutel (cryIfKeyId) [SWS_CryIf_91018]. Parallelle aanroepen met identieke bronsleutel-ID moeten daarom door de aanroeper worden gesynchroniseerd of vermeden.
De retourwaarde meldt de gedetailleerde uitvoeringsstatus van het synchrone verzoek [SWS_CryIf_91018]:
E_OK: De kopieerbewerking is met succes uitgevoerd.E_NOT_OK: Het verzoek is mislukt.CRYPTO_E_BUSY: Het verantwoordelijke Crypto Driver Object is overbelast.CRYPTO_E_KEY_NOT_AVAILABLE: Het opgevraagde bron- of doelsleutelelement is niet beschikbaar.CRYPTO_E_KEY_READ_FAIL: Het uitlezen van het bronsleutelelement is niet toegestaan.CRYPTO_E_KEY_WRITE_FAIL: Het beschrijven van het doelsleutelelement is niet toegestaan.CRYPTO_E_KEY_SIZE_MISMATCH: De elementgroottes respectievelijk offset- en lengtegegevens zijn incompatibel.CRYPTO_E_KEY_EMPTY: Het bronsleutelelement is niet-geïnitialiseerd.
Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie van AUTOSAR R20-11.
Implementer's Guide volgt (complexiteit I1)
functie 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.
Gebruik
De synchrone functie CryIf_KeyCopy kopieert alle sleutelelementen van een bronsleutel naar een opgegeven doelsleutel ([SWS_CryIf_91016]). Zij wordt beschikbaar gesteld via het headerbestand CryIf.h en heeft de service-ID 0x10 ([SWS_CryIf_91016]).
De functie verwacht twee ingangsparameters ([SWS_CryIf_91016]):
cryIfKeyId: Identifier van de sleutel waarvan de sleutelelementen als bron dienen.targetCryIfKeyId: Identifier van de sleutel die de sleutelelementen als doel opneemt.
Gelijktijdigheid en beperkingen
De interface is gespecificeerd als re-entrant, maar mag niet gelijktijdig voor dezelfde bronsleutelidentifier (cryIfKeyId) worden aangeroepen ([SWS_CryIf_91016]).
Foutafhandeling
De retourwaarde van het type Std_ReturnType signaleert het resultaat van de bewerking ([SWS_CryIf_91016]):
E_OK: Kopieerbewerking met succes voltooid.E_NOT_OK: Verzoek mislukt.CRYPTO_E_BUSY: Mislukt, omdat het onderliggende Crypto-Driver-object bezet is.CRYPTO_E_KEY_NOT_AVAILABLE: Het opgevraagde sleutelelement is niet beschikbaar.CRYPTO_E_KEY_READ_FAIL: Het uitlezen van het sleutelelement is niet toegestaan.CRYPTO_E_KEY_WRITE_FAIL: Het schrijven van het doelsleutelelement is niet toegestaan.CRYPTO_E_KEY_SIZE_MISMATCH: De groottes van de sleutelelementen zijn niet onderling compatibel.CRYPTO_E_KEY_EMPTY: Het bronsleutelelement is niet-geïnitialiseerd.
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie.
functie 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.
De functie CryIf_RandomSeed dient ertoe het genereren respectievelijk invoeren van een random seed door te sturen naar het geconfigureerde Crypto Driver Object [SWS_CryIf_91007]. Deze is beschikbaar via het headerbestand CryIf.h en heeft service-ID 0x07 [SWS_CryIf_91007].
De interface verwacht drie invoerparameters [SWS_CryIf_91007]:
cryIfKeyId: Identifier van de sleutel waarvoor een nieuwe seed moet worden gegenereerd.seedPtr: Pointer naar het geheugenbereik met de data voor het invoeren van de seed.seedLength: Lengte van de seed in bytes.
Het uitvoeringsgedrag (synchroon of asynchroon) is niet vast voorgeschreven, maar hangt af van de desbetreffende configuratie [SWS_CryIf_91007]. Wat betreft concurrency is de functie gespecificeerd als re-entrant [SWS_CryIf_91007].
Als retourwaarde levert de functie een Std_ReturnType met de volgende statuswaarden [SWS_CryIf_91007]:
E_OK: Het verzoek was succesvol.E_NOT_OK: Het verzoek is mislukt.CRYPTO_E_KEY_NOT_VALID: Het verzoek is mislukt omdat de sleutelstatus van de sleutel „invalid” is.
Interpretatie: Bij het retourneren van CRYPTO_E_KEY_NOT_VALID heeft de controle vermoedelijk betrekking op de meegegeven sleutel cryIfKeyId, hoewel in de specificatietekst afwijkend van cryptoKeyId wordt gesproken [SWS_CryIf_91007]. Vraag Q-22b20256f21f131b (open)
Deze tekst is gegenereerd door een AI en is gebaseerd op de specificatie AUTOSAR CP R20-11.
functie 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.
Gebruik
De functie CryIf_KeyGenerate stuurt de functieaanroep voor sleutelgeneratie door naar het geconfigureerde Crypto-Driver-object [SWS_CryIf_91008]. Via de ingangsparameter cryIfKeyId wordt de unieke identifier doorgegeven van de sleutel die met de nieuw gegenereerde sleutelwaarde moet worden bijgewerkt [SWS_CryIf_91008]. De declaratie van deze interface wordt beschikbaar gesteld via de header CryIf.h [SWS_CryIf_91008].
Synchronisatiegedrag en concurrency
De uitvoering vindt afhankelijk van de onderliggende configuratie synchroon of asynchroon plaats [SWS_CryIf_91008]. Wat betreft de aanroepcontext en de concurrency is de functie gespecificeerd als re-entrant [SWS_CryIf_91008].
Retourwaarden en foutafhandeling
De aanroep retourneert een statuswaarde van het type Std_ReturnType [SWS_CryIf_91008]:
E_OK: Het verzoek voor sleutelgeneratie is met succes uitgevoerd [SWS_CryIf_91008].E_NOT_OK: het verzoek is mislukt [SWS_CryIf_91008].CRYPTO_E_BUSY: Het verzoek is mislukt, omdat het aangesproken Crypto-Driver-object momenteel bezet is [SWS_CryIf_91008].CRYPTO_E_KEY_EMPTY: Het verzoek is mislukt, omdat een benodigd bronsleutelelement niet geïnitialiseerd is [SWS_CryIf_91008].CRYPTO_E_KEY_NOT_VALID: Het verzoek is mislukt, omdat de status van de door de sleutelidentifier gerefereerde sleutel ongeldig is [SWS_CryIf_91008].
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie van AUTOSAR Release R20-11.
functie 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.
Gebruik
De functie CryIf_KeyDerive dient ertoe een verzoek tot sleutelafleiding synchroon door te leiden naar het telkens geconfigureerde Crypto Driver Object [SWS_CryIf_91009]. De interface wordt via het headerbestand CryIf.h met de service-ID 0x09 gedeclareerd [SWS_CryIf_91009].
Bij de aanroep worden twee sleutel-identifiers overgedragen [SWS_CryIf_91009]:
cryIfKeyId: Identifier van de sleutel die als basis voor de afleiding wordt gebruikt.targetCryIfKeyId: Identifier van de sleutel waarin de afgeleide sleutel wordt opgeslagen.
Foutafhandeling en retourwaarden
Het resultaat van de bewerking wordt via het retourtype Std_ReturnType overgebracht [SWS_CryIf_91009]:
E_OK: Het verzoek is succesvol uitgevoerd [SWS_CryIf_91009].E_NOT_OK: De uitvoering is mislukt [SWS_CryIf_91009].CRYPTO_E_KEY_EMPTY: Het bronsleutelelement is niet geïnitialiseerd [SWS_CryIf_91009].CRYPTO_E_KEY_NOT_VALID: De sleutelstatus van de gerefereerde sleutel is ongeldig [SWS_CryIf_91009].CRYPTO_E_BUSY: Het onderliggende Crypto Driver Object heeftCRYPTO_E_BUSYgemeld [SWS_CryIf_91009].
Gelijktijdigheid en randvoorwaarden
De interface is gespecificeerd als re-entrant [SWS_CryIf_91009]. Omdat het verloop synchroon geschiedt, moeten oproepers vermoedelijk rekening houden met de uitvoeringstijd van de driver in de desbetreffende aanroepcontext. Vraag Q-2b2fd50249878177 (open)
Deze gebruiksinstructie is automatisch gegenereerd aan de hand van de AUTOSAR-specificatie R20-11.
functie 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
De synchrone en re-entrante functie CryIf_KeyExchangeCalcPubVal stuurt de berekening van de openbare sleuteluitwisselingswaarde door naar het geconfigureerde Crypto-Driver-object [SWS_CryIf_91010]. De dienst is beschikbaar via de header CryIf.h [SWS_CryIf_91010].
Bij de functieaanroep worden de volgende parameters verwerkt [SWS_CryIf_91010]:
cryIfKeyId: Identifier van de sleutel die voor het sleuteluitwisselingsprotocol moet worden gebruikt.publicValuePtr: Pointer naar het geheugengebied waarin de berekende openbare waarde wordt opgeslagen.publicValueLengthPtr: Pointer naar de lengte-informatie. Bij de aanroep moet deze parameter de beschikbaar gestelde buffergrootte bevatten; na voltooiing slaat deze de daadwerkelijke lengte van de berekende waarde op.
De functie retourneert een status van het type Std_ReturnType [SWS_CryIf_91010]:
E_OK: het verzoek was succesvol.E_NOT_OK: Het verzoek is mislukt.CRYPTO_E_BUSY: Fout, omdat het verantwoordelijke Crypto-Driver-object bezet is.CRYPTO_E_KEY_EMPTY: Fout vanwege een niet-geïnitialiseerd bronsleutelelement.CRYPTO_E_KEY_NOT_VALID: Fout, omdat de geadresseerde sleutel zich in een ongeldige toestand bevindt.
Deze tekst is gegenereerd door een AI-ondersteund systeem en is uitsluitend gebaseerd op de specificatiegegevens uit AUTOSAR R20-11.
functie 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.
De synchrone functie CryIf_KeyExchangeCalcSecret stuurt de berekening van het gedeelde geheim bij de sleuteluitwisseling door naar het geconfigureerde Crypto-Driver-object [SWS_CryIf_91011]. Aan de dienst worden de identifier van de sleutel (cryIfKeyId), een pointer naar de openbare sleutelwaarde van de communicatiepartner (partnerPublicValuePtr) alsmede de lengte daarvan in bytes (partnerPublicValueLength) doorgegeven [SWS_CryIf_91011].
Foutafhandeling: De functie meldt het resultaat terug via Std_ReturnType [SWS_CryIf_91011]:
E_OK: De berekening is met succes uitgevoerd [SWS_CryIf_91011].CRYPTO_E_BUSY: Het Crypto-Driver-object is overbelast [SWS_CryIf_91011].CRYPTO_E_KEY_EMPTY: Het bronsleutelelement is niet geïnitialiseerd [SWS_CryIf_91011].CRYPTO_E_KEY_NOT_VALID: De sleutelstatus van de opgegeven sleutel is ongeldig [SWS_CryIf_91011].E_NOT_OK: Het verzoek is mislukt [SWS_CryIf_91011].
Concurrency: De interface is gespecificeerd als re-entrant [SWS_CryIf_91011]. Aangezien het proces synchroon wordt uitgevoerd, vindt de aanroep vermoedelijk typisch plaats in task-context. Vraag Q-b3bca3645b0ef468 (open) De dienst wordt beschikbaar gesteld via het headerbestand CryIf.h [SWS_CryIf_91011].
Deze gebruiksinstructie is automatisch gegenereerd op basis van de specificatie van AUTOSAR R20-11.
functie 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.
De functie CryIf_CallbackNotification dient er conform [SWS_CryIf_91013] toe het Crypto Interface (CryIf) te informeren over de voltooiing van een cryptografische bewerking en het resultaat daarvan. De declaratie is beschikbaar via de header CryIf.h en heeft de service-ID 0x0d [SWS_CryIf_91013].
De aanroep vindt synchroon plaats en verwerkt twee verplichte invoerparameters [SWS_CryIf_91013]:
job(invoer,Crypto_JobType*): Wijst naar de informatiestructuur van de voltooide opdracht en bevat een callback-ID voor de toewijzing van de beëindigde job [SWS_CryIf_91013].result(invoer,Crypto_ResultType): Draagt het resultaat van de uitgevoerde cryptografische bewerking over [SWS_CryIf_91013].
Specifieke foutcodes of foutmeldingen (DET/DEM) zijn voor deze service niet gedefinieerd; de functionele foutcontrole vindt plaats via de parameter result, die het succes of de foutstatus van de bewerking weerspiegelt [SWS_CryIf_91013].
Wat betreft gelijktijdigheid is de functie conform [SWS_CryIf_91013] gespecificeerd als niet-reentrant (Non Reentrant) en heeft deze geen retourwaarde (void). Oproepers moeten er daarom voor zorgen dat oproepen sequentieel verlopen en dat er geen geneste of parallelle uitvoeringen optreden. Interpretatie: de notificatie zal doorgaans worden aangeroepen door onderliggende crypto-drivers om het resultaat van asynchroon verwerkte crypto-opdrachten terug te geven aan de Crypto Interface. Vraag Q-ae17af188a970e00 (open)
Deze gebruiksinstructie is geautomatiseerd gegenereerd op basis van de specificatie van 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#d254fc9f- Content hash
d254fc9f- 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 · Duits origineel