DEENESPTFRRUARHIKOZHNL

Crypto Interface (CryIf)

ModulCryIf (Crypto Interface)
BSW-Modul-ID112
Standard-Header#include "CryIf.h"
SWS-SpezifikationAUTOSAR_SWS_CryptoInterface.pdf
ClusterCrypto Services

Modul-GuideKI-GENERIERT

Leitet Krypto-Jobs und Schlüsselaufrufe des CSM über konfigurierte Kanäle an die zuständigen Crypto-Treiber weiter.
KI-GENERIERT ungeprüft Modell: claude-opus-5-5 · Aufwand: high · Temperatur: nicht steuerbar · Prompt: 6b37c73ee677 Herkunft Offene Fragen (4)
Kausaler Anker: R20-11 Gültig ab R20-11 Neu synthetisiert für diesen Spezifikationsstand.
KI-generiertclaude-opus-5-5 · 2026-10-13

Leitet Krypto-Jobs und Schlüsselaufrufe des CSM über konfigurierte Kanäle an die zuständigen Crypto-Treiber weiter.

Der CryIf vermittelt im Classic-Krypto-Stack zwischen CSM und Crypto Driver und leitet Jobs und Schlüsselaufrufe über konfigurierte Kanäle an das zuständige Crypto Driver Object weiter SWS CSM S. 26. Zentrale Schnittstelle ist CryIf_ProcessJob, die je nach Konfiguration synchron oder asynchron arbeitet [SWS_CryIf_91003]. Asynchrone Ergebnisse meldet der Treiber per Callback an den CryIf, der sie an den CSM weitergibt. Vor der Weitergabe bildet der CryIf seine eigenen Schlüssel-IDs auf die des Treibers ab und prüft ihren Bereich. Für R20-11 ist zu beachten, dass spätere Releases Fehlercodes und Synchronitätsregeln geändert haben.

Der CryIf vermittelt im Classic-Krypto-Stack zwischen dem CSM in der Service Layer und dem Crypto Driver im MCAL. Anfragen der Anwendungen laufen über logische Kanäle bis zu den Hardware-Engines eines HSM SWS CSM Abb. 7.4 S. 27. Ein Kanal ist der Weg von einer CSM-Queue über den CryIf zu einem Crypto Driver Object; jede CSM-Queue ist genau einem Kanal zugeordnet SWS CSM S. 26. Konfiguriert werden Kanäle im Container CryIfChannel mit CryIfChannelId und CryIfDriverObjectRef SWS CryIf S. 51. Vor jeder Nutzung initialisiert CryIf_Init das Modul mit einer implementierungsspezifischen Konfiguration [SWS_CryIf_91000].

kontext cluster_app Application Layer cluster_srv Service Layer cluster_ecu ECU Abstraction Layer cluster_mcal MCAL cluster_hw Microcontroller (HSM) app1 App1 (AES) rte RTE app1->rte app2 App2 (AES) app2->rte app3 App3 (RSA) app3->rte csm CSM Queue je Kanal rte->csm Krypto-Dienste cryif CryIf CryIfChannel csm->cryif CryIf_ProcessJob, CryIf_CancelJob, CryIf_Key… cryif->csm Csm_CallbackNotification crypto Crypto Driver Crypto Driver Objects cryif->crypto Weiterleitung je Kanal an Crypto Driver Object det DET cryif->det Det_ReportError, Det_ReportRuntimeError crypto->cryif CryIf_CallbackNotification hwaes HW-AES crypto->hwaes Kanal AES hwrsa HW-RSA crypto->hwrsa Kanal RSA

Kontextdiagramm: Der CryIf leitet Aufträge des CSM kanalweise an die Crypto Driver Objects weiter und meldet Ergebnisse an den CSM zurück. Quellen: SWS CSM Abb. 7.4 S. 27, [SWS_CryIf_91100]

Zentrale Schnittstelle ist CryIf_ProcessJob. Die Funktion ist reentrant und arbeitet je nach Konfiguration synchron oder asynchron [SWS_CryIf_91003]. Die Betriebsmodi START, UPDATE und FINISH lassen sich kombinieren, sodass dieselbe Funktion Einzelaufrufe und Streaming abdeckt SWS CryIf S. 22. Asynchrone Ergebnisse meldet der Treiber über CryIf_CallbackNotification [SWS_CryIf_91013]. Der CryIf gibt sie über Csm_CallbackNotification an den CSM weiter [SWS_CryIf_91100]. Laufende Jobs bricht CryIf_CancelJob beim Treiber ab [SWS_CryIf_91014].

Job-Verarbeitung über CryIf_ProcessJobCSMCryIfCrypto Driver ObjectDETCryIf_ProcessJob(channelId, job)Schlüssel-IDs prüfenund auf Treiber-IDs abbildenoptSchlüssel-ID außerhalb des BereichsCRYPTO_E_PARAM_HANDLE meldenE_NOT_OKCrypto_ProcessJob(…, job)altsynchron konfiguriertBerechnungErgebnis (E_OK / CRYPTO_E_…)Rückgabewert durchreichenasynchron konfiguriertRückgabewert der ÜbergabeRückgabewert durchreichenBerechnung,z. B. aus der Main-FunktionCryIf_CallbackNotification(job, result)Csm_CallbackNotification(job, result)

Sequenzdiagramm: Der CryIf prüft die Schlüssel-IDs und gibt den Job dann weiter. Das Ergebnis kommt synchron als Rückgabewert oder asynchron über zwei Callback-Stufen zurück. Quellen: [SWS_CryIf_91003], [SWS_CryIf_91013], SWS Crypto S. 27

Vor der Weitergabe bildet der CryIf seine eigenen Schlüssel-IDs auf die IDs des Treibers ab. Liegen sie außerhalb des Bereichs, meldet er CRYPTO_E_PARAM_HANDLE an die DET und liefert E_NOT_OK [SWS_CryIf_00133] [SWS_CryIf_00134]. Daneben bietet der CryIf synchrone Funktionen zum Setzen, Gültig- und Ungültigsetzen, Lesen, Erzeugen, Ableiten, Austauschen und Kopieren von Schlüsseln. Liegen beim Teilkopieren Quelle und Ziel in verschiedenen Treibern, liest der CryIf das Element und schreibt es selbst ins Ziel [SWS_CryIf_00140].

Entwicklungsfehler wie CRYIF_E_UNINIT oder CRYIF_E_PARAM_POINTER gehen an die DET [SWS_CryIf_00009]. Laufzeitfehler wie CRYPTO_E_BUSY oder CRYPTO_E_KEY_NOT_VALID kommen als Rückgabewerte zurück [SWS_CryIf_91020]. Spätere Releases weichen von R20-11 ab: Sie vereinheitlichen CRYIF_E_PARAM_HANDLE und legen CryIf_RandomSeed sowie CryIf_KeyGenerate auf synchron fest SWS CryIf S. 1.

Rolle des CryIf zwischen Crypto Service Manager und Crypto Driver

Das Crypto Interface (CryIf) liegt im Classic-Krypto-Stack in der ECU Abstraction Layer. Anwendungen fordern kryptografische Dienste über RTE und CSM an. Diese Anfragen laufen über logische Kanäle durch den CryIf zum Crypto Driver im MCAL und weiter zu dessen Hardware-Engines, etwa HW-AES und HW-RSA in einem HSM SWS CSM Abb. 7.4 S. 27. Ein Crypto Driver Object steht für eine unabhängige Krypto-„Einrichtung“ in Hardware oder Software, zum Beispiel einen AES-Beschleuniger oder eine RSA-Implementierung in Software SWS CSM S. 26. Der CryIf rechnet selbst nichts. Seine Funktionen leiten den jeweiligen Aufruf an das konfigurierte Crypto Driver Object weiter, so etwa [SWS_CryIf_91005], [SWS_CryIf_91007], [SWS_CryIf_91009] und [SWS_CryIf_91014].

Nach oben bietet der CryIf drei Gruppen von Schnittstellen:

Für einen Job im Zustand „ACTIVE“ ruft der CSM CryIf_ProcessJob auf und gibt dessen Rückgabewert unverändert weiter SWS CSM S. 22. Nach unten empfängt der CryIf über CryIf_CallbackNotification [SWS_CryIf_91013] die Abschlussmeldungen des Treibers SWS Crypto S. 27. Von anderen Modulen benötigt er Csm_CallbackNotification und Det_ReportRuntimeError [SWS_CryIf_91100], optional zusätzlich Det_ReportError [SWS_CryIf_91101].

kontext cluster_app Application Layer cluster_srv Service Layer cluster_ecu ECU Abstraction Layer cluster_mcal MCAL cluster_hw Microcontroller (HSM) app1 App1 (AES) rte RTE app1->rte app2 App2 (AES) app2->rte app3 App3 (RSA) app3->rte csm CSM Queue je Kanal rte->csm Krypto-Dienste cryif CryIf CryIfChannel csm->cryif CryIf_ProcessJob, CryIf_CancelJob, CryIf_Key… cryif->csm Csm_CallbackNotification crypto Crypto Driver Crypto Driver Objects cryif->crypto Weiterleitung je Kanal an Crypto Driver Object det DET cryif->det Det_ReportError, Det_ReportRuntimeError crypto->cryif CryIf_CallbackNotification hwaes HW-AES crypto->hwaes Kanal AES hwrsa HW-RSA crypto->hwrsa Kanal RSA

Kontextdiagramm: Der CryIf verbindet die CSM-Queues kanalweise mit den Crypto Driver Objects und meldet Ergebnisse an den CSM zurück. Quellen: SWS CSM Abb. 7.4 S. 27, [SWS_CryIf_91100], [SWS_CryIf_91013]

Kanäle, Konfiguration und Initialisierung

Ein Kanal ist der Weg von einer CSM-Queue über den CryIf zu einem Crypto Driver Object. Jede Queue des CSM ist genau einem Kanal zugeordnet; optional hat auch der Crypto Driver eine eigene Queue SWS CSM S. 26. Kanäle werden im Container CryIfChannel konfiguriert, mit Multiplizität 0..* und Pre-compile-Konfiguration in allen Varianten. Der Container enthält die Parameter CryIfChannelId und CryIfDriverObjectRef SWS CryIf S. 51. CryIfChannelId bestimmt, mit welchem Kanal eine CSM-Queue verbunden ist. Zur Laufzeit bezeichnet der Parameter channelId von [SWS_CryIf_91003] und [SWS_CryIf_91014] ebenfalls den Krypto-Kanal. Interpretation: CryIfDriverObjectRef dürfte den Kanal an das Crypto Driver Object binden, das die Aufträge dieses Kanals ausführt. Frage Q-5f8f778dc8552b7f (offen)

Vor jeder Nutzung ist CryIf_Init aufzurufen [SWS_CryIf_91000]. Die Funktion ist synchron und nicht reentrant. Sie erhält einen Zeiger auf die gewählte Konfiguration vom Typ CryIf_ConfigType, deren Inhalt implementierungsspezifisch ist [SWS_CryIf_91118] SWS CryIf S. 20. Für eine fehlgeschlagene Initialisierung sieht die Fehlerliste CRYIF_E_INIT_FAILED (0x01) vor [SWS_CryIf_00009]. CryIf_GetVersionInfo ist reentrant und liefert die Versionsinformation des Moduls [SWS_CryIf_91001].

Neben den Kanälen führt der CryIf eigene Schlüsselkennungen (cryIfKeyId). Er bildet sie auf die Schlüssel-IDs des zuständigen Treibers ab [SWS_CryIf_00133]. Nutzt ein Job eine Umleitung der Job-Verarbeitung (job processing redirection), passt der CryIf zusätzlich die eingehenden Schlüssel- und Schlüsselelement-Referenzen an die des Treibers an [SWS_CryIf_00136]. Ein Schlüssel besteht aus einem oder mehreren Schlüsselelementen, etwa Schlüsselmaterial, Initialisierungsvektor oder Seed SWS CSM S. 30.

Job-Verarbeitung von CryIf_ProcessJob bis zur Rückmeldung

Einzelaufruf und Streaming laufen über dieselbe Funktion CryIf_ProcessJob. Das Feld job->jobPrimitiveInputOutput.mode enthält die Betriebsmodi „START“, „UPDATE“ und „FINISH“, die sich kombinieren lassen. Ein vollständiger Dienst in einem einzigen Aufruf entspricht der Kombination aller drei Modi SWS CryIf S. 22. Die Funktion ist reentrant und arbeitet je nach Konfiguration synchron oder asynchron [SWS_CryIf_91003]. Die Zustandsübergänge eines Jobs vollzieht der Crypto Driver, nicht der CSM SWS CSM S. 22.

Im asynchronen Fall übergibt der Treiber nur die nötigen Informationen an die Primitive. Die Berechnung kann dann aus der Main-Funktion angestoßen werden. Nach Abschluss meldet der Treiber dem CryIf Job und Ergebnis über CryIf_CallbackNotification SWS Crypto S. 27. Diese Funktion ist synchron und nicht reentrant; der übergebene Job enthält eine Callback-ID, die ihn identifiziert [SWS_CryIf_91013]. Der CryIf meldet das Ende dann über Csm_CallbackNotification an den CSM; diese Funktion ist ausdrücklich für die darunterliegende Schicht CRYIF vorgesehen [SWS_CryIf_91100]. Ist das FINISH-Bit gesetzt, ruft der CSM den konfigurierten Callback auf SWS CSM S. 82.

Job-Verarbeitung über CryIf_ProcessJobCSMCryIfCrypto Driver ObjectDETCryIf_ProcessJob(channelId, job)Schlüssel-IDs prüfenund auf Treiber-IDs abbildenoptSchlüssel-ID außerhalb des BereichsCRYPTO_E_PARAM_HANDLE meldenE_NOT_OKCrypto_ProcessJob(…, job)altsynchron konfiguriertBerechnungErgebnis (E_OK / CRYPTO_E_…)Rückgabewert durchreichenasynchron konfiguriertRückgabewert der ÜbergabeRückgabewert durchreichenBerechnung,z. B. aus der Main-FunktionCryIf_CallbackNotification(job, result)Csm_CallbackNotification(job, result)

Sequenzdiagramm: Der CryIf prüft zuerst die Schlüssel-IDs und gibt den Job dann weiter. Das Ergebnis kommt entweder synchron als Rückgabewert oder asynchron über zwei Callback-Stufen zurück. Quellen: [SWS_CryIf_91003], [SWS_CryIf_00134], [SWS_CryIf_91013], [SWS_CryIf_91100], SWS Crypto S. 27

Laufende asynchrone Jobs und Streaming-Jobs lassen sich abbrechen. Der CSM entfernt den Job dazu aus seiner eigenen Queue oder ruft CryIf_CancelJob auf SWS CSM S. 80. CryIf_CancelJob ist synchron und reentrant und leitet den Abbruch an das konfigurierte Crypto Driver Object weiter. E_OK heißt, dass der Job entfernt wurde; E_NOT_OK heißt, dass das nicht möglich war [SWS_CryIf_91014] SWS CryIf S. 24. Die Dokumentstellen späterer Releases (R24-11/R25-11) nennen zusätzlich CRYPTO_E_JOB_CANCELED. In diesem Fall erfolgt der Abbruch erst beim nächsten geeigneten Verarbeitungsschritt und wird über einen negativen Abschluss-Callback gemeldet SWS CSM S. 80.

Abbruch eines JobsAnwendungCSMCryIfCrypto Driver ObjectCsm_CancelJob(job, mode)altJob noch in CSM-QueueJob aus eigener Queue entfernenJob bereits beim TreiberCryIf_CancelJob(channelId, job)Abbruch weiterleiten(Crypto_CancelJob)E_OK / E_NOT_OK(später auch CRYPTO_E_JOB_CANCELED)RückgabewertE_OK: CSM ruft den Abschluss-Callback des JobsCRYPTO_E_JOB_CANCELED: Abbruch beim nächstengeeigneten Schritt, negativer Abschluss-CallbackRückgabewert

Sequenzdiagramm: Ein Abbruch endet entweder schon in der CSM-Queue oder wird über den CryIf an das Crypto Driver Object weitergeleitet. Quellen: [SWS_CryIf_91014], SWS CSM S. 80, SWS CryIf S. 45

Schlüssel-IDs im Job abbilden und prüfen

Manche Jobs tragen einen Dienst der Schlüsselverwaltung: CRYPTO_KEYSETVALID, CRYPTO_KEYSETINVALID, CRYPTO_RANDOMSEED, CRYPTO_KEYGENERATE, CRYPTO_KEYDERIVE, CRYPTO_KEYEXCHANGECALCPUBVAL oder CRYPTO_KEYEXCHANGECALCSECRET. Für sie prüft der CryIf, ob job->jobPrimitiveInputOutput->cryIfKeyId und gegebenenfalls targetCryIfKeyId im gültigen Bereich liegen. Ist das der Fall, setzt er job->cryptoKeyId bzw. job->targetCryptoKeyId auf die Schlüssel-IDs des Treibers [SWS_CryIf_00133] [SWS_CryIf_00141]. Liegt die Quell-ID außerhalb des Bereichs, meldet CryIf_ProcessJob CRYPTO_E_PARAM_HANDLE an die DET und liefert E_NOT_OK [SWS_CryIf_00134]. Für CRYPTO_KEYDERIVE gilt dasselbe auch für die Ziel-ID [SWS_CryIf_00135].

Auch Primitive mit Schlüsselbezug werden geprüft. Bei CRYPTO_MACGENERATE, CRYPTO_MACVERIFY, CRYPTO_ENCRYPT, CRYPTO_DECRYPT, CRYPTO_AEADENCRYPT, CRYPTO_AEADDECRYPT, CRYPTO_RANDOMGENERATE, CRYPTO_SIGNATUREGENERATE und CRYPTO_SIGNATUREVERIFY wird job->jobPrimitiveInfo->cryIfKeyId auf den gültigen Bereich geprüft [SWS_CryIf_00143].

keyid start CryIf_ProcessJob(channelId, job) d1 Dienst der Schlüsselverwaltung? KEYSETVALID, KEYSETINVALID, RANDOMSEED, KEYGENERATE, KEYDERIVE, KEYEXCHANGECALCPUBVAL, KEYEXCHANGECALCSECRET start->d1 c1 jobPrimitiveInputOutput->cryIfKeyId im gültigen Bereich? d1->c1 ja d3 Primitive mit Schlüssel? MACGENERATE/-VERIFY, (AEAD)ENCRYPT/DECRYPT, RANDOMGENERATE, SIGNATUREGENERATE/-VERIFY d1->d3 nein d2 Dienst = CRYPTO_KEYDERIVE? c1->d2 ja err CRYPTO_E_PARAM_HANDLE an DET Rückgabe E_NOT_OK c1->err nein c2 targetCryIfKeyId im gültigen Bereich? d2->c2 ja map job->cryptoKeyId (ggf. job->targetCryptoKeyId) auf Treiber-Schlüssel-IDs setzen d2->map nein c2->map ja c2->err nein fwd An Crypto Driver Object des Kanals weiterleiten map->fwd c3 jobPrimitiveInfo->cryIfKeyId im gültigen Bereich? d3->c3 ja d3->fwd nein c3->err nein c3->fwd ja

Aktivitätsdiagramm: Der CryIf prüft die Schlüssel-IDs je nach Dienstart und bildet sie auf Treiber-IDs ab, bevor er den Job weiterleitet. Quellen: [SWS_CryIf_00133], [SWS_CryIf_00134], [SWS_CryIf_00135], [SWS_CryIf_00143]

Dieser Bereich hat sich zwischen den Releases verändert. R20-11 nennt in den Prüfungen CRYPTO_E_PARAM_HANDLE, die Fehlerliste des Moduls definiert dagegen CRYIF_E_PARAM_HANDLE (0x03) [SWS_CryIf_00009]. Laut Änderungshistorie wurde das erst in R22-11 auf CRYIF_E_PARAM_HANDLE vereinheitlicht SWS CryIf S. 1. Mit derselben Änderung entfielen die Rückgabewerte nach DET-Meldungen. Außerdem kam der Dienst CRYPTO_CUSTOM hinzu, der in der späteren Dokumentstelle bereits in der Liste steht SWS CryIf S. 23. Für R20-11 gelten die Requirements in der hier zitierten Form.

Schlüsselverwaltung: Material, Status, Erzeugung und Austausch

Die direkten Schlüssel-APIs sind synchron. Nicht reentrant sind CryIf_KeyElementSet [SWS_CryIf_91004], CryIf_KeySetValid [SWS_CryIf_91005], CryIf_KeySetInvalid [SWS_CryIf_91021] und CryIf_KeyGetStatus [SWS_CryIf_91012]. Die Funktionalität für den Schlüsselstatus kam laut Änderungshistorie mit R20-11 hinzu SWS CryIf S. 1. Schlägt das Setzen eines Elements fehl, gilt sein Status laut CSM-Spezifikation als unbekannt SWS CSM S. 62. Er lässt sich mit Csm_KeyGetStatus prüfen, das seinerseits CryIf_KeyGetStatus aufruft SWS CSM S. 63.

CryIf_KeyElementGet ist reentrant [SWS_CryIf_91006]. Der Parameter resultLengthPtr dient als Ein- und Ausgabe. Beim Aufruf enthält er die Puffergröße; bei Elementen mit Teilzugriff stattdessen die Menge, die gelesen werden soll. Nach Abschluss enthält er die tatsächlich abgelegte Datenmenge SWS CryIf S. 30.

schluesselstatus start Start gesetzt Elemente gesetzt (noch nicht gültig erklärt, Interpretation) start->gesetzt CryIf_KeyElementSet valid gültig (valid) gesetzt->valid CryIf_KeySetValid valid->valid Nutzung in Jobs, CryIf_KeyGetStatus invalid ungültig (invalid) valid->invalid CryIf_KeySetInvalid invalid->valid CryIf_KeySetValid invalid->invalid Nutzung scheitert: CRYPTO_E_KEY_NOT_VALID

Zustandsdiagramm: Ein Schlüssel wird nach dem Setzen seiner Elemente gültig erklärt und kann wieder ungültig gesetzt werden. Bei ungültigem Schlüssel scheitern Operationen mit CRYPTO_E_KEY_NOT_VALID. Der Ausgangszustand vor CryIf_KeySetValid ist eine Interpretation. Quellen: [SWS_CryIf_91004], [SWS_CryIf_91005], [SWS_CryIf_91021], [SWS_CryIf_91012], SWS CSM S. 70

Zur Schlüsselerzeugung liefert CryIf_RandomSeed [SWS_CryIf_91007] die Startwerte, und CryIf_KeyGenerate [SWS_CryIf_91008] erzeugt den Schlüssel. Laut CSM-Spezifikation entsteht der Schlüssel im Element CRYPTO_KE_KEYGENERATE_KEY. Grundlage sind der Seed in CRYPTO_KE_KEYGENERATE_SEED und der Algorithmus in CRYPTO_KE_KEYGENERATE_ALGORITHM SWS CSM S. 67. In R20-11 arbeiten beide Funktionen je nach Konfiguration synchron oder asynchron [SWS_CryIf_91007] [SWS_CryIf_91008]. Erst R21-11 legt sie auf synchron fest SWS CryIf S. 1. CryIf_KeyDerive ist synchron und reentrant und leitet aus einem Quellschlüssel einen Schlüssel ab, der im Zielschlüssel abgelegt wird [SWS_CryIf_91009] SWS CryIf S. 42.

Für den Diffie-Hellman-Schlüsselaustausch gibt es zwei Funktionen. CryIf_KeyExchangeCalcPubVal [SWS_CryIf_91010] berechnet den eigenen öffentlichen Wert. CryIf_KeyExchangeCalcSecret [SWS_CryIf_91011] berechnet aus dem Wert des Partners das gemeinsame Geheimnis. Das Schlüsselmaterial liegt in den Elementen CRYPTO_KE_KEYEXCHANGE_BASE, CRYPTO_KE_KEYEXCHANGE_PRIVKEY und CRYPTO_KE_KEYEXCHANGE_OWNPUBKEY SWS CSM S. 70. Der Treiber legt das Geheimnis als Element im selben Schlüssel ab SWS Crypto S. 84. Interpretation: Auch bei den direkten Schlüssel-APIs dürfte der CryIf die cryIfKeyId wie im Job-Pfad auf die Schlüssel-ID des Treibers abbilden [SWS_CryIf_00133]. Frage Q-f146ad33e972fa97 (offen)

Schlüsselaustausch über den CryIfAnwendung / CSMCryIfCrypto Driver ObjectKommunikationspartnerUse Case: Eigenen öffentlichen Wert berechnenCryIf_KeyExchangeCalcPubVal(cryIfKeyId,publicValuePtr, publicValueLengthPtr)an konfiguriertes Crypto Driver Object weiterleitenöffentlicher Wert, Rückgabewertöffentlicher Wert, RückgabewertUse Case: Austausch außerhalb des CryIfeigenen öffentlichen Wert sendenöffentlichen Wert des Partners sendenUse Case: Gemeinsames Geheimnis berechnenCryIf_KeyExchangeCalcSecret(cryIfKeyId,partnerPublicValuePtr, partnerPublicValueLength)Crypto_KeyExchangeCalcSecret(…)Geheimnis als Schlüsselelementim selben Schlüssel ablegenRückgabewertRückgabewert

Sequenzdiagramm: Der Schlüsselaustausch läuft in zwei CryIf-Aufrufen. Dazwischen tauscht die Anwendung die öffentlichen Werte außerhalb des CryIf mit dem Partner aus. Quellen: [SWS_CryIf_91010], [SWS_CryIf_91011], SWS CSM S. 70, SWS Crypto S. 84

Kopieren von Schlüsseln innerhalb und zwischen Crypto Drivers

Für Kopien gibt es CryIf_KeyElementCopy [SWS_CryIf_91015], CryIf_KeyCopy [SWS_CryIf_91016] und CryIf_KeyElementCopyPartial [SWS_CryIf_91018]. Alle drei sind synchron und reentrant, aber nicht für dieselbe cryIfKeyId. Neben E_OK und E_NOT_OK können sie unter anderem CRYPTO_E_KEY_READ_FAIL, CRYPTO_E_KEY_WRITE_FAIL, CRYPTO_E_KEY_SIZE_MISMATCH und CRYPTO_E_KEY_EMPTY zurückgeben SWS CryIf S. 35.

Beim Teilkopieren unterscheidet die Spezifikation zwei Fälle:

  • Quell- und Zielschlüssel liegen im selben Crypto Driver: Der CryIf ruft Crypto_<vi>_<ai>_KeyElementCopyPartial() des zugeordneten Treibers auf und gibt dessen Rückgabewert weiter [SWS_CryIf_00139].
  • Die Schlüssel liegen in verschiedenen Treibern: Der CryIf liest das Element mit Crypto_<vi>_<ai>_KeyElementGet(), kopiert die Teildaten an ihr Ziel und schreibt das Zielelement mit Crypto_<vi>_<ai>_KeyElementSet() [SWS_CryIf_00140].

Die Kopierfunktionen der Treiber sind optionale Schnittstellen. Liegt ein Element direkt im Flash, kann ein Aufruf deutlich länger dauern SWS CryIf S. 45.

copypartial start CryIf_KeyElementCopyPartial(…) fehler Fehler durch CryIf erkannt? start->fehler abbruch keine Weiterleitung (siehe Verhalten im Fehlerfall) fehler->abbruch ja gleich cryIfKeyId und targetCryIfKeyId im selben Crypto Driver? fehler->gleich nein ende Ende abbruch->ende partial Crypto_<vi>_<ai>_KeyElementCopyPartial() aufrufen, Rückgabewert durchreichen gleich->partial ja lesen Quellelement mit Crypto_<vi>_<ai>_KeyElementGet() lesen gleich->lesen nein partial->ende kopieren Teildaten an Zielposition kopieren lesen->kopieren schreiben Zielelement mit Crypto_<vi>_<ai>_KeyElementSet() schreiben kopieren->schreiben schreiben->ende

Aktivitätsdiagramm: Ob der CryIf direkt an den Treiber delegiert oder selbst über Lesen und Schreiben kopiert, hängt davon ab, ob die Schlüssel im selben Treiber liegen. Quellen: [SWS_CryIf_00139], [SWS_CryIf_00140]

Verhalten im Fehlerfall

Entwicklungsfehler meldet der CryIf an die DET. Die Fehlerliste des Moduls umfasst [SWS_CryIf_00009]:

FehlercodeWertAnlass
CRYIF_E_UNINIT0x00API-Aufruf vor der Initialisierung
CRYIF_E_INIT_FAILED0x01Initialisierung fehlgeschlagen
CRYIF_E_PARAM_POINTER0x02Nullzeiger als Parameter
CRYIF_E_PARAM_HANDLE0x03Parameter außerhalb des Bereichs
CRYIF_E_PARAM_VALUE0x04ungültiger Parameterwert
CRYIF_E_KEY_SIZE_MISMATCH0x05Größe von Quell- und Zielelement passt nicht

Die Meldung von CRYIF_E_UNINIT vor der Initialisierung ist für mehrere Funktionen belegt: CryIf_KeyDerive SWS CryIf S. 42, CryIf_RandomSeed SWS CryIf S. 37, CryIf_CancelJob SWS CryIf S. 24, CryIf_KeyGetStatus SWS CryIf S. 29 und CryIf_CallbackNotification SWS CryIf S. 44. Für die übrigen Dienste dürfte vermutlich dasselbe gelten. Frage (offen) Weitere Prüfungen sind ebenfalls belegt. CryIf_CancelJob meldet CRYIF_E_PARAM_HANDLE bei einer unzulässigen channelId, CryIf_KeyGetStatus bei einer unzulässigen cryIfKeyId. CryIf_CallbackNotification prüft ihren Zeiger und meldet gegebenenfalls CRYIF_E_PARAM_POINTER SWS CryIf S. 44.

Laufzeitfehler kommen als Rückgabewerte aus dem Treiber. Der CryIf gibt sie weiter, wie es etwa [SWS_CryIf_00139] für das Teilkopieren festlegt. Der CSM reicht den Rückgabewert von CryIf_ProcessJob seinerseits weiter SWS CSM S. 22. Der Wertebereich umfasst unter anderem [SWS_CryIf_91020]:

  • CRYPTO_E_BUSY (0x02): Dienst noch beschäftigt
  • CRYPTO_E_ENTROPY_EXHAUSTED (0x04)
  • CRYPTO_E_KEY_READ_FAIL (0x06)
  • CRYPTO_E_KEY_WRITE_FAIL (0x07)
  • CRYPTO_E_KEY_NOT_AVAILABLE (0x08)
  • CRYPTO_E_KEY_NOT_VALID (0x09)

Ist eine CSM-Queue voll, weist bereits der CSM den Auftrag mit CRYPTO_E_BUSY ab SWS CSM S. 22.

Bei den Rückgabewerten lohnt ein Blick in die Release-Historie. CRYPTO_E_QUEUE_FULL wurde erst mit R23-11 aus [SWS_CryIf_91003] entfernt. CRYPTO_E_KEY_EMPTY kam für CryIf_RandomSeed erst in R24-11 hinzu SWS CryIf S. 1. Für R20-11 sind daher die API-Requirements dieses Releases maßgeblich, nicht die später datierten Dokumentstellen.

Weiterführende Detailbelege

KI-generierter Leitfaden auf Grundlage der Requirements aus R20-11 und der zugeordneten Dokumentstellen, die teilweise aus späteren Releases stammen. Maßgeblich ist die AUTOSAR-Spezifikation.

Crypto Interface (CryIf)

Abstracts cryptographic hardware and software acceleration engines.

Funktionen — Übersicht

Typen — Übersicht

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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 2b39ab06c8cb Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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_ProcessJob [SWS_CryIf_91003] 📄 PDF

Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);

Service CryIf_ProcessJob.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7b2b73dd3704 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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->service auf CRYPTO_KEYSETVALID, CRYPTO_KEYSETINVALID, CRYPTO_RANDOMSEED, CRYPTO_KEYGENERATE, CRYPTO_KEYDERIVE, CRYPTO_KEYEXCHANGECALCPUBVAL oder CRYPTO_KEYEXCHANGECALCSECRET gesetzt ist, muss job->cryIfKeyId im gültigen Wertebereich liegen [SWS_CryIf_00134]. Andernfalls meldet die Funktion den Fehler CRYPTO_E_PARAM_HANDLE an das DET und bricht mit E_NOT_OK ab [SWS_CryIf_00134].
  • Wird der Dienst CRYPTO_KEYDERIVE angefordert, muss zusätzlich der Zielschlüsselbezeichner job->cryIfTargetKeyId im gültigen Bereich liegen; andernfalls wird ebenfalls CRYPTO_E_PARAM_HANDLE an das DET gemeldet und E_NOT_OK zurü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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: feb9ccdcc6c2 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b1d8a6a46a48 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f4147bfa82e2 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: de4f767c5cce Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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 cryIfKeyId vom Typ uint32 wird 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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 5bef488620f3 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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 Typ Crypto_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]:

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: ab8ed66ea380 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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]:

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 98ca892724e4 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 1703918a24fa Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e2c4b04b20c3 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: cb0539e3124c Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: d582a843edfa Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e0c725352dab Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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 hat CRYPTO_E_BUSY gemeldet [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

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 5f03ab0336af Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: ecfeb27c89f0 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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]:

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 781636a3f50e Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

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.

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

Initialisierung und Status

Returns the version information of this module.

void CryIf_GetVersionInfo (Std_VersionInfoType* versioninfo);
CryIf_Init function

Initializes the CRYIF module. AUTOSAR CP R20 - of Document ID : AUTOSAR_SWS_CryptoInterface

void CryIf_Init (const CryIf_ConfigType* configPtr);

Dienste · KeyElement…

Service CryIf_KeyElementCopy.

Std_ReturnType CryIf_KeyElementCopy (uint32 cryIfKeyId, uint32 keyElementId, uint32 targetCryIfKeyId, uint32 targetKeyElementId);

Service CryIf_KeyElementCopyPartial.

Std_ReturnType CryIf_KeyElementCopyPartial (uint32 cryIfKeyId, uint32 keyElementId, uint32 keyElementSourceOffset, uint32 keyElementTargetOffset, uint32 keyElementCopyLength, uint32 targetCryIfKeyId, uint32 targetKeyElementId);

This function shall dispatch the get key ele ment function to the configured crypto driver object.

Std_ReturnType CryIf_KeyElementGet (uint32 cryIfKeyId, uint32 keyElementId, uint8* resultPtr, uint32* resultLengthPtr);

This function shall dispatch the set key element function to the configured crypto driver object.

Std_ReturnType CryIf_KeyElementSet (uint32 cryIfKeyId, uint32 keyElementId, const uint8* keyPtr, uint32 keyLength);

Dienste · Key…

CryIf_KeyCopy function

This function shall co py all key elements from the source key to a target key.

Std_ReturnType CryIf_KeyCopy (uint32 cryIfKeyId, uint32 targetCryIfKeyId);

This function shall dispatch th e key derive function to the configured crypto driver object.

Std_ReturnType CryIf_KeyDerive (uint32 cryIfKeyId, uint32 targetCryIfKeyId);

This function shall dispatch the key exchange public value calculation function to the configured crypto driver object. Available

Std_ReturnType CryIf_KeyExchangeCalcPubVal (uint32 cryIfKeyId, uint8* publicValuePtr, uint32* publicValueLengthPtr);

This function shall dispatch the key exchange common shared secret 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 generate function to the configured crypto driver object.

Std_ReturnType CryIf_KeyGenerate (uint32 cryIfKeyId);

Returns the key state of the key identified by cry If Key Id.

Std_ReturnType CryIf_KeyGetStatus (uint32 cryIfKeyId, Crypto_KeyStatusType* keyStatusPtr);

Sets invalid for the status of the key identifi ed by cry If Key Id.

Std_ReturnType CryIf_KeySetInvalid (uint32 cryIfKeyId);

This function shall dispatch the set key valid function to the configured crypto driver object.

Std_ReturnType CryIf_KeySetValid (uint32 cryIfKeyId);

Dienste · Weitere

Notifies the CRYIF about the completion of the request with the result of the cryptographic operation.

void CryIf_CallbackNotification (Crypto_JobType* job, Crypto_ResultType result);

This interface dispatches the job cancellation function to the configured crypto driver object.

Std_ReturnType CryIf_CancelJob (uint32 channelId, Crypto_JobType* job);

Service CryIf_ProcessJob.

Std_ReturnType CryIf_ProcessJob (uint32 channelId, Crypto_JobType* job);

This function shall dispatch the random seed function to the configured crypto driver object.

Std_ReturnType CryIf_RandomSeed (uint32 cryIfKeyId, const uint8* seedPtr, uint32 seedLength);

Typen

Configuration data structure of Cry If module