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
function 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
Verwendung
Die synchrone Funktion CryIf_Init dient der vollständigen Initialisierung des Moduls Crypto Interface (CryIf) gemäß AUTOSAR Classic Platform [SWS_CryIf_91000]. Die Funktion ist in der Header-Datei CryIf.h deklariert und besitzt die Service-ID 0x00 [SWS_CryIf_91000]. Als einzigen Eingabeparameter erwartet die Schnittstelle configPtr, einen Zeiger auf eine ausgewählte Konfigurationsstruktur vom Typ CryIf_ConfigType [SWS_CryIf_91000]. Die Funktion liefert keinen Rückgabewert (void) zurück und besitzt weder Inout- noch Out-Parameter [SWS_CryIf_91000].
Semantik und Nebenläufigkeit
Der Aufruf von CryIf_Init wird synchron ausgeführt [SWS_CryIf_91000]. Das Modul schließt somit alle erforderlichen Initialisierungsarbeiten ab, bevor die Ausführung an den Aufrufer zurückgegeben wird. Bezüglich der Nebenläufigkeit ist die Funktion als nicht reentrant (Non Reentrant) eingestuft [SWS_CryIf_91000]. Daher darf die Routine zu keinem Zeitpunkt parallel oder verschachtelt aufgerufen werden.
Einschränkungen und Integration
Interpretation: Der Aufruf von CryIf_Init dürfte typischerweise zentral während des Systemstarts im Rahmen der Initialisierungsphase der Basissoftware erfolgen, bevor nachgelagerte Krypto-Schnittstellendienste aufgerufen werden dürfen. Frage Q-31b82ca9b144c843 (offen) Da der Payload keine spezifischen Fehlerbehandlungen, DET-Meldungen oder DEM-Ereignisse nennt, muss der Aufrufer vorab einen gültigen Zeiger auf die Konfiguration sicherstellen. Verwandte Requirements sind im Payload nicht definiert.
Dieser Nutzungshinweis wurde automatisiert erstellt und basiert ausschließlich auf den Spezifikationsdaten zu SWS_CryIf_91000.
Implementer's Guide folgt (Komplexität I1)
function CryIf_GetVersionInfo [SWS_CryIf_91001] 📄 PDF
void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
Returns the version information of this module.
function CryIf_ProcessJob [SWS_CryIf_91003] 📄 PDF
Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);
Service CryIf_ProcessJob.
Die über den Header CryIf.h bereitgestellte Funktion CryIf_ProcessJob (Service-ID 0x03) leitet kryptografische Verarbeitungsaufträge an das jeweils konfigurierte Crypto-Driver-Objekt weiter [SWS_CryIf_91003]. Als Parameter übernimmt sie den Bezeichner des Kryptokanals (channelId) sowie einen Zeiger auf die Auftragskonfiguration (job) [SWS_CryIf_91003]. Die Struktur job enthält dabei alle für den Anwender sowie für das spezifische Kryptoprimitiv relevanten Informationen [SWS_CryIf_91003]. Die Auftragsabarbeitung erfolgt abhängig von der Konfiguration synchron oder asynchron; zudem ist die Schnittstelle reentrant implementiert [SWS_CryIf_91003].
Bei fehlerfreier Übernahme gibt die Funktion E_OK zurück [SWS_CryIf_91003]. Schlägt die Anfrage fehl, signalisiert der Rückgabewert entweder E_NOT_OK oder einen spezifischen Fehlerzustand des Treibers: CRYPTO_E_BUSY (Treiberobjekt ausgelastet), CRYPTO_E_QUEUE_FULL (Warteschlange voll), Fehler bezüglich der Schlüsselzustände wie CRYPTO_E_KEY_NOT_VALID, CRYPTO_E_KEY_SIZE_MISMATCH, CRYPTO_E_KEY_NOT_AVAILABLE, CRYPTO_E_KEY_EMPTY, CRYPTO_E_KEY_READ_FAIL oder CRYPTO_E_KEY_WRITE_FAIL sowie CRYPTO_E_JOB_CANCELED bei Abbruch eines synchronen Auftrags und CRYPTO_E_ENTROPY_EXHAUSTED [SWS_CryIf_91003].
Darüber hinaus führt die Schnittstelle Vorprüfungen der Schlüsselbezeichner durch:
- Falls
job->jobPrimitiveInfo->primitiveInfo->serviceaufCRYPTO_KEYSETVALID,CRYPTO_KEYSETINVALID,CRYPTO_RANDOMSEED,CRYPTO_KEYGENERATE,CRYPTO_KEYDERIVE,CRYPTO_KEYEXCHANGECALCPUBVALoderCRYPTO_KEYEXCHANGECALCSECRETgesetzt ist, mussjob->cryIfKeyIdim gültigen Wertebereich liegen [SWS_CryIf_00134]. Andernfalls meldet die Funktion den FehlerCRYPTO_E_PARAM_HANDLEan das DET und bricht mitE_NOT_OKab [SWS_CryIf_00134]. - Wird der Dienst
CRYPTO_KEYDERIVEangefordert, muss zusätzlich der Zielschlüsselbezeichnerjob->cryIfTargetKeyIdim gültigen Bereich liegen; andernfalls wird ebenfallsCRYPTO_E_PARAM_HANDLEan das DET gemeldet undE_NOT_OKzurückgegeben [SWS_CryIf_00135].
Dieser Text wurde von einer KI erstellt und basiert auf der Spezifikation AUTOSAR CP R20-11.
function 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.
Die Funktion CryIf_CancelJob dient der Weiterleitung einer Abbruchanforderung für einen Krypto-Job an das konfigurierte Krypto-Treiber-Objekt [SWS_CryIf_91014]. Sie stellt die standardisierte Schnittstelle des Crypto Interface bereit, ist über den Header CryIf.h deklariert und besitzt die Service-ID 0x0e [SWS_CryIf_91014].
Für den Aufruf müssen der Bezeichner des Zielkanals sowie die Konfiguration des Jobs übergeben werden [SWS_CryIf_91014]:
channelId(Eingabe,uint32): Hält die Kennung des jeweiligen Krypto-Kanals [SWS_CryIf_91014].job(Ein-/Ausgabe,Crypto_JobType*): Zeiger auf die Job-Konfiguration, welche Strukturen mit benutzer- und primitivrelevanten Informationen umfasst [SWS_CryIf_91014].
Die Ausführung erfolgt synchron und liefert einen Status vom Typ Std_ReturnType an den Aufrufer zurück [SWS_CryIf_91014]:
E_OK: Die Anforderung war erfolgreich und der Job wurde aus dem Treiber entfernt [SWS_CryIf_91014].E_NOT_OK: Die Anforderung ist fehlgeschlagen, da der Job nicht entfernt werden konnte [SWS_CryIf_91014].CRYPTO_E_JOB_CANCELED: Spezifizierter Krypto-Rückgabewert zur Bestätigung des Job-Abbruchs [SWS_CryIf_91014].
Hinsichtlich des Nebenläufigkeitsverhaltens ist CryIf_CancelJob als reentrant spezifiziert [SWS_CryIf_91014]. Dies gestattet parallele Aufrufe zur Auftragsstornierung, wobei die Abwicklung blockierend an das zugrundeliegende Treiberobjekt delegiert wird [SWS_CryIf_91014].
Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.
function 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.
Die synchrone Funktion CryIf_KeyElementSet (Service-ID 0x04) leitet die Anforderung zum Setzen eines Schlüsselelements an das konfigurierte Krypto-Treiber-Objekt weiter [SWS_CryIf_91004]. Die Funktionsdeklaration wird über die Header-Datei CryIf.h bereitgestellt [SWS_CryIf_91004].
Der Aufruf erfolgt über vier Eingangsparameter [SWS_CryIf_91004]:
cryIfKeyId: Bezeichnet den Identifikator des Schlüssels, dessen Schlüsselelement aktualisiert werden soll.keyElementId: Bezeichnet den Identifikator des konkreten Schlüsselelements, das gesetzt werden soll.keyPtr: Zeiger auf den Puffer mit den Schlüsseldaten, die als Element übernommen werden sollen.keyLength: Gibt die Länge des zu setzenden Schlüsselelements in Bytes an.
Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_CryIf_91004]. Daher müssen Aufrufer sicherstellen, dass Aufrufe nicht unkoordiniert nebenläufig erfolgen.
Der Rückgabewert vom Typ Std_ReturnType signalisiert das Ergebnis der Weiterleitung bzw. Ausführung [SWS_CryIf_91004]:
E_OK: Die Anforderung war erfolgreich.E_NOT_OK: Die Anforderung ist fehlgeschlagen.CRYPTO_E_BUSY: Das zugeordnete Krypto-Treiber-Objekt ist derzeit belegt.CRYPTO_E_KEY_WRITE_FAIL: Der Schreibzugriff auf das Schlüsselelement wurde verweigert.CRYPTO_E_KEY_NOT_AVAILABLE: Der angeforderte Schlüssel ist nicht verfügbar.CRYPTO_E_KEY_SIZE_MISMATCH: Die Größe des Schlüsselelements stimmt nicht mit der Länge der bereitgestellten Daten überein.
Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation AUTOSAR R20-11 generiert.
Implementer's Guide folgt (Komplexität I1)
function 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.
Verwendung
Die synchrone Schnittstelle CryIf_KeySetValid (Service-ID 0x05) wird über die Header-Datei CryIf.h bereitgestellt und leitet die Anforderung zum Gültigsetzen eines Schlüssels an das jeweils konfigurierte Krypto-Treiberobjekt weiter [SWS_CryIf_91005]. Als einziger Parameter wird der Bezeichner cryIfKeyId übergeben, welcher den Zielschlüssel bestimmt, dessen Schlüsselelemente als gültig markiert werden sollen [SWS_CryIf_91005]. Zusätzliche Ein-/Ausgabe- oder Ausgabeparameter existieren für diese Funktion nicht [SWS_CryIf_91005].
Rückgabewerte und Fehlerbehandlung
Der Rückgabewert vom Typ Std_ReturnType informiert den Aufrufer über das Ergebnis der Weiterleitung und Verarbeitung im Treiber [SWS_CryIf_91005]:
E_OK: Die Operation wurde erfolgreich an das Krypto-Treiberobjekt weitergeleitet und erfolgreich abgeschlossen [SWS_CryIf_91005].E_NOT_OK: Die Weiterleitung oder die Ausführung der Anforderung ist fehlgeschlagen [SWS_CryIf_91005].CRYPTO_E_BUSY: Die Anforderung konnte nicht ausgeführt werden, da das zuständige Krypto-Treiberobjekt aktuell belegt ist [SWS_CryIf_91005].
Nebenläufigkeit und Einschränkungen
Die Funktion ist in der Spezifikation ausdrücklich als nicht reentrant (Non Reentrant) ausgewiesen [SWS_CryIf_91005]. Aufrufende Instanzen müssen daher sicherstellen, dass Aufrufe von CryIf_KeySetValid niemals nebenläufig oder unterbrechend ausgeführt werden, um Konflikte bei der Weiterleitung an das Treiberobjekt zuverlässig zu verhindern.
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation generiert.
function 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.
Die synchrone Schnittstelle CryIf_KeySetInvalid (Service-ID 0x14) setzt den Status des über den Parameter cryIfKeyId identifizierten Schlüssels auf ungültig [SWS_CryIf_91021]. Die Deklaration der Funktion wird über die Header-Datei CryIf.h bereitgestellt [SWS_CryIf_91021].
Für die Verwendung der Funktion gelten die folgenden Parameter sowie Rückgabewerte [SWS_CryIf_91021]:
- Übergabeparameter: Über den Eingabeparameter
cryIfKeyIdvom Typuint32wird der Bezeichner des Schlüssels übergeben, dessen Gültigkeit aufgehoben werden soll. Ein- und Ausgabeparameter existieren nicht. - Rückgabewert (
Std_ReturnType):E_OK: Die Anforderung zur Statusänderung war erfolgreich.E_NOT_OK: Die Anforderung ist fehlgeschlagen.CRYPTO_E_BUSY: Die Ausführung ist fehlgeschlagen, da das zuständige Crypto Driver Object belegt ist.
Bezüglich der Nebenläufigkeit und des Ausführungskontexts ist CryIf_KeySetInvalid als nicht reentrant (Non Reentrant) spezifiziert [SWS_CryIf_91021]. Aufrufende Instanzen müssen daher sicherstellen, dass Aufrufe sequenziell ablaufen und sich nicht wechselseitig überlagern. Tritt der Rückgabewert CRYPTO_E_BUSY auf, ist das Crypto Driver Object temporär blockiert [SWS_CryIf_91021]; der Aufrufer dürfte in diesem Fall für eine spätere Wiederholung der Statusinvalidierung zuständig sein. Frage Q-4377065d4d4eecab (offen)
Dieser Text wurde von einer KI erstellt und basiert ausschließlich auf den Spezifikationsdaten von AUTOSAR R20-11.
Implementer's Guide folgt (Komplexität I1)
function 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.
Verwendung und Aufrufkontext
Die Funktion CryIf_KeyGetStatus dient dem synchronen Abfragen des Status eines kryptografischen Schlüssels innerhalb des Crypto Interface [SWS_CryIf_91012]. Sie ist über den Header CryIf.h mit der Service-ID 0x13 verfügbar [SWS_CryIf_91012]. Beim Aufruf werden folgende Parameter übergeben:
cryIfKeyId(Eingabe): Eindeutiger Identifikator des Schlüssels, dessen Status ermittelt werden soll [SWS_CryIf_91012].keyStatusPtr(Ausgabe): Zeiger auf eine Variable vom TypCrypto_KeyStatusType, in die der Schlüsselstatus geschrieben wird [SWS_CryIf_91012].
Fehlerbehandlung und Rückgabewerte
Der Rückgabewert vom Typ Std_ReturnType signalisiert das Ergebnis der Ausführung [SWS_CryIf_91012]:
E_OK: Die Statusabfrage war erfolgreich und der Status wurde im Zielspeicher abgelegt [SWS_CryIf_91012].E_NOT_OK: Die Anfrage ist fehlgeschlagen [SWS_CryIf_91012].
Spezifische Fehlercodes, DET-Meldungen oder DEM-Ereignisse sind in der Elementspezifikation nicht ausgewiesen; die Fehlerbehandlung aufruferseitig stützt sich primär auf die Auswertung des Rückgabewerts.
Nebenläufigkeit und Einschränkungen
Die Funktion ist als nicht reentrant (Non Reentrant) spezifiziert [SWS_CryIf_91012]. Aufrufer müssen daher sicherstellen, dass keine gleichzeitigen oder unterbrechenden Aufrufe für dieselbe oder unterschiedliche Schlüsselinstanzen erfolgen. Zudem muss der Aufrufer vermutlich einen gültigen Speicherbereich für den Ausgabepointer keyStatusPtr bereitstellen, da dieser von der Funktion direkt beschrieben wird. Frage Q-da3a034d4f2e9442 (offen)
Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R20-11 generiert.
Implementer's Guide folgt (Komplexität I1)
function 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.
Die synchrone Funktion CryIf_KeyElementGet leitet die Abfrage eines Schlüsselelements an das konfigurierte Crypto Driver Object weiter [SWS_CryIf_91006]. Sie ist über die Header-Datei CryIf.h deklariert und als reentrant spezifiziert [SWS_CryIf_91006].
Verwendung und Parameter
Beim Aufruf identifiziert cryIfKeyId den betroffenen Schlüssel und keyElementId das abzurufende Schlüsselelement [SWS_CryIf_91006]. Die Nutzdaten werden im Puffer resultPtr abgelegt [SWS_CryIf_91006]. Der Zeiger resultLengthPtr dient als kombinierter Ein- und Ausgabeparameter zur Längensteuerung [SWS_CryIf_91006]:
- Vor der Ausführung übergibt der Aufrufer darin die verfügbare Puffergröße von
resultPtr[SWS_CryIf_91006]. - Erlaubt das Schlüsselelement partiellen Zugriff, definiert der Wert stattdessen die abzurufende Datenmenge, welche nicht der Puffergröße entsprechen muss [SWS_CryIf_91006].
- Nach Beendigung der Operation speichert die Funktion die tatsächlich geschriebene Datenmenge an diesem Speicherort [SWS_CryIf_91006].
Fehlerbehandlung und Rückgabewerte
Der Rückgabewert vom Typ Std_ReturnType signalisiert den Erfolgs- oder Fehlerstatus [SWS_CryIf_91006]:
E_OK: Die Anforderung wurde erfolgreich abgeschlossen [SWS_CryIf_91006].E_NOT_OK: Die Ausführung ist fehlgeschlagen [SWS_CryIf_91006].CRYPTO_E_BUSY: Das Crypto Driver Object ist belegt [SWS_CryIf_91006].CRYPTO_E_KEY_NOT_AVAILABLE: Das angeforderte Schlüsselelement ist nicht verfügbar [SWS_CryIf_91006].CRYPTO_E_KEY_READ_FAIL: Der Lesezugriff auf das Schlüsselelement wurde verweigert [SWS_CryIf_91006].CRYPTO_E_KEY_EMPTY: Das Quell-Schlüsselelement ist nicht initialisiert [SWS_CryIf_91006].
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation von AUTOSAR R20-11 generiert.
Implementer's Guide folgt (Komplexität I1)
function CryIf_KeyElementCopy [SWS_CryIf_91015] 📄 PDF
Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);
Service CryIf_KeyElementCopy.
Die synchrone Funktion CryIf_KeyElementCopy dient dem Kopieren eines Schlüsselelements von einem Quell-Schlüssel zu einem Ziel-Schlüssel gemäß [SWS_CryIf_91015]. Der Dienst ist über die Header-Datei CryIf.h verfügbar.
Für den Aufruf werden über die Eingabeparameter der Quell-Schlüssel (cryIfKeyId), das zu kopierende Quellelement (keyElementId) sowie der Ziel-Schlüssel (targetCryIfKeyId) und das Zielelement (targetKeyElementId) übergeben [SWS_CryIf_91015]. Die Funktion ist reentrant ausgelegt, jedoch explizit nicht für dieselbe cryIfKeyId [SWS_CryIf_91015]. Es dürfte als Interpretation naheliegen, dass zur Vermeidung von Datenkonflikten auch gleichzeitige Schreibzugriffe auf denselben Ziel-Schlüssel (targetCryIfKeyId) durch den Aufrufer synchronisiert werden sollten. Frage Q-cba3554c537dd498 (offen)
Der Rückgabewert vom Typ Std_ReturnType signalisiert das Ergebnis der Operation [SWS_CryIf_91015]:
E_OK: Der Kopiervorgang war erfolgreich.E_NOT_OK: Die Anfrage ist fehlgeschlagen.CRYPTO_E_BUSY: Das zugehörige Crypto Driver Object ist ausgelastet.CRYPTO_E_KEY_NOT_AVAILABLE: Das angeforderte Schlüsselelement ist nicht verfügbar.CRYPTO_E_KEY_READ_FAIL: Das Auslesen des Quell-Schlüsselelements ist nicht zulässig.CRYPTO_E_KEY_WRITE_FAIL: Das Schreiben des Ziel-Schlüsselelements ist nicht erlaubt.CRYPTO_E_KEY_SIZE_MISMATCH: Die Größen der beteiligten Schlüsselelemente sind nicht kompatibel.CRYPTO_E_KEY_EMPTY: Das Quell-Schlüsselelement ist uninitialisiert.
Dieser Nutzungshinweis wurde automatisiert auf Basis von AUTOSAR R20-11 generiert.
Implementer's Guide folgt (Komplexität I1)
function 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.
Die über den Header CryIf.h bereitgestellte synchrone Funktion CryIf_KeyElementCopyPartial kopiert Teilbereiche eines Schlüsselelements in ein anderes Schlüsselelement [SWS_CryIf_91018]. Die Quell- und Ziel-Schlüssel sowie die jeweiligen Elemente werden über die Parameter cryIfKeyId, keyElementId, targetCryIfKeyId und targetKeyElementId spezifiziert [SWS_CryIf_91018]. Die Startpositionen innerhalb der beiden Elemente werden durch keyElementSourceOffset und keyElementTargetOffset festgelegt, während keyElementCopyLength die exakte Anzahl der zu übertragenden Bytes bestimmt [SWS_CryIf_91018].
Hinsichtlich der Nebenläufigkeit ist die Routine reentrant ausgelegt, allerdings ausdrücklich nicht für denselben Quell-Schlüssel (cryIfKeyId) [SWS_CryIf_91018]. Parallele Aufrufe mit identischer Quell-Schlüssel-ID müssen daher durch den Aufrufer synchronisiert oder vermieden werden.
Der Rückgabewert meldet den detaillierten Ausführungsstatus der synchronen Anfrage [SWS_CryIf_91018]:
E_OK: Der Kopiervorgang wurde erfolgreich durchgeführt.E_NOT_OK: Die Anfrage ist fehlgeschlagen.CRYPTO_E_BUSY: Das zuständige Crypto Driver Object ist ausgelastet.CRYPTO_E_KEY_NOT_AVAILABLE: Das angeforderte Quell- oder Ziel-Schlüsselelement steht nicht zur Verfügung.CRYPTO_E_KEY_READ_FAIL: Das Auslesen des Quell-Schlüsselelements ist nicht zulässig.CRYPTO_E_KEY_WRITE_FAIL: Das Beschreiben des Ziel-Schlüsselelements ist nicht zulässig.CRYPTO_E_KEY_SIZE_MISMATCH: Die Elementgrößen bzw. Offset- und Längenangaben sind inkompatibel.CRYPTO_E_KEY_EMPTY: Das Quell-Schlüsselelement ist uninitialisiert.
Dieser Nutzungshinweis wurde automatisch auf Basis der Spezifikation von AUTOSAR R20-11 generiert.
Implementer's Guide folgt (Komplexität I1)
function 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.
Verwendung
Die synchrone Funktion CryIf_KeyCopy kopiert alle Schlüsselelemente von einem Quellschlüssel auf einen angegebenen Zielschlüssel ([SWS_CryIf_91016]). Sie wird über die Header-Datei CryIf.h bereitgestellt und besitzt die Service-ID 0x10 ([SWS_CryIf_91016]).
Die Funktion erwartet zwei Eingangsparameter ([SWS_CryIf_91016]):
cryIfKeyId: Bezeichner des Schlüssels, dessen Schlüsselelemente als Quelle dienen.targetCryIfKeyId: Bezeichner des Schlüssels, der die Schlüsselelemente als Ziel aufnimmt.
Nebenläufigkeit und Einschränkungen
Die Schnittstelle ist reentrant spezifiziert, darf jedoch nicht für denselben Quellschlüsselbezeichner (cryIfKeyId) zeitgleich aufgerufen werden ([SWS_CryIf_91016]).
Fehlerbehandlung
Der Rückgabewert vom Typ Std_ReturnType signalisiert das Ergebnis der Operation ([SWS_CryIf_91016]):
E_OK: Kopiervorgang erfolgreich abgeschlossen.E_NOT_OK: Anfrage fehlgeschlagen.CRYPTO_E_BUSY: Fehlgeschlagen, da das zugrundeliegende Crypto-Driver-Objekt belegt ist.CRYPTO_E_KEY_NOT_AVAILABLE: Das angeforderte Schlüsselelement ist nicht verfügbar.CRYPTO_E_KEY_READ_FAIL: Das Auslesen des Schlüsselelements ist nicht zulässig.CRYPTO_E_KEY_WRITE_FAIL: Das Schreiben des Ziel-Schlüsselelements ist nicht zulässig.CRYPTO_E_KEY_SIZE_MISMATCH: Die Größen der Schlüsselelemente sind nicht miteinander kompatibel.CRYPTO_E_KEY_EMPTY: Das Quell-Schlüsselelement ist uninitialisiert.
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation generiert.
function 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.
Die Funktion CryIf_RandomSeed dient dazu, die Erzeugung bzw. Einspeisung eines Zufallssamens (Random Seed) an das konfigurierte Krypto-Treiber-Objekt weiterzuleiten [SWS_CryIf_91007]. Sie ist über die Header-Datei CryIf.h verfügbar und besitzt die Service-ID 0x07 [SWS_CryIf_91007].
Die Schnittstelle erwartet drei Eingangsparameter [SWS_CryIf_91007]:
cryIfKeyId: Bezeichner des Schlüssels, für den ein neuer Seed generiert werden soll.seedPtr: Zeiger auf den Speicherbereich mit den Daten zur Einspeisung des Seeds.seedLength: Länge des Seeds in Bytes.
Das Ausführungsverhalten (synchron oder asynchron) ist nicht fest vorgegeben, sondern hängt von der jeweiligen Konfiguration ab [SWS_CryIf_91007]. Hinsichtlich der Nebenläufigkeit ist die Funktion als reentrant spezifiziert [SWS_CryIf_91007].
Als Rückgabewert liefert die Funktion einen Std_ReturnType mit folgenden Statuswerten [SWS_CryIf_91007]:
E_OK: Die Anfrage war erfolgreich.E_NOT_OK: Die Anfrage ist fehlgeschlagen.CRYPTO_E_KEY_NOT_VALID: Die Anfrage schlug fehl, da der Schlüsselzustand des Schlüssels „invalid“ ist.
Interpretation: Bei der Rückgabe von CRYPTO_E_KEY_NOT_VALID dürfte sich die Prüfung auf den übergebenen Schlüssel cryIfKeyId beziehen, wenngleich im Spezifikationstext abweichend von cryptoKeyId gesprochen wird [SWS_CryIf_91007]. Frage Q-22b20256f21f131b (offen)
Dieser Text wurde von einer KI generiert und basiert auf der Spezifikation AUTOSAR CP R20-11.
function 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.
Verwendung
Die Funktion CryIf_KeyGenerate leitet den Funktionsaufruf zur Schlüsselerzeugung an das konfigurierte Crypto-Driver-Objekt weiter [SWS_CryIf_91008]. Über den Eingabeparameter cryIfKeyId wird der eindeutige Bezeichner des Schlüssels übergeben, welcher mit dem neu generierten Schlüsselwert aktualisiert werden soll [SWS_CryIf_91008]. Die Deklaration dieser Schnittstelle wird über den Header CryIf.h bereitgestellt [SWS_CryIf_91008].
Synchronisationsverhalten und Nebenläufigkeit
Die Ausführung erfolgt in Abhängigkeit von der zugrunde liegenden Konfiguration entweder synchron oder asynchron [SWS_CryIf_91008]. Hinsichtlich des Aufrufkontexts und der Nebenläufigkeit ist die Funktion als reentrant spezifiziert [SWS_CryIf_91008].
Rückgabewerte und Fehlerbehandlung
Der Aufruf liefert einen Statuswert vom Typ Std_ReturnType zurück [SWS_CryIf_91008]:
E_OK: Die Anforderung zur Schlüsselerzeugung wurde erfolgreich ausgeführt [SWS_CryIf_91008].E_NOT_OK: Die Anforderung ist fehlgeschlagen [SWS_CryIf_91008].CRYPTO_E_BUSY: Die Anfrage schlug fehl, da das angesprochene Crypto-Driver-Objekt derzeit belegt ist [SWS_CryIf_91008].CRYPTO_E_KEY_EMPTY: Die Anfrage schlug fehl, da ein benötigtes Quellschlüsselelement uninitialisiert ist [SWS_CryIf_91008].CRYPTO_E_KEY_NOT_VALID: Die Anfrage schlug fehl, da der Status des durch den Schlüsselbezeichner referenzierten Schlüssels ungültig ist [SWS_CryIf_91008].
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation von AUTOSAR Release R20-11 generiert.
function 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.
Verwendung
Die Funktion CryIf_KeyDerive dient dazu, eine Anforderung zur Schlüsselableitung synchron an das jeweils konfigurierte Crypto Driver Object weiterzuleiten [SWS_CryIf_91009]. Die Schnittstelle wird über die Header-Datei CryIf.h mit der Service-ID 0x09 deklariert [SWS_CryIf_91009].
Beim Aufruf werden zwei Schlüsselbezeichner übergeben [SWS_CryIf_91009]:
cryIfKeyId: Bezeichner des Schlüssels, welcher als Basis für die Ableitung verwendet wird.targetCryIfKeyId: Bezeichner des Schlüssels, in dem der abgeleitete Schlüssel hinterlegt wird.
Fehlerbehandlung und Rückgabewerte
Das Ergebnis der Operation wird über den Rückgabetyp Std_ReturnType übermittelt [SWS_CryIf_91009]:
E_OK: Die Anforderung wurde erfolgreich ausgeführt [SWS_CryIf_91009].E_NOT_OK: Die Ausführung ist fehlgeschlagen [SWS_CryIf_91009].CRYPTO_E_KEY_EMPTY: Das Quell-Schlüsselelement ist nicht initialisiert [SWS_CryIf_91009].CRYPTO_E_KEY_NOT_VALID: Der Schlüsselstatus des referenzierten Schlüssels ist ungültig [SWS_CryIf_91009].CRYPTO_E_BUSY: Das unterlagerte Crypto Driver Object hatCRYPTO_E_BUSYgemeldet [SWS_CryIf_91009].
Nebenläufigkeit und Randbedingungen
Die Schnittstelle ist als reentrant spezifiziert [SWS_CryIf_91009]. Da der Ablauf synchron erfolgt, dürften Aufrufer die Ausführungszeit des Treibers im jeweiligen Aufrufkontext berücksichtigen müssen. Frage Q-2b2fd50249878177 (offen)
Dieser Nutzungshinweis wurde automatisiert anhand der AUTOSAR-Spezifikation R20-11 generiert.
function 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
Die synchrone und reentrante Funktion CryIf_KeyExchangeCalcPubVal leitet die Berechnung des öffentlichen Schlüsselaustauschwerts an das konfigurierte Crypto-Driver-Objekt weiter [SWS_CryIf_91010]. Der Dienst ist über den Header CryIf.h verfügbar [SWS_CryIf_91010].
Beim Funktionsaufruf werden folgende Parameter verarbeitet [SWS_CryIf_91010]:
cryIfKeyId: Identifikator des Schlüssels, der für das Schlüsselaustauschprotokoll verwendet werden soll.publicValuePtr: Zeiger auf den Speicherbereich, in dem der berechnete öffentliche Wert abgelegt wird.publicValueLengthPtr: Zeiger auf die Längeninformation. Beim Aufruf muss dieser Parameter die bereitgestellte Puffergröße enthalten; nach Abschluss speichert er die tatsächliche Länge des berechneten Werts.
Die Funktion liefert einen Status vom Typ Std_ReturnType zurück [SWS_CryIf_91010]:
E_OK: Die Anforderung war erfolgreich.E_NOT_OK: Die Anforderung ist fehlgeschlagen.CRYPTO_E_BUSY: Fehler, da das zuständige Crypto-Driver-Objekt belegt ist.CRYPTO_E_KEY_EMPTY: Fehler aufgrund eines uninitialisierten Quellschlüsselelements.CRYPTO_E_KEY_NOT_VALID: Fehler, da sich der adressierte Schlüssel im ungültigen Zustand befindet.
Dieser Text wurde durch ein KI-gestütztes System generiert und basiert ausschließlich auf den Spezifikationsdaten aus AUTOSAR R20-11.
function 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.
Die synchrone Funktion CryIf_KeyExchangeCalcSecret leitet die Berechnung des gemeinsamen Geheimnisses beim Schlüsselaustausch an das konfigurierte Crypto-Driver-Objekt weiter [SWS_CryIf_91011]. Dem Dienst werden die Kennung des Schlüssels (cryIfKeyId), ein Zeiger auf den öffentlichen Schlüsselwert des Kommunikationspartners (partnerPublicValuePtr) sowie dessen Länge in Bytes (partnerPublicValueLength) übergeben [SWS_CryIf_91011].
Fehlerbehandlung: Die Funktion meldet das Ergebnis über Std_ReturnType zurück [SWS_CryIf_91011]:
E_OK: Die Berechnung wurde erfolgreich ausgeführt [SWS_CryIf_91011].CRYPTO_E_BUSY: Das Crypto-Driver-Objekt ist ausgelastet [SWS_CryIf_91011].CRYPTO_E_KEY_EMPTY: Das Quellschlüsselelement ist nicht initialisiert [SWS_CryIf_91011].CRYPTO_E_KEY_NOT_VALID: Der Schlüsselstatus des angegebenen Schlüssels ist ungültig [SWS_CryIf_91011].E_NOT_OK: Die Anfrage ist fehlgeschlagen [SWS_CryIf_91011].
Nebenläufigkeit: Die Schnittstelle ist als reentrant spezifiziert [SWS_CryIf_91011]. Da der Ablauf synchron ausgeführt wird, dürfte der Aufruf typischerweise im Task-Kontext erfolgen. Frage Q-b3bca3645b0ef468 (offen) Der Dienst wird über die Header-Datei CryIf.h bereitgestellt [SWS_CryIf_91011].
Dieser Nutzungshinweis wurde automatisch generiert auf Basis der Spezifikation von AUTOSAR R20-11.
function 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.
Die Funktion CryIf_CallbackNotification dient gemäß [SWS_CryIf_91013] dazu, das Crypto Interface (CryIf) über den Abschluss einer kryptografischen Operation sowie deren Ergebnis zu informieren. Die Deklaration ist über den Header CryIf.h verfügbar und besitzt die Service-ID 0x0d [SWS_CryIf_91013].
Der Aufruf erfolgt synchron und verarbeitet zwei obligatorische Eingangsparameter [SWS_CryIf_91013]:
job(Eingang,Crypto_JobType*): Zeigt auf die Informationsstruktur des fertiggestellten Auftrags und enthält eine Callback-ID zur Zuordnung des beendeten Jobs [SWS_CryIf_91013].result(Eingang,Crypto_ResultType): Übermittelt das Resultat der ausgeführten kryptografischen Operation [SWS_CryIf_91013].
Spezifische Fehlercodes oder Fehlermeldungen (DET/DEM) sind für diesen Service nicht definiert; die funktionale Fehlerprüfung erfolgt über den Parameter result, der den Erfolg oder Fehlerstatus der Operation widerspiegelt [SWS_CryIf_91013].
Bezüglich der Nebenläufigkeit ist die Funktion gemäß [SWS_CryIf_91013] als nicht reentrant (Non Reentrant) spezifiziert und besitzt keinen Rückgabewert (void). Aufrufer müssen daher sicherstellen, dass Aufrufe sequentiell ablaufen und keine verschachtelten oder parallelen Ausführungen auftreten. Interpretation: Die Benachrichtigung dürfte typischerweise durch unterlagerte Krypto-Treiber aufgerufen werden, um das Ergebnis asynchron verarbeiteter Krypto-Aufträge an das Crypto Interface zurückzugeben. Frage Q-ae17af188a970e00 (offen)
Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation von AUTOSAR R20-11 generiert.
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#d67116d0- Content hash
d67116d0- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_CryptoInterface.pdf#nameddest=SWS_CryIf_91000
claude-opus-5-5· 2026-10-13